Files
nix/hosts/common/configs/user/gui/theme/theme.sh
Nikolaos Karaolidis 8e18ca20a9 Add backup script
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-01-12 13:20:31 +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