O que significa "% U" ao chamar um comando?

54

Ao editar o menu Aplicativos, vejo para alguns aplicativos seus comandos %Ucomo gedit %Ue gnome-mplayer %U, mas outros não gcalctool.

Eu queria saber o que %Usignifica ao chamar um comando, quando é necessário e quando não é? Obrigado!

Isso é motivado pela minha pergunta anterior , na qual segui uma resposta, mas não a fiz funcionar.

Tim
fonte

Respostas:

58

É um parâmetro para a chave Exec nos arquivos .desktop (definido na Especificação de entrada na área de trabalho ) que descreve como os argumentos do programa (do gerenciador de arquivos / iniciador do programa, por exemplo, vários arquivos selecionados) devem ser tratados:

%u Um único URL. Os arquivos locais podem ser passados ​​como file: URLs ou como caminho do arquivo.

%U Uma lista de URLs. Cada URL é passada como um argumento separado para o programa executável. Os arquivos locais podem ser passados ​​como file: URLs ou como caminho do arquivo.

Então, por exemplo, /usr/share/applications/gedit.desktopcontém:

Exec = gedit% U

o que significa que os argumentos para o gedit serão tratados como uma lista de URLs (ou arquivos locais).

Para obter uma lista completa dos parâmetros possíveis, consulte A tecla Exec .

htorque
fonte
2
Obrigado! (1) Você poderia dar alguns exemplos? (2) Quando nada disso será especificado?
Tim
32
A razão pela qual essas chaves de parâmetro existem é para que o gerente da área de trabalho saiba o que fazer se você abrir vários objetos selecionados ao mesmo tempo ou soltar um ou mais objetos nele. %Usignifica que o programa pode levar todos eles em uma única chamada; %usignifica que é necessária uma chamada separada para cada objeto; se nenhum deles for especificado, o programa não saberá o que fazer com as coisas descartadas. Há outras teclas que permitem que o gerenciador de desktop para passar informações de personalização para o programa, e um conjunto separado de selectores %f, %F, o que significa que leva um / vários arquivos, mas não URLs.
Geekosaur
11
@geekosaur: Ótimo comentário!
Tim