Icono de la aplicación PyGTK difuminado en Unity

Icono de la aplicación PyGTK difuminado en Unity

Tengo un ícono de 128x128 al que se hace referencia en el archivo glade de la ventana principal como <property name="icon">../media/my-icon.svg</property>.

Lo intenté, tanto con svg como con png, pero siempre está muy borroso en el conmutador de aplicaciones de Ubuntu (Alt + Tab).

Noté lo mismo al crear una aplicación a partir de una plantilla usando rápidamente, el logotipo de Ubuntu también está muy borroso.

¿Alguna idea de por qué podría suceder esto?

Respuesta1

Qué está sucediendo

La <property name="icon">configuración se refiere al ícono de la ventana, no al ícono de la aplicación. Según tengo entendido, el servidor de ventanas de Ubuntu (X.org) los reduce a un tamaño pequeño después de cargarlos. Si no recuerdas del año 2009, solían usarse en esta capacidad:

Imagen del icono de la ventana

Usar íconos de aplicaciones en su lugar

Ubuntu Unity utilizará este formato de baja resolución si es necesario. Sin embargo, normalmente recupera los iconos de las aplicaciones según el Icon=valor deel iniciador de aplicaciones de una ventana determinada, llamado "entrada de escritorio".

Si es un desarrollador de aplicaciones normal que sólo planea publicar su programa conel portal para desarrolladores de aplicaciones, probablemente puedas dejar de leer aquí. El servicio de empaquetado gratuito se encargará de escribir la entrada del escritorio de su aplicación y colocar los íconos instalados en la parte derecha del sistema de archivos. Si no...

El meollo de la cuestión

Cómo crear una entrada en el escritorio y hacer que Ubuntu haga coincidir su ventana PyGTK con el icono y el nombre correctos de la aplicaciónya está documentado en esta pregunta. ¿Pero dónde estás realmente?lugariconos para que se muestre el correcto?

Da la casualidad de que la respuesta es bastante arcana. Según las especificaciones de freedesktop.org, los iconos se buscan y cargan por tamaño, tema de icono y (cuando sea necesario) localización. Los iconos pueden incluso instalarse en varios prefijos diferentes dependiendo de la fuente que los instaló. Ubuntu "consulta" iconos por contexto.

Las reglas simples: use un nombre de ícono único para su aplicación para evitar coincidencias falsas con otros íconos. Coloque los íconos de su aplicación en uno de los siguientes directorios (o un subdirectorio del mismo):

<user prefix>/share/icons/<icon width>x<icon height>/apps/
<user prefix>/share/icons/scalable/apps/

<user_prefix>es la ruta de instalación de su aplicación (será /usrpara los paquetes instalados por el administrador de paquetes, /usr/local/para otro software instalado para todos los usuarios y $HOME/.localpara instalaciones de un solo usuario). <icon width>y <icon height>(o 'escalable' para SVG) se refieren a las dimensiones del icono. Si crea muchas resoluciones de íconos diferentes, Ubuntu siempre encontrará y seleccionará la correcta para cualquier contexto.

Obtener el ícono de aplicación correcto para mostrar durante el desarrollo

  1. Cree un ícono escalable o de alta resolución y colóquelo en el subdirectorio correcto del share/directorio de inicio de su usuario. Por ejemplo, myapp.svgentraría$HOME/.local/share/icons/scalable/

  2. Escriba una entrada en el escritorio que incluya el nombre sin extensión de su icono. Por ejemplo

    [Desktop Entry]
    
    Name=My Application
    Exec=my_binary
    Icon=myapp
    

    Coloque esto en $HOME/.local/share/applications/. Tenga en cuenta que my_binarydebe serun ejecutable que se puede buscar en uno de sus $PATHdirectorios.

  3. Ejecute su aplicación (a) desde Unity Dash, (b) desde la línea de comando usando elnombre exactode su $PATHejecutable [por ejemplo, 'my_binary'].

Si todo eso parece un galimatías...

Abra su explorador de archivos y explore los directorios /usr/share/applications/y /usr/share/icons/. Mire a su alrededor y comprenderá cómo funcionan los metadatos y los íconos de las aplicaciones en Ubuntu.

información relacionada