Files
nix/hosts/common/configs/user/gui/theme/theme.sh
Nikolaos Karaolidis d967d5d603 Add zsh completions
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-01-10 16:35:58 +00:00

61 lines
936 B
Bash

WALLPAPER=""
MODE=""
set_wallpaper() {
if [[ -f "$1" ]]; then
WALLPAPER="$1"
else
echo "Invalid wallpaper path: $1"
exit 1
fi
}
toggle_mode() {
if [[ "$(cat "${CONFIG}"/mode)" = "light" ]]; then
MODE="dark"
else
MODE="light"
fi
}
show_usage() {
echo "Usage: theme [-m {light|dark|toggle}] [-w <file>]"
}
finish() {
[[ -n "${WALLPAPER}" ]] && ln -sf "${WALLPAPER}" "${CONFIG}"/wallpaper
[[ -n "${MODE}" ]] && echo "${MODE}" > "${CONFIG}"/mode
"${INIT}" > /dev/null
"${RELOAD}" > /dev/null
}
# Parse arguments
while getopts "m:w:" opt; do
case "$opt" in
m)
case "$OPTARG" in
light|dark)
MODE="$OPTARG"
;;
toggle)
toggle_mode
;;
*)
show_usage
exit 1
;;
esac
;;
w)
set_wallpaper "$OPTARG"
;;
*)
show_usage
exit 1
;;
esac
done
finish