toaruos/lib/README.md

85 lines
2.1 KiB
Markdown

# ToaruOS System Libraries
These are the core system libraries of ToaruOS. Where functionality isn't expected in the C standard library, these provide additional features that are shared by multiple ToaruOS applications.
## `toaru_auth`
Provides password validation and login helper methods. Exists primarily because `libc` doesn't have these things and there are multiple places where logins are checked (`login`, `glogin`, `sudo`, `gsudo`...).
## `toaru_button`
Renderer for button widgets. Not really a widget library at the moment.
## `toaru_confreader`
Implements a basic INI parser for use with configuration files.
## `toaru_decorations`
Client-side decoration library for the compositor. Supports pluggable decoration themes through additional libraries, which are named as `libtoaru_decor-...`.
## `toaru_graphics`
General-purpose 2D drawing and pixel-pushing library. Provides sprite blitting, rotation, scaling, etc.
## `toaru_hashmap`
Generic hashmap implementation. Also used by the kernel.
## `toaru_iconcache`
Convenience library for loading icons at specific sizes.
## `toaru_jpeg`
Minimal, incomplete JPEG decoder. Mostly used for providing wallpapers. Doesn't support most JPEG features.
## `toaru_kbd`
Keyboard scancode parser.
## `toaru_list`
Generic expandable linked list implementation.
## `toaru_markup`
XML-like syntax parser.
## `toaru_menu`
Menu widget library. Used for the "Applications" menu, context menus, etc.
## `toaru_pex`
Userspace library for using the ToaruOS "packetfs" subsystem, which provides packet-based IPC.
## `toaru_rline`
Replacement for `readline`. Mostly deprecated in favor of `rline_exp`.
## `toaru_rline_exp`
Replacement for `readline`, with support for syntax highlighting.
## `toaru_sdf`
Signed Distance Field text rendering library.
## `toaru_termemu`
Terminal ANSI escape processor.
## `toaru_textregion`
WIP library for providing multiline wrapping label widgets with rich text support.
## `toaru_tree`
Generic tree implementation. Also used by the kernel.
## `toaru_yutani`
Compositor client library, used to build GUI applications.