Files
nix/hosts/common/configs/user/gui/theme/theme.sh
Nikolaos Karaolidis e9a55eed52 Add install script
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-01-12 14:13:35 +00:00

60 lines
900 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
}
usage() {
echo "Usage: theme [-m {light|dark|toggle}] [-w <file>]"
exit 1
}
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
;;
*)
usage
;;
esac
;;
w)
set_wallpaper "$OPTARG"
;;
*)
usage
;;
esac
done
finish