diff options
Diffstat (limited to 'config/sxiv')
| -rwxr-xr-x | config/sxiv/exec/image-info | 19 | ||||
| -rwxr-xr-x | config/sxiv/exec/key-handler | 27 |
2 files changed, 46 insertions, 0 deletions
diff --git a/config/sxiv/exec/image-info b/config/sxiv/exec/image-info new file mode 100755 index 0000000..155ca0e --- /dev/null +++ b/config/sxiv/exec/image-info @@ -0,0 +1,19 @@ +#!/usr/bin/env sh + +# Example for $XDG_CONFIG_HOME/sxiv/exec/image-info +# Called by sxiv(1) whenever an image gets loaded. +# The output is displayed in sxiv's status bar. +# Arguments: +# $1: path to image file +# $2: image width +# $3: image height + +s=" " # field separator + +exec 2>/dev/null + +filename=$(basename -- "$1") +filesize=$(du -Hh -- "$1" | cut -f 1) +geometry="${2}x${3}" + +echo "${geometry}${s}${filesize}${s}${filename}" diff --git a/config/sxiv/exec/key-handler b/config/sxiv/exec/key-handler new file mode 100755 index 0000000..590af3c --- /dev/null +++ b/config/sxiv/exec/key-handler @@ -0,0 +1,27 @@ +#!/usr/bin/env sh + +# Mod key = Ctrl + x + +rotate() { + degree="$1" + tr '\n' '\0' | xargs -0 realpath | sort | uniq | while read file; do + case "$(file -b -i "$file")" in + image/jpeg*) jpegtran -rotate "$degree" -copy all -outfile "$file" "$file" ;; + *) mogrify -rotate "$degree" "$file" ;; + esac + done +} + +# >, < Rotate +# <Return> Thumbnail view +# C-x w Set as wallpaper +# C-x C-c Copy to clipboard + +case "$1" in +# Copy image to clipboard +"C-c") while read file; do xclip -selection clipboard -target image/png "$file"; done ;; + +# Set as wallpaper +"w") while read file; do feh --bg-scale "$file"; done ;; +esac + |
