Browse Source

Fix dragdrop not working in selection mode (#382)

xargs couldn't call function `dnd()` and I couldn't find a portable way
to do it, so I replaced it with a variable which I guess should work
fine.
master
0xACE Mischievous Meerkat 5 years ago
parent
commit
688ed885d1
1 changed files with 9 additions and 13 deletions
  1. +9
    -13
      plugins/dragdrop

+ 9
- 13
plugins/dragdrop View File

@@ -16,15 +16,11 @@
selection=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection
resp=f
all=

dnd()
{
if which dragon-drag-and-drop 2>&1 >/dev/null; then
dragon-drag-and-drop "$@" 2>/dev/null
else
dragon "$@" 2>/dev/null
fi
}
if which dragon-drag-and-drop 2>&1 >/dev/null; then
dnd="dragon-drag-and-drop"
else
dnd="dragon"
fi

function add_file() {
echo -n "$@" >> "$selection"
@@ -55,13 +51,13 @@ fi

if [ "$resp" = "s" ]; then
use_all
sed -z 's|'"$PWD/"'||g' < "$selection" | xargs -0 dnd "$all" &
sed -z 's|'"$PWD/"'||g' < "$selection" | xargs -0 "$dnd" "$all" &
elif [ "$resp" = "d" ]; then
use_all
dnd "$all" "$PWD/"* &
"$dnd" "$all" "$PWD/"* &
elif [ "$resp" = "r" ]; then
echo -n > "$selection"
dnd --print-path --target | while read f
"$dnd" --print-path --target | while read f
do
if echo -n "$f" | grep '^\(https\?\|ftps\?\|s\?ftp\):\/\/' ; then
curl -LJO "$f"
@@ -72,7 +68,7 @@ elif [ "$resp" = "r" ]; then
done &
else
if [ -n "$1" ] && [ -e "$1" ]; then
dnd "$1" &
"$dnd" "$1" &
fi
fi


Loading…
Cancel
Save