diff options
| author | ryukamish <[email protected]> | 2026-04-11 18:25:38 +0530 |
|---|---|---|
| committer | ryukamish <[email protected]> | 2026-04-11 18:25:38 +0530 |
| commit | b3474e85dcce03e7de0b4a4e30ff7fad1f38ee26 (patch) | |
| tree | bcfe42ad76a825c283eec653140ab4052f0b3017 /scripts/hyprwall | |
| parent | 607891801fbf2051a0c9062d15a445dd238c1e1b (diff) | |
add: small bash scripts for added functionality
Diffstat (limited to 'scripts/hyprwall')
| -rwxr-xr-x | scripts/hyprwall | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/hyprwall b/scripts/hyprwall new file mode 100755 index 0000000..11c098a --- /dev/null +++ b/scripts/hyprwall @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +WALLDIR="$HOME/Pictures/Wallpapers" +CACHE="$HOME/.cache/rofi-wallpaper" +mkdir -p "$CACHE" + +# Generate thumbnails (only missing ones) +find "$WALLDIR" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.webp" \) | while read -r img; do + name="$(basename "$img")" + thumb="$CACHE/$name.png" + [ ! -f "$thumb" ] && magick "$img" -resize 500x500^ -gravity center -extent 500x500 "$thumb" +done + +# This is the key: use -show-icons and tell rofi where the icons are +chosen=$(find "$WALLDIR" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.webp" \) | sort | + while read -r img; do + name="$(basename "$img")" + echo -e "$name\0icon\x1f$CACHE/$name.png" + done | + rofi -dmenu \ + -p "Wallpaper" \ + -i \ + -show-icons \ + -theme-str 'window { width: 90%; height: 80%; }' \ + -theme-str 'listview { columns: 5; lines: 3; spacing: 20px; }' \ + -theme-str 'element-icon { size: 200px; horizontal-align: 0.5; }' \ + -theme-str 'element-text { enabled: false; }') + +[ -z "$chosen" ] && exit + +fullpath="$WALLDIR/$chosen" +awww img "$fullpath" --transition-type wipe --transition-fps 60 --transition-angle 45 --transition-step 30 |
