22 lines
630 B
Bash
Executable File
22 lines
630 B
Bash
Executable File
#!/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
|
|
|