#!/usr/bin/env bash DIR="$HOME/Wallpapers" # Build list: filenamefullpath file_list=$(find "$DIR" -type f 2>/dev/null | sort | while read -r f; do printf "%s\t%s\n" "$(basename "$f")" "$f" done) # Show only filename column in wofi selected_name=$(printf "%s\n" "$file_list" | cut -f1 | \ wofi --dmenu --prompt "Select file:") # Get full path matching selected filename (first match) if [[ -n "$selected_name" ]]; then selected_file=$(printf "%s\n" "$file_list" | \ awk -F'\t' -v name="$selected_name" '$1 == name { print $2; exit }') notify-send "Selected File" "$selected_file" hyprctl hyprpaper wallpaper ",$selected_file,cover" fi