web-dev-qa-db-fra.com

Taille de l'icône pour fournir l'unité .desktop et la syntaxe pour la référencer

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
4
Andrew M

Référencement des icônes dans les fichiers .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)


Ajout de plusieurs résolutions à une icône

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:


Recherche d'icônes sans chemin complet

(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:

9
kiri