124 lines
3.2 KiB
Bash
124 lines
3.2 KiB
Bash
#!/bin/sh
|
|
|
|
CMD="$1"
|
|
shift
|
|
|
|
if [ "$CMD" = theme -a "$1" = next ]; then
|
|
case $(bspc config focused_border_color) in
|
|
'#23aba4') THEME=dark-blue ;;
|
|
'#3585ce') THEME=light ;;
|
|
'#068c70') THEME=material-dark ;;
|
|
'#78909c') THEME=material-light ;;
|
|
*) THEME=dark ;;
|
|
esac
|
|
elif [ "$CMD" = theme ] && [ "$1" = dark -o "$1" = dark-blue -o "$1" = light -o "$1" = material-light -o "$1" = material-dark ]; then
|
|
THEME="$1"
|
|
else
|
|
case $(bspc config focused_border_color) in
|
|
'#3585ce') THEME=dark-blue ;;
|
|
'#068c70') THEME=light ;;
|
|
'#78909c') THEME=material-dark ;;
|
|
'#827717') THEME=material-light ;;
|
|
*) THEME=dark ;;
|
|
esac
|
|
fi
|
|
|
|
FONT=Iosevka:pixelsize=30
|
|
BAR_FONT='Iosevka:size=22:antialias=true:autohint=true;5'
|
|
BAR_HEIGHT=40
|
|
|
|
if [ "$THEME" = light ]; then
|
|
ROOT_BG=#c1e6c2
|
|
BAR_BG=#e1e6d2
|
|
BAR_FG=#1a343a
|
|
BAR_ACTIVE=#b0decc
|
|
BAR_URGENT=#9b0640
|
|
BAR_EMPTY=#b0b0b0
|
|
NORMAL_BORDER=#b0b0b0
|
|
FOCUS_BORDER=#068c70
|
|
EMACS_THEME=lupan-light
|
|
GTK_THEME=Materia-light
|
|
elif [ "$THEME" = material-light ]; then
|
|
ROOT_BG=#f0f4c3
|
|
BAR_BG=#f9fbe7
|
|
BAR_FG=#424242
|
|
BAR_ACTIVE=#dce775
|
|
BAR_URGENT=#9b0640
|
|
BAR_EMPTY=#bdbdbd
|
|
NORMAL_BORDER=#bdbdbd
|
|
FOCUS_BORDER=#827717
|
|
EMACS_THEME=lupan-material-light
|
|
GTK_THEME=Materia-light
|
|
elif [ "$THEME" = dark-blue ]; then
|
|
ROOT_BG=#404040
|
|
BAR_BG=#1a343a
|
|
BAR_FG=#f2f6e1
|
|
BAR_ACTIVE=#3585ce
|
|
BAR_URGENT=#9b0640
|
|
BAR_EMPTY=#808080
|
|
NORMAL_BORDER=#808080
|
|
FOCUS_BORDER=#3585ce
|
|
EMACS_THEME=lupan-dark-blue
|
|
GTK_THEME=Materia-dark
|
|
elif [ "$THEME" = material-dark ]; then
|
|
ROOT_BG=#37474f
|
|
BAR_BG=#263238
|
|
BAR_FG=#f2f6e1
|
|
BAR_ACTIVE=#78909c
|
|
BAR_URGENT=#9b0640
|
|
BAR_EMPTY=#9e9e9e
|
|
NORMAL_BORDER=#9e9e9e
|
|
FOCUS_BORDER=#78909c
|
|
EMACS_THEME=lupan-material-dark
|
|
GTK_THEME=Materia-dark
|
|
else
|
|
ROOT_BG=#404040
|
|
BAR_BG=#1a343a
|
|
BAR_FG=#f2f6e1
|
|
BAR_ACTIVE=#23aba4
|
|
BAR_URGENT=#9b0640
|
|
BAR_EMPTY=#808080
|
|
NORMAL_BORDER=#808080
|
|
FOCUS_BORDER=#23aba4
|
|
EMACS_THEME=lupan-dark
|
|
GTK_THEME=Materia-dark
|
|
fi
|
|
DMENU_ARGS="-nb ${BAR_BG} -nf ${BAR_FG} -sb ${BAR_ACTIVE} -sf ${BAR_FG} -fn $FONT"
|
|
|
|
set_theme() {
|
|
xrdb -merge <<EOF
|
|
polybar.background: ${BAR_BG}
|
|
polybar.foreground: ${BAR_FG}
|
|
polybar.active: ${BAR_ACTIVE}
|
|
polybar.urgent: ${BAR_URGENT}
|
|
polybar.empty: ${BAR_EMPTY}
|
|
polybar.font: ${BAR_FONT}
|
|
polybar.height: ${BAR_HEIGHT}
|
|
EOF
|
|
polybar-msg cmd restart
|
|
xsetroot -solid "${ROOT_BG}"
|
|
bspc config normal_border_color "${NORMAL_BORDER}"
|
|
bspc config focused_border_color "${FOCUS_BORDER}"
|
|
bspc config presel_feedback_color "${FOCUS_BORDER}"
|
|
sed -i "s/^colors: [*].*/colors: *$THEME/" ~/.config/alacritty/alacritty.yml
|
|
emacsclient --eval "(my-select-theme '${EMACS_THEME})"
|
|
sed -i -E "s#(Net/ThemeName) .*#\1 \"${GTK_THEME}\"#" ~/.config/xsettingsd/xsettingsd.conf
|
|
pkill -HUP -x xsettingsd
|
|
}
|
|
|
|
case "$CMD" in
|
|
theme)
|
|
set_theme
|
|
;;
|
|
dmenu|dmenu_run)
|
|
exec "$CMD" ${DMENU_ARGS} "$@"
|
|
;;
|
|
dmenu_window)
|
|
bspc node -f $(xtitle -f '%u %s\n' $(bspc query -N -n .window) \
|
|
| dmenu ${DMENU_ARGS} "$@" -l 20 -i -p Window: | cut -f 1 -d ' ')
|
|
;;
|
|
dmenu_theme)
|
|
sh "$0" theme $(echo -n 'dark\ndark-blue\nlight\nmaterial-light\nmaterial-dark\n' \
|
|
|dmenu ${DMENU_ARGS} "$@" -l 20 -p Theme:)
|
|
esac
|