41 lines
1.1 KiB
Bash
Executable File
41 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
THEME="$1"
|
|
|
|
if [ "$THEME" = "toggle" ]; then
|
|
if grep Materia-dark ~/.config/xsettingsd/xsettingsd.conf > /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
|
|
|
|
# Alacritty
|
|
if [ -f ~/.config/alacritty/alacritty.yml ]; then
|
|
sed -i "s/^colors: [*].*/colors: *$THEME/" ~/.config/alacritty/alacritty.yml
|
|
fi
|
|
if [ -f ~/.config/alacritty/alacritty.toml ]; then
|
|
sed -i "s#^import =.*#import = [\"~/.config/alacritty/$THEME.toml\"]#" ~/.config/alacritty/alacritty.toml
|
|
fi
|
|
|
|
# GTK
|
|
if [ -f ~/.config/xsettingsd/xsettingsd.conf ]; then
|
|
sed -i -E "s#(Net/ThemeName) .*#\\1 \"${GTK_THEME}\"#" ~/.config/xsettingsd/xsettingsd.conf
|
|
pkill -HUP -x xsettingsd
|
|
gsettings set org.gnome.desktop.interface gtk-theme "${GTK_THEME}"
|
|
fi
|
|
|
|
# waybar
|
|
if [ -f ~/.config/waybar/style.css ]; then
|
|
sed -i -E "s#file:///.*/(light|dark)[.]css#file://$HOME/.config/waybar/$THEME.css#" ~/.config/waybar/style.css
|
|
fi
|