Tamanho do ícone para fornecer a unidade .desktop e a sintaxe para referenciá-lo

4

Qual ícone de tamanho devo fornecer (e referência) em um arquivo .desktop para um aplicativo? Eu estou usando o Sublime Text 2, que fornece .PNGs até 256 pixels quadrados, mas por padrão referências 48x48 em seu arquivo .desktop, isso é bom na barra lateral / dock / coisa, mas parece mal dimensionado na troca de app alt-tab ver, que é maior.

Icon=/opt/Sublime Text 2/Icon/48x48/sublime_text.png

Existe algum problema se eu simplesmente fizer referência ao arquivo maior?

Eu também noto que alguns arquivos .desktop existentes não parecem referenciar um arquivo, mas apenas um nome - como isso funciona? (por exemplo, o chromium-browser.desktop apenas tem o valor sem caminho ou extensão de arquivo:

Icon=chromium-browser
    
por Andrew M 19.12.2013 / 17:40

1 resposta

8

Referenciando ícones em .desktop files

Você pode simplesmente colocar o caminho completo no arquivo ou o caminho para um ícone nos diretórios de ícones padrão (explicado abaixo)

Adicionando várias resoluções a um ícone

Você pode deixar seus próprios ícones terem várias resoluções, colocando-os em uma das seguintes pastas:

Substitua <RESOLUTION> pela resolução do ícone (em 48x48 format), substitua <NAME> por um nome exclusivo com o qual você gostaria de fazer referência, substitua .png pela extensão do ícone (se tem um diferente).

  • Apenas para o usuário atual:

    ~/.local/share/icons/hicolor/<RESOLUTION>/apps/<NAME>.png
    
  • Para todos os usuários no sistema:

    /usr/share/icons/hicolor/<RESOLUTION>/apps/<NAME>.png
    

Para fazer referência a esse ícone em um arquivo .desktop , você usará apenas o <NAME> dele sem a extensão.

Notas:

  • O ícone deve ser do formato PNG, XPM ou SVG e ter a extensão de arquivo correta
    (.png, .xpm ou .svg).

  • Se o ícone for um arquivo .svg (Scalable vector graphics), você poderá usar scalable como <RESOLUTION> em qualquer um dos caminhos acima.

Referências:

Como encontrar ícones sem um caminho completo

(Use isso para localizar o ícone para chromium-browser , por exemplo)

Inspirado por resposta de Stefano Palazzo ♦ aqui :

#!/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))

Salve o código acima em um arquivo e execute-o com python3 /path/to/file .

Referências:

por kiri 04.01.2014 / 12:02