22 lines
630 B
Plaintext
22 lines
630 B
Plaintext
|
#!/bin/sh
|
||
|
# shellcheck disable=2162
|
||
|
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
|
||
|
}
|
||
|
|
||
|
case "$1" in
|
||
|
"C-x") xclip -in -filter | tr '\n' ' ' | xclip -in -selection clipboard ;;
|
||
|
"C-c") while read file; do xclip -selection clipboard -target image/png "$file"; done ;;
|
||
|
"C-g") tr '\n' '\0' | xargs -0 gimp & ;;
|
||
|
"C-comma") rotate 270 ;;
|
||
|
"C-period") rotate 90 ;;
|
||
|
"C-slash") rotate 180 ;;
|
||
|
esac
|
||
|
|