77ba6e73c6
This fix issues a warning message and does nothing in that case. Running C-x c (copy) or C-x m (move) will copy/move all the marked files to a single location. If that location is not a directory, then creating that file and overwriting it several times results in complete loss of data in the case of moving, and unhelpful behaviour in the case of "copying". Only the last marked file remains in the file.
34 lines
1.4 KiB
Bash
Executable file
34 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env sh
|
|
while read file
|
|
do
|
|
case "$1" in
|
|
"w") setbg "$file" & ;;
|
|
"c")
|
|
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ~/.config/directories | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")"
|
|
[ -z "$destdir" ] && exit
|
|
[ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
|
|
cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." &
|
|
;;
|
|
"m")
|
|
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ~/.config/directories | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")"
|
|
[ -z "$destdir" ] && exit
|
|
[ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
|
|
mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." &
|
|
;;
|
|
"r")
|
|
convert -rotate 90 "$file" "$file" ;;
|
|
"R")
|
|
convert -rotate -90 "$file" "$file" ;;
|
|
"f")
|
|
convert -flop "$file" "$file" ;;
|
|
"y")
|
|
echo -n "$file" | xclip -selection clipboard &&
|
|
notify-send "$file copied to clipboard" & ;;
|
|
"Y")
|
|
readlink -f "$file" | xclip -selection clipboard &&
|
|
notify-send "$(readlink -f "$file") copied to clipboard" & ;;
|
|
"d")
|
|
[ "$(printf "No\\nYes" | dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;;
|
|
"g") ifinstalled gimp && gimp "$file" & ;;
|
|
esac
|
|
done
|