Quelle icône de taille dois-je fournir (et référencer) dans un fichier .desktop pour une application? J'utilise Sublime Text 2, qui fournit des .PNG d'une taille maximale de 256 pixels, mais référence par défaut 48x48 dans son fichier .desktop. Cela convient très bien dans la barre latérale/le dock/ce qui est affiché, mais il est mal dimensionné lors du changement d'application. vue, qui est plus grande.
Icon=/opt/Sublime Text 2/Icon/48x48/sublime_text.png
Y at-il un problème si je référence simplement le fichier plus gros?
Je remarque également que certains fichiers .desktop existants ne semblent pas référencer un fichier, mais juste un nom - comment cela fonctionne-t-il? (par exemple, chromium-browser.desktop a juste la valeur sans chemin ni extension de fichier:
Icon=chromium-browser
.desktop
Vous pouvez simplement mettre le chemin complet dans le fichier ou le chemin d'une icône dans les répertoires d'icônes par défaut (expliqué ci-dessous)
Vous pouvez laisser vos propres icônes avoir plusieurs résolutions en les plaçant dans l'un des dossiers suivants:
Remplacez <RESOLUTION>
par la résolution de l’icône (au format 48x48
, remplacez <NAME>
par un nom unique avec lequel vous voudriez le référencer, remplacez .png
par l’extension correspondante. l'icône (si elle en a une autre).
Seulement pour l'utilisateur actuel:
~/.local/share/icons/hicolor/<RESOLUTION>/apps/<NAME>.png
Pour tous les utilisateurs du système:
/usr/share/icons/hicolor/<RESOLUTION>/apps/<NAME>.png
Pour référencer cette icône dans un fichier .desktop
, vous n’utiliserez que le <NAME>
sans l’extension.
Remarques:
L'icône doit être au format PNG, XPM ou SVG et porter l'extension de fichier correcte.
(.png, .xpm ou .svg).
Si l'icône est un fichier .svg
(Graphiques vectoriels évolutifs), vous pouvez utiliser scalable
comme <RESOLUTION>
dans l'un des chemins ci-dessus.
Références:
(Utilisez ceci pour localiser l'icône de chromium-browser
, par exemple)
Inspiré par Stefano Palazzo ♦ de la réponse ici :
#!/usr/bin/env python3
from gi.repository import Gtk
icon_name = input("Icon name (case sensitive): ")
if icon_name:
theme = Gtk.IconTheme.get_default()
found_icons = set()
for res in range(0, 512, 2):
icon = theme.lookup_icon(icon_name, res, 0)
if icon:
found_icons.add(icon.get_filename())
print("\n".join(found_icons))
Enregistrez ce qui précède dans un fichier et exécutez-le avec python3 /path/to/file
.
Références: