From 3292d6b30ede78a4429a663bee0f3c78c66d52f7 Mon Sep 17 00:00:00 2001 From: adam <56338480+adastx@users.noreply.github.com> Date: Sun, 9 Oct 2022 19:04:36 +0200 Subject: script: 'scheme' for switching between light/dark modes --- .local/bin/scheme | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 .local/bin/scheme (limited to '.local/bin') diff --git a/.local/bin/scheme b/.local/bin/scheme new file mode 100755 index 0000000..4708316 --- /dev/null +++ b/.local/bin/scheme @@ -0,0 +1,58 @@ +#!/bin/bash + +main () { + case "$1" in + d|dark) + set_scheme dark ;; + l|light) + set_scheme light ;; + *) + echo "usage: scheme [dark|light]" ;; + esac +} + +set_scheme () { + if [[ $1 == "dark" ]]; then + GTK_THEME=$(<$XDG_CONFIG_HOME/scheme/gtk-theme-dark) + QT_THEME=$(<$XDG_CONFIG_HOME/scheme/qt-theme-dark) + TERM_THEME=$(<$XDG_CONFIG_HOME/scheme/term-theme-dark) + FZF_COLOR=dark + PREFER_DARK="true" + PREFER_DARK_STR="prefer-dark" + else + GTK_THEME=$(<$XDG_CONFIG_HOME/scheme/gtk-theme-light) + QT_THEME=$(<$XDG_CONFIG_HOME/scheme/qt-theme-light) + TERM_THEME=$(<$XDG_CONFIG_HOME/scheme/term-theme-light) + FZF_COLOR=light + PREFER_DARK="false" + PREFER_DARK_STR="prefer-light" + fi + + sed -ir "s|^colors: .*$|colors: $TERM_THEME|" $XDG_CONFIG_HOME/alacritty/alacritty.yml + + sed -ir "s|theme=.*$|theme=$QT_THEME|" \ + $XDG_CONFIG_HOME/Kvantum/kvantum.kvconfig + + sed -ir "s|gtk-theme-name=.*$|gtk-theme-name=\"$GTK_THEME\"|" \ + $XDG_CONFIG_HOME/gtk-2.0/gtkrc + + sed -ir \ + -e "s|gtk-theme-name=.*$|gtk-theme-name=$GTK_THEME|" \ + -e "s|gtk-application-prefer-dark-theme=.*$|gtk-application-prefer-dark-theme=$PREFER_DARK|" \ + $XDG_CONFIG_HOME/gtk-3.0/settings.ini \ + $XDG_CONFIG_HOME/gtk-4.0/settings.ini + + gsettings set org.gnome.desktop.interface color-scheme $PREFER_DARK_STR + gsettings set org.gnome.desktop.interface gtk-theme $GTK_THEME + gsettings set org.gnome.desktop.wm.preferences theme $GTK_THEME + + echo -n $FZF_COLOR > $XDG_CONFIG_HOME/scheme/fzf-color + + # todo: + # - send nvim clients theme update + # - delta ? + # - restart firefox ? + # - restart thunderbird ? +} + +main "$@" -- cgit v1.2.3-70-g09d2