aboutsummaryrefslogtreecommitdiff
path: root/.config/swayimg/key-handler
blob: 4e886b2a539103208edaddad1762e37bad6e1d86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh
file=$1
  [ -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" |
    rofi -dmenu -i -l 12 -p "Choose action for selected files:")
  action=$(printf "%s" "$selection" | cut -d'-' -f1 | tr -d ' ')
  case "$action" in
    "w") setbg "$file" & ;;
    "c")
      [ -z "$destdir" ] && destdir="$(sed "s/#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | awk '{print $2}' | rofi -dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")"
      [ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
      cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." &
      ;;
    "m")
      [ -z "$destdir" ] && destdir="$(sed "s/#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | awk '{print $2}' | rofi -dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")"
      [ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
      mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." &
      ;;
    "r")
      magick "$file" -rotate 90 "$file" ;;
    "R")
      magick "$file" -rotate -90 "$file" ;;
    "f")
      magick "$file" -flop "$file" ;;
    "y")
      printf "%s" "$file" | tr -d '\n' | wl-copy &&
        notify-send "$file copied to clipboard" & ;;
    "Y")
      readlink -f "$file" | tr -d '\n' | wl-copy &&
        notify-send "$(readlink -f "$file") copied to clipboard" & ;;
    "d")
      [ "$(printf "No\\nYes" | rofi -dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;;
    "g")	ifinstalled gimp && setsid -f gimp "$file" ;;
    "i")	notify-send "File information" "$(mediainfo "$file" | sed "s/[ ]\+:/:/g;s/: /: <b>/;s/$/<\/b>/" | rg "<b>")" ;;
    *) notify-send "No keybind for that key" ;;
  esac