2024-11-13 12:28:51 +03:00

42 lines
748 B
Bash
Executable File

#!/bin/sh
set -eu
readonly LAYOUTS_DIR="${HOME}/.screenlayout"
if [ ! -d "${LAYOUTS_DIR}" ]; then
mkdir "${LAYOUTS_DIR}"
fi
cmd_list() {
find "$LAYOUTS_DIR" -type f,l -exec basename {} \;
}
cmd_wallpaper() {
readonly wallpapers="${HOME}/.wallpaper"
feh --no-fehbg --bg-scale "$(find "${wallpapers}" | shuf -n 1)"
}
cmd_load() {
if [ -z "${1:-}" ]; then
"${LAYOUTS_DIR}/default"
else
"${LAYOUTS_DIR}/${1}"
fi
cmd_wallpaper
}
cmd_help () {
echo "slm (ls|load|wallpaper)" >&2
}
case "${1}" in
ls) shift; cmd_list "$@" ;;
load) shift; cmd_load "$@" ;;
wallpaper) shift; cmd_wallpaper "$@" ;;
*) shift; cmd_help "$@" ;;
esac
exit 0