Мне нравится интегрировать приложение (цифровой шредер, интерфейс для команды уничтожения), чтобы разрешить перетаскивание файлов из Nautilus на значок запуска, а затем открыть программу и заполнить поле пути к файлу. Это возможно? Я думаю, мне нужен код. Программа написана на Python.
В Unity встроена простая поддержка перетаскивания. Если приложение может принять имя файла в качестве аргумента командной строки, вам просто нужно использовать переменную в поле Exec
файла рабочего стола.
Возьмем, к примеру, файл рабочего стола Gedit (с некоторым содержимым, удаленным для удобства чтения):
[Desktop Entry]
Name=gedit
GenericName=Text Editor
Comment=Edit text files
Exec=gedit %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;
Если вы перетащите файл на панель запуска Gedit в Unity, %U
будет заменен на URI файла. .
Переменная является частью спецификации входа рабочего стола :
%u
- один URL. Локальные файлы могут передаваться как file: URL или как путь к файлу.
%U
- список URL. Каждый URL передается в качестве отдельного аргумента исполняемой программе. Локальные файлы могут передаваться как file: URL или как путь к файлу.