Как перетаскивать файлы в апплеты. (Как мусорное ведро)

Я сделал ярлык для своей домашней папки, перетащив его на панель.

Есть ли способ, которым я могу перетаскивать файлы в этот апплет, чтобы сохранить файл в папке location?

Я действительно хочу сделать ярлык для одной из моих папок Ubuntu One, когда я перетаскиваю файл, выбираю текст или URL-адрес этого апплета, он сохраняет выпавший элемент, в папке для синхронизации.

EDIT

Как мусор, но с пользовательской выбранной папкой.

5
задан 20 October 2010 в 03:41

9 ответов

Следующий сценарий будет действовать согласно вашему описанию. Я считаю, что это не лучший подход для этой ситуации, но нет апплета с описанной вами функциональностью, о которой я знаю.

Создайте файл в домашней папке со следующим содержимым:

#!/bin/sh

ubuntuone_loc="/home/user/Ubuntu One/"

if [ $# -eq 0 ] ;
then 
  nautilus "$ubuntuone_loc"
else
  (
    i=0
    for file in "$@" ; 
    do
      echo $(($i * 100 / $#))
      i=$(($i+1))
      cp "$file" "$ubuntuone_loc"
    done
    echo 100
  )|zenity --progress --title="Copy files progress" --text="Copying $# files to $ubuntuone_loc..." --auto-close &

  RUNNING=0
  while [ $RUNNING -eq 0 ]
  do
    if [ -z "$(pidof zenity)" ]
    then
      kill $(pidof cp)
      RUNNING=1
    fi
  done

fi

Удостоверьтесь, что вы заменили «/ home / user / Ubuntu One» вашей одной ubuntu одной папкой. Теперь создайте новую настраиваемую панель запуска и заполните «sh / path / to / the / created / file». Новая пусковая установка должна работать с нажатием и перетаскиванием.

Надеюсь, это сработает для вас. Пользовательский апплет Ubuntu One с таким типом поведения будет приятным.

3
ответ дан 26 May 2018 в 00:55
  • 1
    Я сделал это и действительно работал. Единственная проблема заключается в том, что он работает только для файлов, нет для удаления ссылок или выделенного текста. Я изменил ваш код для тестирования и при отбрасывании выделенного текста или ссылки $ # равно 0. Наверное, нужно сделать «правильный» апплет с помощью C или python. Есть идеи? – Cesar 21 October 2010 в 21:30
  • 2
    Ну, я должен сказать, что я думаю, что это отличная идея. Проблема в том, что я не думаю, что апплет - лучший подход. Я лично чувствую, что апплеты не подходят для рабочего стола. Если вы хотите продолжить эту идею, не забудьте сообщить мне. – W. Goeman 21 October 2010 в 22:31

Следующий сценарий будет действовать согласно вашему описанию. Я считаю, что это не лучший подход для этой ситуации, но нет апплета с описанной вами функциональностью, о которой я знаю.

Создайте файл в домашней папке со следующим содержимым:

#!/bin/sh ubuntuone_loc="/home/user/Ubuntu One/" if [ $# -eq 0 ] ; then nautilus "$ubuntuone_loc" else ( i=0 for file in "$@" ; do echo $(($i * 100 / $#)) i=$(($i+1)) cp "$file" "$ubuntuone_loc" done echo 100 )|zenity --progress --title="Copy files progress" --text="Copying $# files to $ubuntuone_loc..." --auto-close & RUNNING=0 while [ $RUNNING -eq 0 ] do if [ -z "$(pidof zenity)" ] then kill $(pidof cp) RUNNING=1 fi done fi

Удостоверьтесь, что вы заменили «/ home / user / Ubuntu One» вашей одной ubuntu одной папкой. Теперь создайте новую настраиваемую панель запуска и заполните «sh / path / to / the / created / file». Новая пусковая установка должна работать с нажатием и перетаскиванием.

Надеюсь, это сработает для вас. Пользовательский апплет Ubuntu One с таким типом поведения будет приятным.

3
ответ дан 25 July 2018 в 23:03

Следующий сценарий будет действовать согласно вашему описанию. Я считаю, что это не лучший подход для этой ситуации, но нет апплета с описанной вами функциональностью, о которой я знаю.

Создайте файл в домашней папке со следующим содержимым:

#!/bin/sh ubuntuone_loc="/home/user/Ubuntu One/" if [ $# -eq 0 ] ; then nautilus "$ubuntuone_loc" else ( i=0 for file in "$@" ; do echo $(($i * 100 / $#)) i=$(($i+1)) cp "$file" "$ubuntuone_loc" done echo 100 )|zenity --progress --title="Copy files progress" --text="Copying $# files to $ubuntuone_loc..." --auto-close & RUNNING=0 while [ $RUNNING -eq 0 ] do if [ -z "$(pidof zenity)" ] then kill $(pidof cp) RUNNING=1 fi done fi

Удостоверьтесь, что вы заменили «/ home / user / Ubuntu One» вашей одной ubuntu одной папкой. Теперь создайте новую настраиваемую панель запуска и заполните «sh / path / to / the / created / file». Новая пусковая установка должна работать с нажатием и перетаскиванием.

Надеюсь, это сработает для вас. Пользовательский апплет Ubuntu One с таким типом поведения будет приятным.

3
ответ дан 27 July 2018 в 02:20

Следующий сценарий будет действовать согласно вашему описанию. Я считаю, что это не лучший подход для этой ситуации, но нет апплета с описанной вами функциональностью, о которой я знаю.

Создайте файл в домашней папке со следующим содержимым:

  #! / bin / sh ubuntuone_loc = "/ home / user / Ubuntu One /", если [$  # -eq 0];  затем nautilus «$ ubuntuone_loc» else (i = 0 для файла в «$ @»; do echo $ (($ i * 100 / $ #)) i = $ (($ i + 1)) cp "$ file" "  $ ubuntuone_loc "done echo 100) | zenity --progress --title =" Скопировать файлы прогресса "--text =" Копирование $ # файлов в $ ubuntuone_loc ... "--auto-close & amp;  RUNNING = 0 while [$ RUNNING -eq 0] делать, если [-z "$ (pidof zenity)"] затем убить $ (pidof cp) RUNNING = 1 fi done fi  

Удостоверьтесь вы заменяете «/ home / user / Ubuntu One» вашей одной ubuntu одной папкой. Теперь создайте новую настраиваемую панель запуска и заполните «sh / path / to / the / created / file». Новая пусковая установка должна работать с щелчком и перетаскиванием.

Надеюсь, это сработает для вас. Пользовательский апплет Ubuntu One с таким типом поведения будет приятным.

3
ответ дан 2 August 2018 в 04:24

Следующий сценарий будет действовать согласно вашему описанию. Я считаю, что это не лучший подход для этой ситуации, но нет апплета с описанной вами функциональностью, о которой я знаю.

Создайте файл в домашней папке со следующим содержимым:

  #! / bin / sh ubuntuone_loc = "/ home / user / Ubuntu One /", если [$  # -eq 0];  затем nautilus «$ ubuntuone_loc» else (i = 0 для файла в «$ @»; do echo $ (($ i * 100 / $ #)) i = $ (($ i + 1)) cp "$ file" "  $ ubuntuone_loc "done echo 100) | zenity --progress --title =" Скопировать файлы прогресса "--text =" Копирование $ # файлов в $ ubuntuone_loc ... "--auto-close & amp;  RUNNING = 0 while [$ RUNNING -eq 0] делать, если [-z "$ (pidof zenity)"] затем убить $ (pidof cp) RUNNING = 1 fi done fi  

Удостоверьтесь вы заменяете «/ home / user / Ubuntu One» вашей одной ubuntu одной папкой. Теперь создайте новую настраиваемую панель запуска и заполните «sh / path / to / the / created / file». Новая пусковая установка должна работать с щелчком и перетаскиванием.

Надеюсь, это сработает для вас. Пользовательский апплет Ubuntu One с таким типом поведения будет приятным.

3
ответ дан 4 August 2018 в 20:56

Следующий сценарий будет действовать согласно вашему описанию. Я считаю, что это не лучший подход для этой ситуации, но нет апплета с описанной вами функциональностью, о которой я знаю.

Создайте файл в домашней папке со следующим содержимым:

  #! / bin / sh ubuntuone_loc = "/ home / user / Ubuntu One /", если [$  # -eq 0];  затем nautilus «$ ubuntuone_loc» else (i = 0 для файла в «$ @»; do echo $ (($ i * 100 / $ #)) i = $ (($ i + 1)) cp "$ file" "  $ ubuntuone_loc "done echo 100) | zenity --progress --title =" Скопировать файлы прогресса "--text =" Копирование $ # файлов в $ ubuntuone_loc ... "--auto-close & amp;  RUNNING = 0 while [$ RUNNING -eq 0] делать, если [-z "$ (pidof zenity)"] затем убить $ (pidof cp) RUNNING = 1 fi done fi  

Удостоверьтесь вы заменяете «/ home / user / Ubuntu One» вашей одной ubuntu одной папкой. Теперь создайте новую настраиваемую панель запуска и заполните «sh / path / to / the / created / file». Новая пусковая установка должна работать с щелчком и перетаскиванием.

Надеюсь, это сработает для вас. Пользовательский апплет Ubuntu One с таким типом поведения будет приятным.

3
ответ дан 6 August 2018 в 04:28

Следующий сценарий будет действовать согласно вашему описанию. Я считаю, что это не лучший подход для этой ситуации, но нет апплета с описанной вами функциональностью, о которой я знаю.

Создайте файл в домашней папке со следующим содержимым:

  #! / bin / sh ubuntuone_loc = "/ home / user / Ubuntu One /", если [$  # -eq 0];  затем nautilus «$ ubuntuone_loc» else (i = 0 для файла в «$ @»; do echo $ (($ i * 100 / $ #)) i = $ (($ i + 1)) cp "$ file" "  $ ubuntuone_loc "done echo 100) | zenity --progress --title =" Скопировать файлы прогресса "--text =" Копирование $ # файлов в $ ubuntuone_loc ... "--auto-close & amp;  RUNNING = 0 while [$ RUNNING -eq 0] делать, если [-z "$ (pidof zenity)"] затем убить $ (pidof cp) RUNNING = 1 fi done fi  

Удостоверьтесь вы заменяете «/ home / user / Ubuntu One» вашей одной ubuntu одной папкой. Теперь создайте новую настраиваемую панель запуска и заполните «sh / path / to / the / created / file». Новая пусковая установка должна работать с щелчком и перетаскиванием.

Надеюсь, это сработает для вас. Пользовательский апплет Ubuntu One с таким типом поведения будет приятным.

3
ответ дан 7 August 2018 в 22:37

Следующий сценарий будет действовать согласно вашему описанию. Я считаю, что это не лучший подход для этой ситуации, но нет апплета с описанной вами функциональностью, о которой я знаю.

Создайте файл в домашней папке со следующим содержимым:

  #! / bin / sh ubuntuone_loc = "/ home / user / Ubuntu One /", если [$  # -eq 0];  затем nautilus «$ ubuntuone_loc» else (i = 0 для файла в «$ @»; do echo $ (($ i * 100 / $ #)) i = $ (($ i + 1)) cp "$ file" "  $ ubuntuone_loc "done echo 100) | zenity --progress --title =" Скопировать файлы прогресса "--text =" Копирование $ # файлов в $ ubuntuone_loc ... "--auto-close & amp;  RUNNING = 0 while [$ RUNNING -eq 0] делать, если [-z "$ (pidof zenity)"] затем убить $ (pidof cp) RUNNING = 1 fi done fi  

Удостоверьтесь вы заменяете «/ home / user / Ubuntu One» вашей одной ubuntu одной папкой. Теперь создайте новую настраиваемую панель запуска и заполните «sh / path / to / the / created / file». Новая пусковая установка должна работать с щелчком и перетаскиванием.

Надеюсь, это сработает для вас. Пользовательский апплет Ubuntu One с таким типом поведения будет приятным.

3
ответ дан 10 August 2018 в 10:44

Следующий сценарий будет действовать согласно вашему описанию. Я считаю, что это не лучший подход для этой ситуации, но нет апплета с описанной вами функциональностью, о которой я знаю.

Создайте файл в домашней папке со следующим содержимым:

  #! / bin / sh ubuntuone_loc = "/ home / user / Ubuntu One /", если [$  # -eq 0];  затем nautilus «$ ubuntuone_loc» else (i = 0 для файла в «$ @»; do echo $ (($ i * 100 / $ #)) i = $ (($ i + 1)) cp "$ file" "  $ ubuntuone_loc "done echo 100) | zenity --progress --title =" Скопировать файлы прогресса "--text =" Копирование $ # файлов в $ ubuntuone_loc ... "--auto-close & amp;  RUNNING = 0 while [$ RUNNING -eq 0] делать, если [-z "$ (pidof zenity)"] затем убить $ (pidof cp) RUNNING = 1 fi done fi  

Удостоверьтесь вы заменяете «/ home / user / Ubuntu One» вашей одной ubuntu одной папкой. Теперь создайте новую настраиваемую панель запуска и заполните «sh / path / to / the / created / file». Новая пусковая установка должна работать с щелчком и перетаскиванием.

Надеюсь, это сработает для вас. Пользовательский апплет Ubuntu One с таким типом поведения будет приятным.

3
ответ дан 13 August 2018 в 17:17
  • 1
    Я сделал это и действительно работал. Единственная проблема заключается в том, что он работает только для файлов, нет для удаления ссылок или выделенного текста. Я изменил ваш код для тестирования и при отбрасывании выделенного текста или ссылки $ # равно 0. Наверное, нужно сделать «правильный» апплет с помощью C или python. Есть идеи? – Cesar 21 October 2010 в 21:30
  • 2
    Ну, я должен сказать, что я думаю, что это отличная идея. Проблема в том, что я не думаю, что апплет - лучший подход. Я лично чувствую, что апплеты не подходят для рабочего стола. Если вы хотите продолжить эту идею, не забудьте сообщить мне. – W. Goeman 21 October 2010 в 22:31

Другие вопросы по тегам:

Похожие вопросы: