What I just pushed
lumos is a command line tool that reads and sets your display brightness. It works on a laptop panel and on an external monitor. The code is at https://github.com/kleinpanic/lumos.
How it talks to the screen
For an internal panel it uses /sys/class/backlight. For an external monitor it speaks DDC/CI over /dev/i2c-* or /dev/drm_dp_aux*. It is C, with X11 and libi2c, and libdrm if you have it.
What it does
- -r prints the brightness in a human readable form, and -m prints it for scripts
- -a up or -a down moves the brightness 10 percent
- -s VALUE sets it by percent, and adding -R makes the value raw
- an X11 popup shows the change, and -n turns the popup off
- -P persists the default backlight
- --profile-new and --profile-load are a skeleton for profiles
Install
sudo apt install build-essential pkg-config libx11-dev \
libi2c-dev linux-headers-$(uname -r) libdrm-dev
make && sudo make install
That puts lumos in /usr/local/bin.
What is not done
This first version does not set up permissions for you.
The profile flags are only a skeleton. Do not expect much from them yet.
The code started life under the name brightness. The man page in this commit is still docs/brightness.1, and brightness.h is still in the tree. I renamed things to lumos around the first push and have not finished the cleanup.
There is no tag and no version string in the source.
P.S Thanks for reading. Consider subbing to the RSS feed.
Klein Panic