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:
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á /usr
para los paquetes instalados por el administrador de paquetes, /usr/local/
para otro software instalado para todos los usuarios y $HOME/.local
para 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
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.svg
entraría$HOME/.local/share/icons/scalable/
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 quemy_binary
debe serun ejecutable que se puede buscar en uno de sus$PATH
directorios.Ejecute su aplicación (a) desde Unity Dash, (b) desde la línea de comando usando elnombre exactode su
$PATH
ejecutable [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.