diff --git a/xsession/bin/lupan-set-theme b/xsession/bin/lupan-set-theme index e6f4ff4..ac1e7d7 100755 --- a/xsession/bin/lupan-set-theme +++ b/xsession/bin/lupan-set-theme @@ -23,8 +23,8 @@ fi pkill -USR1 '^dwm$' -XRES=$(readlink -e ~/.Xresources) -if [ -n "$XRES" ]; then +XRES=$(readlink -f ~/.Xresources) +if [ -f "$XRES" ]; then if [ "$THEME" = dark ]; then sed -i 's/^#undef THEME_DARK/#define THEME_DARK/' "$XRES" elif [ "$THEME" = light ]; then @@ -35,11 +35,11 @@ if [ -n "$XRES" ]; then fi # Alacritty -AYML=$(readlink -e ~/.config/alacritty/alacritty.yml) -if [ -n "$AYML" ]; then +AYML=$(readlink -f ~/.config/alacritty/alacritty.yml) +if [ -f "$AYML" ]; then sed -i "s/^colors: [*].*/colors: *$THEME/" "$AYML" fi -ATOML=$(readlink -e ~/.config/alacritty/alacritty.toml) +ATOML=$(readlink -f ~/.config/alacritty/alacritty.toml) if [ -f "$ATOML" ]; then sed -i "s#^import =.*#import = [\"~/.config/alacritty/$THEME.toml\"]#" "$ATOML" fi @@ -52,27 +52,27 @@ elif [ "$THEME" = light ]; then fi # Foot -FOOT=$(readlink -e ~/.config/foot/foot.ini) -if [ -n "$FOOT" ]; then +FOOT=$(readlink -f ~/.config/foot/foot.ini) +if [ -f "$FOOT" ]; then sed -i "s/^initial-color-theme .*/initial-color-theme = $THEME/" "$FOOT" fi # GTK -XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf) -if [ -n "$XSET" ]; then +XSET=$(readlink -f ~/.config/xsettingsd/xsettingsd.conf) +if [ -f "$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 # niri -NIRI=$(readlink -e ~/.config/niri/config.kdl) -if [ -n "$NIRI" ]; then +NIRI=$(readlink -f ~/.config/niri/config.kdl) +if [ -f "$NIRI" ]; then sed -i -E "s%^(include) \"(dark|light).kdl\".*%\\1 \"${THEME}.kdl\"%" "$NIRI" fi # waybar -WCSS=$(readlink -e ~/.config/waybar/style.css) +WCSS=$(readlink -f ~/.config/waybar/style.css) if [ -f "$WCSS" ]; then sed -i -E "s#file:///.*/(light|dark)[.]css#file://$HOME/.config/waybar/$THEME.css#" "$WCSS" killall -SIGUSR2 waybar