¿Qué significa "% U" cuando se llama a un comando?


54

Al editar el menú de aplicaciones, veo para algunas aplicaciones tienen sus comandos %Utales como gedit %Uy gnome-mplayer %U, pero los demás no como gcalctool.

Me preguntaba qué %Usignifica cuando se llama un comando, y cuándo se necesita y cuándo no. ¡Gracias!

Esto está motivado por mi pregunta anterior , donde seguí una respuesta pero no la hice funcionar.

Respuestas:


58

Es un parámetro para la clave Exec en archivos .desktop (definido en la Especificación de entrada de escritorio ) que describe cómo se deben manejar los argumentos del programa (desde el administrador de archivos / iniciador de programas, por ejemplo, múltiples archivos seleccionados):

%u Una sola URL. Los archivos locales se pueden pasar como archivo: URL o como ruta de archivo.

%U Una lista de URL. Cada URL se pasa como un argumento separado al programa ejecutable. Los archivos locales se pueden pasar como archivo: URL o como ruta de archivo.

Entonces, por ejemplo, /usr/share/applications/gedit.desktopcontiene:

Exec = gedit% U

lo que significa que los argumentos de gedit se tratarán como una lista de URL (o archivos locales).

Para obtener una lista completa de los posibles parámetros, consulte La tecla Exec .


2
¡Gracias! (1) ¿Podría dar algunos ejemplos? (2) ¿Cuándo no se especificará ninguno de estos?
Tim

32
La razón por la que existen estas claves de parámetros es para que el administrador de escritorio sepa qué hacer si abre varios objetos seleccionados al mismo tiempo o suelta uno o más objetos en él. %Usignifica que el programa puede tomarlos a todos en una sola invocación; %usignifica que se necesita una invocación separada para cada objeto; Si no se especifica ninguno de ellos, el programa no sabe qué hacer con las cosas que se le caen encima. Hay otras teclas que permiten al administrador de escritorio para pasar información de personalización para el programa, y un conjunto separado de selectores %f, %Fque significa que se necesita uno / varios archivos pero no URLs.
geekosaur

1
@geekosaur: ¡Gran comentario!
Tim
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.