aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.config/nsxiv/exec/key-handler
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.config/nsxiv/exec/key-handler')
-rwxr-xr-xdotfiles/.config/nsxiv/exec/key-handler55
1 files changed, 55 insertions, 0 deletions
diff --git a/dotfiles/.config/nsxiv/exec/key-handler b/dotfiles/.config/nsxiv/exec/key-handler
new file mode 100755
index 0000000..f20a143
--- /dev/null
+++ b/dotfiles/.config/nsxiv/exec/key-handler
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+rotate() {
+ degree="$1"
+ file="$2"
+ case "$(file -b -i "$file")" in
+ image/jpeg*) jpegtran -rotate "$degree" -copy all -outfile "$file" "$file" ;;
+ *) mogrify -rotate "$degree" "$file" ;;
+ esac
+}
+
+if [ "$1" = "t" ]; then
+ while read file; do
+ files="$(printf "%s\n%s" "$files" "$file")"
+ done
+ dragon-drag-and-drop -a $files
+ exit 0
+fi
+
+while read file; do
+ case "$1" in
+ "C-a" | "C-1")
+ setbg "$file"
+ exit ;;
+ "C-2")
+ setbg "$file" "2"
+ exit ;;
+ "C-s")
+ setbglblur "$file"
+ exit ;;
+ "C-d")
+ setbglsimple "$file"
+ exit ;;
+ "C-c")
+ wl-copy < "$file"
+ exit ;;
+ "C-f")
+ wl-copy "$file"
+ exit ;;
+ "C-r")
+ # Move file to 'trash' directory, if the current directory's name is
+ # JPEG, remove the NEF file as well
+ dir="$(dirname "$file")"
+ name="$(basename "$file")"
+ base="${name%.*}"
+ mv "$file" ~/.local/trash/
+ if [ "JPEG" = "$(basename $dir)" ]; then
+ mv $(dirname "$dir")/"$base".NEF ~/.local/trash/
+ fi
+ exit ;;
+ "C-comma") rotate 270 $file ;;
+ "C-period") rotate 90 $file ;;
+ "C-slash") rotate 180 $file ;;
+ esac
+done