A maneira mais simples é especificar manualmente o arquivo de imagem:
Icon=/usr/share/icons/MYPROGRAM/MYICON.png
Estou criando um pacote .deb para um aplicativo (não para distribuição pública) e quero ter um ícone para o aplicativo da barra de tarefas, menu, encaixe, etc. O arquivo .desktop
do meu aplicativo tem uma linha para especificar ícones, como:
Icon=preferences-desktop-keyboard
Mas como e onde você cria um novo ícone?
Digamos que eu queira usar um ícone existente, como o ícone da ImageMagick, mostrado em /usr/share/applications/ImageMagick
. O arquivo display.im6.desktop
(que é o que realmente é aberto quando você tenta editar /usr/share/applications/ImageMagick
) tem a linha Icon=display.im6
.
Ok, ótimo. Como não há caminho completo, como faço para encontrar o arquivo gráfico para display.im6
? Em que formato está? Ou são esses arquivos dinâmicos onde há um conjunto deles para tamanhos diferentes?
Então, eu suponho que posso editá-lo no GIMP ou no Inkscape?
Agora, em qual formato eu exporto como e para onde? E eu preciso criar algum tipo de meta-arquivo para que eu possa adicionar uma linha ao lançador do meu aplicativo que lê Icon=myicon
e o sistema saberá onde obter o ícone?
Atualizar
locate display.im6
mostra cerca de 15 entradas. Parece haver dois temas, e um monte de tamanhos diferentes, incluindo um chamado escalável. Eu não posso criar um ícone para cada tema que o usuário possa ter, então eu acho que preciso criar um ícone padrão em algum lugar? Ou eu preciso de um conjunto deles em todos os tamanhos? Ou posso simplesmente criar um arquivo escalável e ele vai descobrir?
Atualização 2
Eu usei locate
para encontrar um ícone existente no formato .svg e editado no inkscape. Eu tentei adicioná-lo ao arquivo .desktop
com o caminho completo:
Icon=/opt/myapp/lib/myapp-51.0.2/icons/myapp.svg
E o arquivo .desktop
tem esse ícone agora, mas quando você instala o .desktop
launcher em /usr/share/applications/
, o luancher no menu principal tem um ícone vermelho de "ícones ausentes".
Por isso, ainda não sei como você cria uma pilha de ícones com os diferentes formatos e tamanhos de arquivo e onde esses arquivos são colocados e como você anexa o conjunto ao arquivo .desktop
.
A maneira mais simples é especificar manualmente o arquivo de imagem:
Icon=/usr/share/icons/MYPROGRAM/MYICON.png
Recomenda-se instalar o ícone em:
/usr/share/pixmaps/
ou: $XDG_DATA_DIRS/icons
Em seguida, declare-o no arquivo .desktop
como (sem extensão):
Icon=filename
Somente se você tiver um pacote simples instalado na pasta /opt
, será necessário usar o caminho absoluto:
Icon=/opt/fullpath/filename.ext
BTW, se não funcionou, talvez você tenha um problema de permissão. Os ícones devem ser legíveis por todos.
Referência: freedesktop.org - Especificação do tema do ícone