Was bedeutet "% U" beim Aufrufen eines Befehls?

54

Wenn das Menü Anwendungen bearbeiten, sehe ich für einige Anwendungen haben ihre Befehle %Uwie gedit %Uund gnome-mplayer %U, aber andere nicht wie gcalctool.

Ich habe mich gefragt, was es %Uheißt, wenn ein Befehl aufgerufen wird und wann er benötigt wird und wann nicht? Vielen Dank!

Dies ist auf meine vorherige Frage zurückzuführen , bei der ich einer Antwort gefolgt bin , diese aber nicht zum Funktionieren gebracht habe.

Tim
quelle

Antworten:

58

Es ist ein Parameter für den Exec- Schlüssel in .desktop- Dateien (definiert in der Desktop Entry-Spezifikation ), der beschreibt, wie Argumente an das Programm (vom Dateimanager / Programmstarter, z. B. mehrere ausgewählte Dateien) behandelt werden sollen:

%u Eine einzelne URL. Lokale Dateien können entweder als file: URLs oder als Dateipfad übergeben werden.

%U Eine Liste von URLs. Jede URL wird als separates Argument an das ausführbare Programm übergeben. Lokale Dateien können entweder als file: URLs oder als Dateipfad übergeben werden.

So /usr/share/applications/gedit.desktopenthält zB :

Exec = gedit% U

Dies bedeutet, dass Argumente für gedit als eine Liste von URLs (oder lokalen Dateien) behandelt werden.

Eine vollständige Liste der möglichen Parameter finden Sie unter Die Exec-Taste .

Drehmoment
quelle
2
Vielen Dank! (1) Können Sie einige Beispiele nennen? (2) Wann wird keine dieser Angaben gemacht?
Tim
32
Der Grund, warum diese Parameterschlüssel vorhanden sind, besteht darin, dass der Desktop Manager weiß, was zu tun ist, wenn Sie mehrere ausgewählte Objekte gleichzeitig öffnen oder ein oder mehrere Objekte darauf ablegen. %Ubedeutet, dass das Programm alle in einem einzigen Aufruf ausführen kann; %ubedeutet, dass für jedes Objekt ein separater Aufruf erforderlich ist; Wenn keine von ihnen angegeben ist, weiß das Programm nicht, was mit den darauf abgelegten Dingen zu tun ist. Es gibt auch andere Tasten , die den Desktop - Manager ermöglichen die Anpassung Informationen an das Programm zu übergeben, und ein separater Satz von Selektoren %f, %Fbedeutet , es dauert eine / mehrere Dateien aber nicht URLs.
Geekosaurier
1
@geekosaur: Großartiger Kommentar!
Tim