Application that changes the backlight brightness of displays gradually

Hello fellow GNOME users!

So there’s the night light feature in GNOME, which I totally love, as I get way more sleepy at night without having all the blue light blasting into my eyes. When I found out that you can control some display’s brightness from software, I’ve always wanted the ability to also taper the brightness of the displays.

I’ve developed an app for GNOME called BrightnessManager, which does exactly that. It functions exactly like the night light feature of GNOME, but instead of changing the color of the screen, it changes the monitor’s brightness. I would love if someone would check out my app and report bugs, missing features and so on.

It would also be great if GNOME would implement something like this, as it really helps me get tired when working on a PC late at night without suddenly changing the brightness.

Anyway, here’s the project:

Thanks for any feedback!

Yay for new apps!

I noticed your app needs to be run as root (with sudo). This usually makes an application much harder to distribute, specially nowadays with Flatpak. If you manage to overcome the permission limitation, you should look into publishing your app on, this way users can easily find it. There are various small apps on Flathub!

I didn’t check deeply to see if your app does something else other than tweak the screen brightness value, but if that’s the only thing you want to change, there’s a DBus API you could use. You can try with:

gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.freedesktop.DBus.Properties.Set org.gnome.SettingsDaemon.Power.Screen Brightness "<int32 42>"

Which sets the brightness to 42. :slight_smile:

You can consume DBus with the GLib APIs Gio – 2.0

Well thank you very much for the tips, I use flatpak but it hasn’t come to mind to publish it there!
The gdbus command only works for screens where GNOME can change the brightness like on laptops AFAIK (which I will implement, so thanks!). But my application changes the brightness of screens over DDC, where usually the only method to change it is via the awful buttons on the monitor itself.

I tried very hard not having to use superuser privileges, but that is the only way I found to access the /dev/i2c-x devices. Maybe someone can point me in the right direction…

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.