diff options
| author | Mitchell Riedstra <mitch@riedstra.dev> | 2025-11-27 01:08:37 -0500 |
|---|---|---|
| committer | Mitchell Riedstra <mitch@riedstra.dev> | 2025-11-27 01:08:37 -0500 |
| commit | 488dec64b403ae4aba65cad0e46b4d2767f0b2dd (patch) | |
| tree | a12d6319d4706fdfb25b5938fe76d1c2a9711482 /river/theme_helper | |
| parent | a9f6e9b1f1c0e4f0a628954e3427bf5020d486c0 (diff) | |
| download | rivercfg-488dec64b403ae4aba65cad0e46b4d2767f0b2dd.tar.gz rivercfg-488dec64b403ae4aba65cad0e46b4d2767f0b2dd.tar.xz | |
Automatic light/dark mode switching. What a pain.
Diffstat (limited to 'river/theme_helper')
| -rwxr-xr-x | river/theme_helper | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/river/theme_helper b/river/theme_helper new file mode 100755 index 0000000..398910d --- /dev/null +++ b/river/theme_helper @@ -0,0 +1,43 @@ +#!/bin/sh +set -ex +exec >/tmp/theme.log 2>&1 +XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" +conf="$XDG_CONFIG_HOME/river/theme_conf" + +gnomeSet() { + gsettings set org.gnome.desktop.interface color-scheme "$1" +} + +bgcolor_dark=0x282828 +bgcolor_light=0xfbf1c7 + +if ! [ -e "$conf" ] ; then +cat > "$conf" <<EOF +mode=light +EOF +fi + +. "$conf" + +case $mode in + light) + mode=dark + gnomeSet 'prefer-dark' + # Because GTK is an absolute disaster... + gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark + pkill -SIGUSR1 foot + riverctl background-color "$bgcolor_dark" + ;; + dark) + mode=light + gnomeSet 'prefer-light' + gsettings set org.gnome.desktop.interface gtk-theme Adwaita + pkill -SIGUSR2 foot + riverctl background-color "$bgcolor_light" + ;; +esac + +cat > "$conf" <<EOF +mode=$mode +EOF + |
