Files
nix/hosts/common/configs/user/gui/theme/theme.sh
Nikolaos Karaolidis 2888bb8b72 Add treefmt
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-02-16 18:53:11 +00:00

62 lines
918 B
Bash

# shellcheck shell=bash
wallpaper=""
mode=""
set_wallpaper() {
if [[ -f "$1" ]]; then
wallpaper="$(realpath "$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