#!/usr/bin/env bash # rs_wall - A simple screenshot menu script for rofi/dmenu/wofi # Author: Clay Gomera (Drake) # Dependencies: {rofi || dmenu || wofi}, swww ############################ # Configuration Parameters # ############################ walldir="$XDG_PICTURES_DIR/Wallpapers" # wallpapers folder, change it to yours ######################## # Function Definitions # ######################## # Check for missing dependencies CheckDependencies() { local run_launcher_found=false for launcher in rofi dmenu wofi; do if command -v "$launcher" &> /dev/null; then run_launcher_found=true break fi done if [ "$run_launcher_found" = false ]; then echo "Missing dependency: one of rofi, dmenu, or wofi is required." exit 1 fi local missing_deps=() for dep in hyprpaper; do if ! command -v "$dep" &> /dev/null; then missing_deps+=("$dep") fi done if [ ${#missing_deps[@]} -ne 0 ]; then echo "Missing dependencies: ${missing_deps[*]}" exit 1 fi } #################### # Main Script Flow # #################### # Check for dependencies CheckDependencies cd "$walldir" || exit 1 wallpaper=$(fd -p "$walldir" | $RUNNER -only-match -i -p "󰋩 Wallpaper Selector") if [ -n "$wallpaper" ]; then cp "$wallpaper" "$HOME/.config/hypr/wall/wall.png" cp "$wallpaper" "$HOME/.config/hypr/wall/lock.png" pidof hyprpaper && pkill hyprpaper sleep 0.5 hyprpaper & disown else exit 0 fi exit 0