2012-06-11 7 views
7

Ho sviluppato un'app per Ubuntu in Python usando rapidamente. L'ho confezionato e funziona perfettamente, ma non sono riuscito a trovare come aggiungere un'icona alla mia app al momento è come un'icona vuota.Come aggiungere un'icona a un'app ubuntu

Ho usato Glade e gtk.

+2

ho scritto un tutorial su come fare questo: http: // ptomato. github.com/advanced-gtk-techniques/html/desktop-file.html – ptomato

risposta

7

Il modo migliore è installare una "icona con nome". Per fare ciò, lo script di installazione copierà il file in una posizione specifica che dipende dal sistema dell'utente, ma in genere <datadir>/icons/hicolor/<size>/app/<app-name.png|svg> dove datadir è qualcosa come /usr/local/share. Le dimensioni minime suggerite per le icone sono generalmente un'icona scalabile con formato SVG e un'icona PNG di 48x48 pixel.

Dopo aver copiato le icone nella posizione corretta, è possibile aggiornare la cache di GTK utilizzando il comando gtk- update-icon-cache.

Dopo aver installato un "chiamato icona", l'applicazione può fare riferimento ad esso per nome:

window = Gtk.Window 
window.set_icon_name("myapp") 

Ora, un'altra cosa è necessario fare, è installare un "entry destop" file. Questi dicono a Ubuntu (o GNOME o KDE o Xfce) della tua applicazione in modo che possa essere lanciata e anche quale sia l'icona. Creare il file in base allo Desktop Entry Specification e copiarlo in <datadir>/share/applicaions/ con l'estensione del file .desktop. È possibile visualizzare esempi in /usr/share/applications/ da applicazioni installate sul sistema. È anche possibile utilizzare Desktop Entry Editor per creare il file .desktop. Nel file desktop, l'icona sarà impostata anche sulla tua "icona con nome".

Quindi, tutto sommato, per installare un'icona di nome e di un desktop entry, si sta guardando qualcosa di simile:

/usr/local/share/applications/myapp.desktop 
/usr/local/share/icons/hicolor/scalable/apps/myapp.svg 
/usr/local/share/icons/hicolor/48x48/apps/myapp.png 
+1

/usr/local/share non è corretto per la maggior parte delle situazioni; in base alle regole Debian riservate agli amministratori. Dovrebbe essere/usr/share/... – bootchk

+1

Un amministratore tipicamente installerebbe un tarball sorgente e quindi il prefisso sarebbe/usr/share. Se hai le risorse per mantenere le distribuzioni binarie (.deb, .rpm, ecc.) Seguirai le regole di distribuzione come/usr –

+0

Si può aggiungere l'icona alla propria abitazione? Sto cercando di aggiungere un'icona a '~/.local/share/icons/hicolor /', ma non posso –