32 lines
800 B
Bash
Executable file
32 lines
800 B
Bash
Executable file
#!/bin/sh
|
|
|
|
CAMERA_DIR=~/Camera
|
|
|
|
if [[ -z "$@" ]]; then
|
|
echo "^cam .*$"
|
|
elif [[ "$1" == "--hint" ]]; then
|
|
shift
|
|
elif [[ "$1" == "--complete" ]]; then
|
|
shift
|
|
if [[ -d "$CAMERA_DIR" ]]; then
|
|
find ~/Camera -type f -not -path '*/\.*' -printf "%T@ %P\n" -type f | sort -n -r | cut -d " " -f 2 | awk '{print $1 " cam " $1}'
|
|
fi
|
|
elif [[ "$1" == "--preview" ]]; then
|
|
shift
|
|
|
|
FILE="$CAMERA_DIR/$1"
|
|
TYPE=$(file --dereference --mime -- "$FILE")
|
|
|
|
if [[ $TYPE =~ image/ ]]; then
|
|
DIM=${FZF_PREVIEW_COLUMNS}x${FZF_PREVIEW_LINES}
|
|
chafa -s "$DIM" "$FILE"
|
|
# Add a new line character so that fzf can display multiple images in the preview window
|
|
echo
|
|
fi
|
|
|
|
elif [[ "$1" == "--run" ]]; then
|
|
shift
|
|
echo "file://$CAMERA_DIR/$2" | setsid -f wl-copy -t text/uri-list
|
|
else
|
|
echo "Unexpected arguments: $@"
|
|
fi
|