Що означає "% U" під час виклику команди?


54

При редагуванні меню Додатки, я бачу , для деяких додатків їх команди мають %Uтакі , як gedit %Uі gnome-mplayer %U, але інші не такі , як gcalctool.

Мені було цікаво, що %Uозначає при виклику команди, а коли вона потрібна і коли її немає? Дякую!

Це мотивовано моїм попереднім запитанням , де я слідував за відповіддю, але не змусив його працювати.

Відповіді:


58

Це параметр ключа Exec у файлах .desktop (визначений у специфікації вводу на робочий стіл ), який описує, як слід обробляти аргументи для програми (з файлового менеджера / запуску програми, наприклад декількох вибраних файлів):

%u Єдина URL-адреса. Локальні файли можуть передаватися як файл: URL-адреси або як шлях до файлу.

%U Список URL-адрес. Кожна URL-адреса передається як окремий аргумент виконуваній програмі. Локальні файли можуть передаватися як файл: URL-адреси або як шлях до файлу.

Так, наприклад, /usr/share/applications/gedit.desktopмістить:

Exec = gedit% U

що означає, що аргументи до gedit розглядаються як список URL-адрес (або локальних файлів).

Повний список можливих параметрів див. У клавіші Exec .


2
Дякую! (1) Чи можете ви навести кілька прикладів? (2) Коли нічого з цього не буде вказано?
Тім

32
Причина існування цих параметрів ключів полягає в тому, що менеджер робочого столу знає, що робити, якщо відкрити декілька вибраних об'єктів одночасно або скинути на нього один або кілька об’єктів. %Uозначає, що програма може прийняти всіх за один виклик; %uозначає, що окремий виклик потрібен кожному об'єкту; якщо жоден з них не вказаний, програма не знає, що робити з речами, що впали на неї. Є інші ключі , які дозволяють менеджеру робочого столу , щоб передати інформацію настройки в програму, а також окремий набір селекторів %f, %F, тобто він приймає один / декілька файлів , але не URL.
geekosaur

1
@geekosaur: Чудовий коментар!
Тім
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.