93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
# C-x + ?-?
 | 
						|
 | 
						|
set -x
 | 
						|
 | 
						|
copy_to_clipboard() {
 | 
						|
    printf '%s\n' "Clipping $1"
 | 
						|
    printf '%s' "$(readlink -f "$1")" \
 | 
						|
        | xclip -selection clipboard
 | 
						|
}
 | 
						|
 | 
						|
upload_to_paste() {
 | 
						|
    printf '%s\n' "Pasting $1"
 | 
						|
    scp "$1" sdk@codevoid.de:/home/www/htdocs/gopher/p/
 | 
						|
    printf '%s' "https://codevoid.de/I/p/${1##*/}" \
 | 
						|
        | xclip -selection clipboard
 | 
						|
}
 | 
						|
 | 
						|
save_image() {
 | 
						|
    if [ -z "$SXIVDIR" ]
 | 
						|
    then
 | 
						|
        . $HOME/.bin/_config
 | 
						|
        SXIVDIR="$(find . -type d -maxdepth 1 | dmenu -p "Save" $DMENUOPTS)"
 | 
						|
        export SXIVDIR;
 | 
						|
    fi
 | 
						|
    printf '%s\n' "Saving $1 to $SXIVDIR/"
 | 
						|
    mkdir -p "$SXIVDIR"
 | 
						|
    mv "$1" "$SXIVDIR/"
 | 
						|
 | 
						|
    base="${1%.*}"
 | 
						|
    for type in cr2 CR2 orf ORF dng DNG tif TIF xmp XMP
 | 
						|
    do
 | 
						|
        test -f "${base}.${type}" && mv "${base}.${type}" "$SXIVDIR/"
 | 
						|
    done
 | 
						|
}
 | 
						|
 | 
						|
edit_image() {
 | 
						|
    base=${1%.*}
 | 
						|
    for type in cr2 CR2 orf ORF dng DNG
 | 
						|
    do
 | 
						|
        printf "Trying %s.%s\n" "${base}" "${type}"
 | 
						|
        if [ -f "${base}.${type}" ]
 | 
						|
        then
 | 
						|
            rawtherapee "${base}.${type}"
 | 
						|
            break
 | 
						|
        fi
 | 
						|
    done
 | 
						|
    for type in tif TIF
 | 
						|
    do
 | 
						|
        printf "Trying %s.%s\n" "${base}" "${type}"
 | 
						|
        if [ -f "${base}.${type}" ]
 | 
						|
        then
 | 
						|
            gimp "${base}.${type}"
 | 
						|
            break
 | 
						|
        fi
 | 
						|
    done
 | 
						|
}
 | 
						|
 | 
						|
rotate_cw() {
 | 
						|
    printf '%s\n' "Rotating CW"
 | 
						|
    convert -rotate 90 "$1" "$1"
 | 
						|
}
 | 
						|
 | 
						|
rotate_ccw() {
 | 
						|
    printf '%s\n' "Rotating CCW"
 | 
						|
    convert -rotate 270 "$1" "$1"
 | 
						|
}
 | 
						|
 | 
						|
show_details() {
 | 
						|
    echo "$1"
 | 
						|
    exiftool "$1" | grep Date | tr ':' '-'
 | 
						|
    read
 | 
						|
}
 | 
						|
 | 
						|
_options="Exit
 | 
						|
Edit Image
 | 
						|
Copy Image Path
 | 
						|
Rotate CW
 | 
						|
Rotate CCW
 | 
						|
Upload to Website
 | 
						|
Show Dates"
 | 
						|
 | 
						|
_sel=$(echo "$_options" | fzf -e)
 | 
						|
 | 
						|
case "$_sel" in
 | 
						|
    Edit*)          edit_image "$1" ;;
 | 
						|
    Copy*)          copy_to_clipboard "$1" ;;
 | 
						|
    Show*)          show_details "$1" ;;
 | 
						|
    Upload*)        website-add-image-to-gallery "$1" ;;
 | 
						|
    "Rotate CW")    rotate_cw "$1" ;;
 | 
						|
    "Rotate CCW")   rotate_ccw "$1" ;;
 | 
						|
esac
 |