aboutsummaryrefslogtreecommitdiff
path: root/river/theme_helper
diff options
context:
space:
mode:
Diffstat (limited to 'river/theme_helper')
-rwxr-xr-xriver/theme_helper43
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
+