Files
nix/hosts/common/configs/user/gui/theme/theme.sh
Nikolaos Karaolidis bcbda92c46 Review shell scripts
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-01-22 14:07:22 +00:00

60 lines
879 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: $0 [-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