61 lines
936 B
Bash
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
|