Nombres de aplicaciones desde la perspectiva de Ubuntu

8

Me preguntaba cómo Ubuntu es capaz de descubrir el nombre propio de una aplicación. Por ejemplo, cuando selecciona Open with -> Other applicationdel menú contextual, se le presenta esta lista.

lista de aplicaciones

¿Cómo le enseña un desarrollador a Ubuntu el nombre de su aplicación y cómo puede otro desarrollador recuperar el nombre de una aplicación del sistema? No necesito código real, más bien solo estoy interesado en el lado conceptual de las cosas.


fuente

Respuestas:

8

Esto se especifica en el archivo de entrada de escritorio de una aplicación . Los archivos de entrada de escritorio son iniciadores para la aplicación (el mismo formato de archivo que los iniciadores que puede crear en su escritorio) que también contienen varios metadatos. Cuando se instala una aplicación, estos archivos de entrada de escritorio se colocan en / usr / share / aplicaciones y creo que su contenido también se almacena en caché para mejorar la velocidad.

El dato importante definido aquí es la lista de tipos MIME que la aplicación puede abrir. Esto se define en la clave 'MimeType' en el archivo de entrada del escritorio. Por ejemplo, GIMP tiene lo siguiente en su entrada de escritorio:

MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;image/x-wmf;

Esto especifica una lista de tipos de archivos que GIMP puede abrir.

El nombre de la aplicación se especifica con la tecla 'Nombre', por ejemplo.

Name=GIMP Image Editor

Como puede ver, hay iconos al lado de los nombres. Estos también se especifican en el archivo de entrada del escritorio como un nombre de icono (para el que se busca el archivo correcto desde el tema del icono) o como una ruta de archivo de icono. GIMP tiene lo siguiente:

Icon=gimp

En el cuadro de diálogo 'Abrir con -> Otra aplicación', las Aplicaciones recomendadas son las aplicaciones que especifican que pueden abrir el tipo de archivo y las Otras aplicaciones son aquellas que no lo han hecho.

Cuando haya elegido la aplicación, el administrador de archivos busca cómo ejecutar la aplicación para abrir los archivos. Busca la tecla 'Exec' en la entrada del escritorio. GIMP tiene la siguiente clave Exec:

Exec=gimp-2.6 %U

Esto significa que el comando:

gimp-2.6 %U

se ejecutará para abrir los archivos %Ureemplazados por una lista de URL (normalmente file: // urls) que representan los archivos que se han seleccionado para abrir. Además de '% U', la aplicación puede usar '% u' para una única url o '% f' / '% F' para una o varias rutas de archivos.

dv3500ea
fuente
2

Eso es muy facil. Hay archivos .desktop que contienen esta información:

[Desktop Entry]
Name=Image Viewer
Comment=Browse and rotate images
Exec=eog %U
Type=Application
Categories=GNOME;GTK;Graphics;RasterGraphics;Viewer;
MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-bmp;image/x-gray;image/x-icb;image/x-ico;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-xbitmap;image/x-xpixmap;image/x-pcx;image/svg+xml;image/svg+xml-compressed;image/vnd.wap.wbmp;

Puedes verlos en / usr / share / aplicaciones

Martin Ueding
fuente