Co oznacza „% U” podczas wywoływania polecenia?

54

Podczas edycji menu Aplikacje widzę, że niektóre aplikacje mają %Utakie polecenia jak gedit %Ui gnome-mplayer %U, ale inne nie gcalctool.

Zastanawiałem się, co %Uznaczy wywoływanie polecenia, a kiedy jest ono potrzebne, a kiedy nie? Dzięki!

Jest to uzasadnione moim poprzednim pytaniem , w którym podążyłem za odpowiedzią, ale nie udało mi się.

Tim
źródło

Odpowiedzi:

58

Jest to parametr klucza Exec w plikach .desktop (zdefiniowany w specyfikacji Desktop Entry Specification ), który opisuje, jak powinny być obsługiwane argumenty do programu (z menedżera plików / programu uruchamiającego program, np. Wielu wybranych plików):

%u Pojedynczy adres URL. Pliki lokalne mogą być przekazywane jako plik: adresy URL lub jako ścieżka do pliku.

%U Lista adresów URL. Każdy adres URL jest przekazywany jako osobny argument do programu wykonywalnego. Pliki lokalne mogą być przekazywane jako plik: adresy URL lub jako ścieżka do pliku.

Na przykład /usr/share/applications/gedit.desktopzawiera:

Exec = gedit% U

co oznacza, że ​​argumenty gedit będą traktowane jako lista adresów URL (lub plików lokalnych).

Aby uzyskać pełną listę możliwych parametrów, zobacz Klucz Exec .

htorque
źródło
2
Dzięki! (1) Czy możesz podać kilka przykładów? (2) Kiedy nie zostanie określony żaden z nich?
Tim
32
Powodem istnienia tych kluczy parametrów jest to, że menedżer pulpitu wie, co zrobić, jeśli otworzysz wiele wybranych obiektów w tym samym czasie lub upuścisz na nich jeden lub więcej obiektów. %Uoznacza, że ​​program może wziąć je wszystkie w jednym wywołaniu; %uoznacza, że ​​dla każdego obiektu potrzebne jest osobne wywołanie; jeśli nie określono żadnego z nich, program nie wie, co zrobić z upuszczonymi na nim rzeczami. Istnieją inne klucze, które pozwalają Desktop Manager, aby przekazać informacje dostosowywania się do programu, a oddzielny zestaw selektorów %f, %F, co oznacza, że trwa jeden / wielu plików, ale nie adresy URL.
geekozaur
1
@geekosaur: Świetny komentarz!
Tim