commit 01efe91ac1c33c34a7f7bac8026a5024d297046c parent 8ed2b5db9801e1ef9180f0ee6d956458ded5d339 Author: Jacob R. Edwards <jacobouno@protonmail.com> Date: Thu, 30 Jul 2020 00:36:27 -0700 Clean up key-handler Diffstat:
| M | sxiv/.config/sxiv/exec/key-handler | | | 30 | +++++++++++++++++++----------- |
1 file changed, 19 insertions(+), 11 deletions(-)
diff --git a/sxiv/.config/sxiv/exec/key-handler b/sxiv/.config/sxiv/exec/key-handler @@ -1,24 +1,32 @@ #!/usr/bin/env dash +# sxiv key handler set -e -confirm() { +# confirm via dmenu if it hasn't been already. +confirm() +{ if [ -z $answer ]; then answer=$(printf "no\nyes" | dmenu) && [ "$answer" = "yes" ] fi } +# link image to wallpaper and invoke xwallpaper on it. +set_wallpaper() +{ + ln -f "$1" "$XDG_CONFIG_HOME/wallpaper" + xwallpaper --zoom "$1" +} + while read file; do - case "$1" in - # set wallpaper - "C-w") ln -f "$file" "$XDG_CONFIG_HOME/wallpaper" && xwallpaper --zoom "$file" ;; - # mv, cp, rm - "C-m") [ -z "$dest" ] && dest=$(dmenu-fs -a move); mv "$file" "$dest" ;; - "C-c") [ -z "$dest" ] && dest=$(dmenu-fs -a copy); cp "$file" "$dest" ;; - "C-x") confirm && rm "$file" || exit 2 ;; - "C-s") ;; # stack - *) - exit 2 ;; + case "$1" + in + "C-w") set_wallpaper "$file";; + "C-m") [ -z "$dest" ] && dest=`dmenu-fs`; mv "$file" "$dest";; + "C-c") [ -z "$dest" ] && dest=`dmenu-fs`; cp "$file" "$dest";; + "C-x") confirm && rm "$file" || exit 2;; + *) echo "error: sxiv.key-handler: key unbound '$1'" 1>&2; exit 2;; esac notify-send "$1 $file" + echo "$1 $file" done