# References

The references of the libraries are annotated for the C language. Reading their
documentation will vary depending on the language they are used in.

<!--TODO: list some examples on how to read docs,-->
<!--for example the difference between C enums and gjs enums-->

## Astal Libraries

- [Apps](https://docs.astal.dev/apps): Library and cli tool for querying
  applications
- [Auth](https://docs.astal.dev/auth): Authentication library using PAM
- [Battery](https://docs.astal.dev/battery): DBus proxy library for upower
  daemon
- [Bluetooth](https://docs.astal.dev/bluetooth): Library to control bluez over
  dbus
- [Brightness](https://docs.astal.dev/brightness): Library and CLI tool to read
  and control device brightness
- [Cava](https://docs.astal.dev/cava): Audio visualizer library using cava
- [Greet](https://docs.astal.dev/greet): Library and CLI tool for sending
  requests to greetd
- [Hyprland](https://docs.astal.dev/hyprland): Library and cli tool for Hyprland
  IPC socket
- [Mpris](https://docs.astal.dev/mpris): Library and cli tool for controlling
  media players
- [Network](https://docs.astal.dev/network): NetworkManager wrapper library
- [Notifd](https://docs.astal.dev/notifd): A notification daemon library and cli
  tool
- [PowerProfiles](https://docs.astal.dev/powerprofiles): Library and cli to
  control upowerd powerprofiles
- [Quarrel](https://docs.astal.dev/quarrel): Library for parsing CLI arguments
  and defining subcommands
- [River](https://docs.astal.dev/river): Library and cli tool for getting status
  information of the river wayland compositor
- [Tray](https://docs.astal.dev/tray): A systemtray library and cli tool
- [WirePlumber](https://docs.astal.dev/wireplumber): A library for audio control
  using wireplumber

## Additional references

### GJS

- [gjs-docs.gnome.org](https://gjs-docs.gnome.org/): Library references
  annotated for GJS
- [gjs.guide](https://gjs.guide/): GJS and GObject guide

### Python

- [pgi-docs](https://lazka.github.io/pgi-docs/): Library references annotated
  for Python
- [pygobject.gnome.org](https://pygobject.gnome.org/): PyGObject reference and
  guide

### Lua

- [lua-lgi docs](https://github.com/lgi-devs/lgi/tree/master/docs): GObject
  bindings guide for Lua

### Vala

- [vala.dev](https://vala.dev/): Guide for the Vala language
- [valadoc.org](https://valadoc.org/): Library references annotated for Vala
