key-handler (1973B)
1 #!/bin/sh 2 file=$1 3 [ -z "$selection" ] && selection=$(printf "w - Set as wallpaper\nc - Copy to dir\nm - Move to dir\nr - Rotate 90°\nR - Rotate -90°\nf - Flip horizontal\ny - Copy filename to clipboard\nY - Copy full path to clipboard\nd - Delete\ng - Open in GIMP\ni - Show media info" | 4 wmenu -i -l 12 -p "Choose action for selected files:") 5 action=$(printf "%s" "$selection" | cut -d'-' -f1 | tr -d ' ') 6 case "$action" in 7 "w") setbg "$file" & ;; 8 "c") 9 [ -z "$destdir" ] && destdir="$(sed "s/#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | awk '{print $2}' | wmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")" 10 [ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit 11 cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." & 12 ;; 13 "m") 14 [ -z "$destdir" ] && destdir="$(sed "s/#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | awk '{print $2}' | wmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")" 15 [ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit 16 mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." & 17 ;; 18 "r") 19 magick "$file" -rotate 90 "$file" ;; 20 "R") 21 magick "$file" -rotate -90 "$file" ;; 22 "f") 23 magick "$file" -flop "$file" ;; 24 "y") 25 printf "%s" "$file" | tr -d '\n' | wl-copy && 26 notify-send "$file copied to clipboard" & ;; 27 "Y") 28 readlink -f "$file" | tr -d '\n' | wl-copy && 29 notify-send "$(readlink -f "$file") copied to clipboard" & ;; 30 "d") 31 [ "$(printf "No\\nYes" | wmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;; 32 "g") ifinstalled gimp && setsid -f gimp "$file" ;; 33 "i") notify-send "File information" "$(mediainfo "$file" | sed "s/[ ]\+:/:/g;s/: /: <b>/;s/$/<\/b>/" | grep "<b>")" ;; 34 *) notify-send "No keybind for that key" ;; 35 esac