#!/bin/sh THEME="$1" XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf) if [ "$THEME" = "toggle" ]; then if grep Materia-dark "$XSET" > /dev/null; then THEME=light else THEME=dark fi fi if [ "$THEME" = dark ]; then GTK_THEME=Materia-dark elif [ "$THEME" = light ]; then GTK_THEME=Materia-light else echo "error: unknown theme: should be either dark, light or toggle" >&2 exit 1 fi XRES=$(readlink -e ~/.Xresources) if [ -n "$XRES" ]; then if [ "$THEME" = dark ]; then sed -i 's/^#undef THEME_DARK/#define THEME_DARK/' "$XRES" elif [ "$THEME" = light ]; then sed -i 's/^#define THEME_DARK/#undef THEME_DARK/' "$XRES" fi xrdb -merge "$XRES" killall -USR1 st fi # Alacritty AYML=$(readlink -e ~/.config/alacritty/alacritty.yml) if [ -n "$AYML" ]; then sed -i "s/^colors: [*].*/colors: *$THEME/" "$AYML" fi ATOML=$(readlink -e ~/.config/alacritty/alacritty.toml) if [ -f "$ATOML" ]; then sed -i "s#^import =.*#import = [\"~/.config/alacritty/$THEME.toml\"]#" "$ATOML" fi if [ "$THEME" = dark ]; then kitten themes --reload-in=all Afterglow elif [ "$THEME" = light ]; then kitten themes --reload-in=all One Half Light fi # GTK if [ -n "$XSET" ]; then sed -i -E "s#(Net/ThemeName) .*#\\1 \"${GTK_THEME}\"#" "$XSET" pkill -HUP -x xsettingsd gsettings set org.gnome.desktop.interface gtk-theme "${GTK_THEME}" fi # waybar WCSS=$(readlink -e ~/.config/waybar/style.css) if [ -f "$WCSS" ]; then sed -i -E "s#file:///.*/(light|dark)[.]css#file://$HOME/.config/waybar/$THEME.css#" "$WCSS" fi