Dois ícones no painel de unidade no lançamento de aplicativo não padrão [duplicado]

0

Eu tenho um aplicativo que não vem de nenhum repositório do Ubuntu (nem oficial, nem ppa), mas está disponível como tgz e deve ser descompactado e pronto para uso. Para ser preciso, é LightTable . O problema é que o aplicativo, quando lançado, mostra seu próprio painel de unidade de ícone n. Depois de criar o arquivo .desktop personalizado e colocar o atalho no painel de unidade (arrastando-o do lançador de painel) e lançando-o, vejo dois ícones - um colocado por mim e outro com um aplicativo real.

Este é o conteúdo do .desktop:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/LightTable/LightTable
Name=Light Table
Icon=/opt/LightTable/core/img/lticon.png

Mais uma coisa. O /opt/LightTable/LightTable é o arquivo de script bash e, por fim, /opt/LightTable/ltbin está sendo lançado. Acho que esse é o problema, mas não tenho ideia de como consertar o problema.

Obrigado.

    
por igorp1024 07.04.2015 / 16:51

1 resposta

1

Você precisa adicionar uma string StartupWMClass ao seu arquivo .desktop. Esta é uma string que define em qual classe o aplicativo é agrupado no Iniciador Unity na inicialização.

A solução é adicionar StartupWMClass ao seu arquivo da área de trabalho. Primeiro você precisa encontrar a classe adequada para sua aplicação.

É explicado aqui (Graças a @chaos ).

Abra sua janela Light Table e digite terminal:

xprop WM_CLASS

Em seguida, clique na janela da Tabela de Vida.

Para o terminal gnome, WM_CLASS deve ser algo como

WM_CLASS(STRING) = "gnome-terminal", "Gnome-terminal"

Assim, todas as janelas com WM_CLASS "gnome-terminal" e "Gnome-terminal" são agrupadas. Para a mesa de luz, você verá uma classe diferente. Escolha um e lembre-se.

Depois de encontrar sua classe de programa, adicione isso ao seu arquivo .desktop:

StartupWMClass=CLASS

Substitua CLASS pela classe do comando anterior.

    
por shaddy 07.04.2015 / 17:10