Плагин для передачи файлов через bluetooth, для SpaceFMПодписка на Комментарии к "Плагин для передачи файлов через bluetooth, для SpaceFM"

Аватар ormorph

Немного переписал скрипт который выкладывал на linuxforum.ru тыц

Теперь использует в качестве диалога сам SpaceFM
Теперь для его работы все что требуется это установленный пакет bluez и пакет ussp-push

Собственно сам скрипт:

#!/bin/sh

$fm_import
PWD=$(pwd)
FILE="/tmp/spacefm-$(tr -cd [:digit:] < /dev/urandom | head -c8).sh"
i=0
while read file
do
    MASS=($file)
    MAC[$i]="${MASS[0]}"
    NAME[$i]="${MASS[1]}"
    i=$[i+1]
done <<<"$(hcitool scan)"

NUM=${#MAC[@]}
COMMAND=$(echo "spacefm -g --label 'List of Working Bluetooth Devices' --button no --button ok --command '' select mlist1 --mlist")

for (( i = 1; i < $NUM; i++ )); do
    COMMAND="$COMMAND ${NAME[$i]}"
done

# Запуск диалога выбора
eval $COMMAND 1>$FILE 2>/dev/null
# подключаем вывод диалога из фала
. $FILE
if [ "$dialog_mlist1" == "" ] ; then
    rm $FILE
    exit 0
elif [ "${#dialog_mlist1_index[@]}" -eq "1" ] ; then
    VARIANT="${dialog_mlist1[0]}"
else
    rm $FILE
    exit 0
fi

if [ "$dialog_pressed_index" -eq "0" ] ; then
    rm $FILE
    exit 0
elif [ "$dialog_pressed_index" -eq "-2" ] ;then
    rm $FILE
    exit 0
fi

if [ "$?" -eq "1" ] ; then exit 0
elif [ "$VARIANT" == "" ] ; then exit 0
fi


for (( i = 1; i < $NUM; i++ )); do
    if [ "$VARIANT" == "${NAME[$i]}" ] ; then
        MAC_ADD="${MAC[$i]}"
    fi
done

z=0
while read file
do
    if [ -n "$(echo $file|egrep "Service Name: Object Push")" ] ; then
        z=1
    fi

    if [ "$z" -eq "1" ] ; then
        if [ -n "$(echo $file|egrep Channel)" ]; then
            z=0
            CHAN=($file)
        fi
    fi
done <<<"$(sdptool browse $MAC_ADD)"

fileexpr(){
for (( i = 0; i < ${#fm_files[@]}; i++ )); do
    DD="${fm_files[$i]}"
    DD="${DD//$PWD\//}"
    ussp-push "$MAC_ADD@${CHAN[1]}" "$DD" "$DD" ;
    sleep 1s
done
}
fileexpr >/dev/null

rm $FILE

Получившийся плагин тыц

Поведение плагина - проявляет себя при наведении на файл или выборе нескольких файлов.

Добавить комментарий