# Event Handler My custom event handler for battery related things. Here's a brief rundown of all the features: When the percentage gets below a specified percentage it will blink the specified led at any rate defined by the config file. Example: ![blink.mp4](./examples/blink.mp4 "blink.mp4") If the system is plugged in and a wayland session is running then the event handler will place an idle inhibitor on the session to keep the computer from going to sleep. The inhibitor is removed when the system is unplugged. > [!WARNING] > event-handler relies on [acpid](https://wiki.archlinux.org/title/Acpid) to > monitor battery events ensure you have it installed and running before using > event-handler ## Configuring I built event-handler to be used as a service independent of my current user and such event-handler does not read the configuration file from any default path. Instead it's up to you to choose where it is and pass the file's full path into event-handler like so: ```bash eh -c ./config.toml ``` The config is completely optional, however you will most likely need to as the default is setup for my framework 13 system running Void Linux. Below are the defaults: ### Default Config ```toml [battery] status_path = "/sys/class/power_supply/BAT1" power_source = "/sys/class/power_supply/ACAD/online" [led] brightness_path = "/sys/class/leds/input0::capslock/brightness" [led.blink] trigger_level = 15 timing_formula = "1.7 + 18.5 * exp(-0.29 * p)" # p is the percentage of the battery [acpi_daemon] socket_path = "/run/acpid.socket" ``` > [!NOTE] > The default formula may or may not work above 15 percent due to led > shenanigans. If you wish to craft your own formula all relevant notation may > be found in [this repo](https://github.com/codeplea/tinyexpr).