Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

liischte-lib

This is the underlying library of data sources powering liischte. It implements all the data providers that liischte uses to show useful information to the user. The implementations here are designed to be as lightweight as possible and to make use of the benefit that we have a full programming language and don't have to fall back to running some shell commands.

The liischte-lib provides its data throught a strictly async api, and produces asynchronous streams for events. This means it is fully ui toolkit independent and has no ties to iced or any related projects. So you can use the liischte-lib even if you intend to use a completely different ui framework, given you can adapt the asynchronous api to work with it.

Note that this lib has been explicitly written for liischte, so it only contains stuff that liischte actually uses. If your application requires additional stuff or attributes not implemented here, this is probably not the right library for you.

included features

Here are the features that the liischte-lib already implements. They all correspond to a cargo feature of the same name and are enabled by default. So you can disable the default feature and only enable the ones you really need.

  • power: Battery and ac status of the system. Uses the sysfs to obtain the data and listens to udev events for reactive updates.
  • hyprland: Workspace information about a running hyprland instance. Uses hyprland's IPC to obtain and react to the latest changes. Does NOT depend on hyprland-rs.
  • pipewire: Audio device info and events. Uses libpipewire to interface with pipewire natively and independent of session manager.
  • networkmanager: Network connection status and change events. Uses the NetworkManager dbus interface and provides only as much info as needed.
  • modemmanager: Modem signal strength information and changes. This is an extension on the networkmanager feature which can be used to track signal strength of a cellular connection. Uses the ModemManager dbus interface.
  • process: Lists currently running processes of the system. Uses the procfs directly with no additional libraries. For updates, polling is used.
  • backlight: Backlight information for the system's integrated displays. Uses the sysfs to obtain the data and listens to udev events for reactive updates.
  • mako: Get and set modes of mako. Uses mako's dbus interface.