aboutsummaryrefslogtreecommitdiff

autodarkmode

A simple tool to switch between dark and light mode.

It executes a command on switch and nothing else.

Location is either specified by the user or retrieved via geoclue.

It has a constant memory footprint of about 393kb.

Building

meson setup _build
cd build
meson compile

the resulting binary src/autodarkmode can then be moved to any directory in PATH.

Configuration

[main]
; can be 'manual' or 'gclue'
locationtype = "manual"

[manual]
; set latitude and longitude in case that locationtype is set to manual
latitude = -10.0
longitude = -5.0

[light]
; command to execute for light mode
cmd = "notify-send 'a'"

[dark]
; command to execute for dark mode
cmd = "notify-send 'b'"

autodarkmode expects to find this configuration in $XDG_CONFIG_HOME/autodarkmode/config.ini, in the case that XDG_CONFIG_HOME is empty, it will use ~/.config/autodarkmode/config.ini

Misc files

the misc folder contains various scripts/examples that can make setting up autodarkmode easier.

the autodarkmode.service file is a systemd service that can be put in ~/.config/systemd/user/ and enabled through systemctl --user enable autodarkmode to make it automatically launch on login.

the light_<desktop>.sh and dark_<desktop>.sh scripts are already finished scripts that work for the desktop they are made for, they can be extended or just used as is.