menulibre archivo linux icons gnome kde

archivo - Cómo configurar el icono del escritorio de mi aplicación para Linux: KDE, Gnome, etc.



archivo.desktop linux (3)

Tengo un programa multiplataforma que se ejecuta en Windows, Linux y Macintosh. Mi versión de Windows tiene un ícono, pero no sé cómo hacer que tenga uno para mi compilación de Linux. ¿Hay un formato estándar para KDE, Gnome, etc. o tendré que hacer algo especial para cada uno?

Mi aplicación está en c ++ y se distribuye como fuente para que el usuario final la compile con gcc.

Si puedo tener el ícono incrustado directamente dentro de mi exe binario sería lo mejor.


Para Gnome y Kde, es probable que desee incluir un archivo de escritorio con su aplicación que defina cómo se lanzará. La especificación se puede encontrar aquí . Si tiene un instalador incluido con su aplicación, probablemente quiera que genere este archivo de escritorio y lo coloque en los lugares correctos para hacer entradas en el menú y otras cosas.


La comunidad de KDE con su serie KDE 4 comenzó a usar CMake como un sistema de compilación. Desarrollaron una macro CMake que sabe cómo configurar un ícono para su aplicación en relación con la plataforma (windows (incrustado en exe), mac (paquetes de .app), linux (archivos .desktop), etc.)

Quizás puedas usarlo.


Si está utilizando uno de los sistemas de compilación de F / OSS precocidos, como el soporte de CMake de KDE, es bastante fácil una vez que tiene un archivo .desktop:

install (ARCHIVOS myapp.desktop DESTINATION $ {XDG_APPS_INSTALL_DIR}) kde4_add_app_icon (myapp_SRCS "$ {CMAKE_CURRENT_SOURCE_DIR} /hi*-app-myappname.png")

Si está haciendo lo propio, considere usar xdg-utils , que incluye pequeños scripts útiles como xdg-desktop-menu (instala los elementos del menú de escritorio) y xdg-desktop-icon (instala iconos en el escritorio) para tales cosas.

El estándar .desktop ya se señaló en el primer comentario, aunque también puede tomar uno que ya está instalado en su sistema y modificarlo desde allí. En cuanto a los íconos, PNG y SVG son gentilmente compatibles, aunque los PNG tienden a dar los mejores resultados aún.