sxiv: Show file size and dimension in status bar, Add rotation commands

master
Pierre Neidhardt 2015-10-13 19:27:41 +02:00
parent b031e5bf63
commit 94cfa94d7f
2 changed files with 39 additions and 0 deletions

10
.config/sxiv/exec/image-info Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
s=" | " # field separator
filename=$(basename "$1")
filesize=$(du -Hh "$1" | cut -f 1)
geometry=$(identify -format '%wx%h' "$1[0]")
echo "${filename}${s}${filesize}${s}${geometry}"

29
.config/sxiv/exec/key-handler Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
readonly KEY="$1"; shift
orient() {
for file in "$@"; do
mogrify -auto-orient "$file"
done
}
rotate() {
degree="$1"; shift
for file in "$@"; do
case "$(file -b -i "$file")" in
image/jpeg*) jpegtran -rotate "$degree" -copy all -outfile "$file" "$file" ;;
*) mogrify -rotate "$degree" "$file" ;;
esac
done
}
case "$KEY" in
"C-c") echo -n "$@" | xsel -i ;;
"C-e") for file in "$@"; do urxvt -bg "#444" -fg "#eee" -sl 0 -title "$file" -e sh -c "exiv2 pr -q -pa '$file' | less" & done ;;
"C-g") gimp "$@" & ;;
"C-o") orient ;;
"C-comma") rotate 270 "$@" ;;
"C-period") rotate 90 "$@" ;;
"C-slash") rotate 180 "$@" ;;
esac