Come impostare l'icona del desktop della mia applicazione per Linux: KDE, Gnome ecc?

StackOverflow https://stackoverflow.com/questions/119031

  •  02-07-2019
  •  | 
  •  

Domanda

Ho un programma multipiattaforma che funziona su Windows, Linux e Macintosh. La mia versione di Windows ha un'icona ma non so come farne una per la mia build di Linux. Esiste un formato standard per KDE, Gnome ecc. O dovrò fare qualcosa di speciale per ognuno?

La mia app è in c ++ e distribuita come sorgente in modo che l'utente finale la compili con gcc.

Se potessi avere l'icona incorporata direttamente nel mio binario exe sarebbe la migliore.

È stato utile?

Soluzione

Per Gnome e Kde, probabilmente vorrai includere un file desktop con la tua app che definisce come verrà lanciato. Le specifiche sono disponibili qui . Se hai un programma di installazione incluso con la tua app, probabilmente vorrai farlo generare questo file desktop e metterlo nei posti giusti per effettuare voci di menu e quant'altro

Altri suggerimenti

Se stai usando uno dei sistemi di build F / OSS precotti, come il supporto CMake di KDE, è davvero abbastanza facile una volta che hai un file .desktop:

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

Se stai realizzando il tuo, considera l'utilizzo di xdg-utils , che include piccoli script utili come xdg-desktop-menu (installa le voci del menu desktop) e xdg-desktop-icon (installa le icone sul desktop) per tali cose.

Lo standard .desktop era già stato sottolineato nel primo commento, anche se puoi anche afferrarne uno già installato sul tuo sistema e modificarlo da lì. Per quanto riguarda le icone, i PNG e gli SVG sono supportati geeralmente sebbene i PNG tendano a dare ancora i migliori risultati.

La comunità KDE con la sua serie KDE 4 ha iniziato a usare CMake come sistema di compilazione. Hanno sviluppato una macro CMake che sa come impostare un'icona per la tua applicazione riguardo alla piattaforma (windows (incorporato in exe), mac (bundle .app), linux (file .desktop) ecc.)

Forse puoi usarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top