#!/usr/bin/env bash
#
# mostly stolen from jb55 https://github.com/jb55/bin/blob/master/themeswitch

usage () {
    printf "usage: xtheme <dark|light>\n"
    exit 1
}

STATE=~/.local/share/xtheme

CUR_XTHEME=$(cat $STATE)
NEW_XTHEME="$1"

# check
[ -z "$NEW_XTHEME" ] && usage
[ "$NEW_XTHEME" != "dark" ] && [ "$NEW_XTHEME" != "light" ] && usage
if [ "$NEW_XTHEME" == "$CUR_XTHEME" ]
then
    echo "xtheme: already $NEW_XTHEME"
    exit 1
fi

# set new theme
echo "$NEW_XTHEME" > $STATE

## application hooks

# switch terminal & xmonad theme
home-manager switch

# set emacs theme using emacsclient
exec emacsclient --eval "(bs/switch-theme 'auto)" &

# restart polybar
systemctl --user restart polybar &

wait