54 lines
1.4 KiB
Bash
Executable File
54 lines
1.4 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
# Wrapper around wallpaper-fetcher: downloads a random new wallpaper from
|
|
# backiee.com and sets it as the desktop background via awww.
|
|
#
|
|
# Usage: set-wallpaper.sh [backiee-path] [-r WxH]
|
|
#
|
|
# backiee-path Path segment on backiee.com (default: latest)
|
|
# -r WxH Max resolution (e.g. "1920x1080") — passed through to wallpaper-fetcher
|
|
|
|
BACKIEE_PATH="${1:-latest}"
|
|
|
|
# Check for -r flag (may be first or second arg)
|
|
RES_ARGS=""
|
|
if [[ "$1" == "-r" ]]; then
|
|
RES_ARGS="-r $2"
|
|
elif [[ "$2" == "-r" ]]; then
|
|
RES_ARGS="-r $3"
|
|
fi
|
|
|
|
if [[ ! -x /usr/bin/awww ]]; then
|
|
echo "required awww — please install with yay -S awww" >&2
|
|
exit 0
|
|
fi
|
|
|
|
# Paths
|
|
BACKGROUNDS_DIR="$HOME/Sync/Shared/wallpapers"
|
|
CURRENT_BACKGROUND_LINK="$HOME/.local/state/omarchy/current/background"
|
|
|
|
[ -d "$BACKGROUNDS_DIR" ] || mkdir -p "$BACKGROUNDS_DIR"
|
|
|
|
# Run wallpaper-fetcher (stdout = bare filename, stderr = log output)
|
|
FILENAME=$(~/.local/bin/wallpaper-fetcher "$BACKIEE_PATH" --output "$BACKGROUNDS_DIR" $RES_ARGS 2>/dev/null)
|
|
|
|
if [[ -z "$FILENAME" ]]; then
|
|
echo "wallpaper-fetcher failed — no image downloaded" >&2
|
|
exit 1
|
|
fi
|
|
|
|
FILE_PATH="$BACKGROUNDS_DIR/$FILENAME"
|
|
|
|
echo "Wallpaper: $FILENAME"
|
|
|
|
if [[ ! -f "$FILE_PATH" ]]; then
|
|
echo "File not found: $FILE_PATH" >&2
|
|
exit 1
|
|
fi
|
|
|
|
ln -nsf "$FILE_PATH" "$CURRENT_BACKGROUND_LINK" &&
|
|
setsid uwsm app -- awww img "$CURRENT_BACKGROUND_LINK" &&
|
|
exit 0
|
|
|
|
exit 1
|