Há algum suporte simples de arrastar e soltar embutido no Unity. Se um aplicativo puder usar um nome de arquivo como um argumento de linha de comando, basta usar uma variável no campo Exec
do arquivo da área de trabalho.
Veja, por exemplo, o arquivo da área de trabalho do Gedit (com algum conteúdo removido para facilitar a leitura):
[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;
Se você soltar um arquivo em um iniciador do Gedit no Unity, o %U
será substituído pelo uri do arquivo.
A variável faz parte da Especificação de entrada na área de trabalho :
-
%u
- um único URL. Os arquivos locais podem ser transmitidos como arquivo: URLs ou como caminho do arquivo. -
%U
- Uma lista de URLs. Cada URL é passado como um argumento separado para o programa executável. Os arquivos locais podem ser transmitidos como arquivo: URLs ou como caminho do arquivo.