Krolyxon
Commit 7625ce3

Branches

Refs →

aurora7625ce3

setwall: add -n parameter, useful to just set previous wallpaper as it is

Author
krolxon
Date
2025-10-20 16:01 +0530
Parent
1c6449d
Commit
7625ce340a14fa8e6faf8f01619a01ba0a61ca2f

+34 −19

1 file changed

  1. M .local/bin/setwall +34 −19
M .local/bin/setwall View
@@ -3,12 +3,36 @@ WALL_DIR="$HOME/pix/wallpapers/catppuccin/"
33 MODE="random"
44 CUSTOM_PATH=""
55
6+apply_wallpaper() {
7+ # Apply wallpaper
8+ if ! pgrep -x hyprpaper >/dev/null; then
9+ # Hyprpaper not running → start with chosen wallpaper
10+ cat > ~/.config/hypr/hyprpaper.conf <<EOF
11+preload = $NEW_WALL
12+wallpaper = ,$NEW_WALL
13+EOF
14+hyprpaper &
15+wal -i $NEW_WALL -n
16+else
17+ # Hyprpaper is running → change it live
18+ cat > ~/.config/hypr/hyprpaper.conf <<EOF
19+preload = $NEW_WALL
20+wallpaper = ,$NEW_WALL
21+EOF
22+ hyprctl hyprpaper preload "$NEW_WALL"
23+ hyprctl hyprpaper wallpaper ",$NEW_WALL"
24+ wal -i $NEW_WALL -n
25+ fi
26+
27+}
28+
629 # Parse options
7−while getopts ":mp:" opt; do
30+while getopts ":mnp:" opt; do
831 case $opt in
932 m) MODE="menu" ;;
10− p) MODE="path"; CUSTOM_PATH="$OPTARG" ;;
11− \?) echo "Usage: $0 [-m] [-p /path/to/image]" >&2; exit 1 ;;
33+ p) MODE="path"; CUSTOM_PATH="$(realpath $OPTARG)" ;;
34+ n) MODE="nc" ;;
35+ \?) echo "Usage: $0 [-m] [-p /path/to/image] [-n]" >&2; exit 1 ;;
1236 :) echo "Option -$OPTARG requires an argument." >&2; exit 1 ;;
1337 esac
1438 done
@@ -17,6 +41,7 @@ done
1741 case $MODE in
1842 random)
1943 NEW_WALL=$(find "$WALL_DIR" -type f | shuf -n 1)
44+ apply_wallpaper
2045 ;;
2146 path)
2247 if [[ -f "$CUSTOM_PATH" ]]; then
@@ -25,24 +50,14 @@ case $MODE in
2550 echo "Error: File not found -> $CUSTOM_PATH" >&2
2651 exit 1
2752 fi
53+ apply_wallpaper
2854 ;;
2955 menu)
3056 NEW_WALL=$(nsxiv -tfpo $WALL_DIR)
57+ apply_wallpaper
58+ ;;
59+ nc)
60+ echo "Not changing anything"
61+ pgrep 'hyprpaper' || hyprpaper &
3162 ;;
3263 esac
33−
34−# Apply wallpaper
35−if ! pgrep -x hyprpaper >/dev/null; then
36− # Hyprpaper not running → start with chosen wallpaper
37− cat > ~/.config/hypr/hyprpaper.conf <<EOF
38−preload = $NEW_WALL
39−wallpaper = ,$NEW_WALL
40−EOF
41− hyprpaper &
42− wal -i $NEW_WALL -n
43−else
44− # Hyprpaper is running → change it live
45− hyprctl hyprpaper preload "$NEW_WALL"
46− hyprctl hyprpaper wallpaper ",$NEW_WALL"
47− wal -i $NEW_WALL -n
48−fi