Ícones duplicados para itens do iniciador do GNOME criados manualmente

46

Fiz o download do Aptana Studio 3 e criei o seguinte item do iniciador para usar o Alacarte:

Arquivo: alacarte-made.desktop

[Desktop Entry]
Comment=
Terminal=false
Name=Aptana Studio 3
Exec=AptanaStudio3
Type=Application
Icon=/opt/Aptana-Studio-3/icon.xpm

Então, quando adiciono o ícone aos favoritos e abre o Aptana Studio 3, recebo dois ícones para ele, um para iniciar novas instâncias e outro para a instância em execução no momento, conforme a captura de tela a seguir:

insira a descrição da imagem aqui

Como forço o aplicativo a usar o mesmo ícone adicionado aos favoritos?

malhobayyeb
fonte
Você pode especificar como instalou o Aptana? No site oficial, tudo o que vejo é um arquivo zip autônomo. (algo como aplicativos portáteis no Windows).
Hytromo
Sim foi isso.
precisa saber é o seguinte
Então, como foi parar /opt? Além disso, está no seu $PATH? Como, especificando apenas AptanaStudio3no seu arquivo da área de trabalho, ele pode ser executado?
Hytromo
1
Eu fiz isso, obrigado. Eu criei um link Sym em / usr / bin para /opt/.../aptana Era apenas uma questão de nomeação. Eu tinha que nomear o .desktop e bin e ligação da mesma :)
malhobayyeb
3
Por favor, responda em detalhes abaixo como você conseguiu resolver o seu problema :) (Eu não sei, eu só perguntei-lhe algumas perguntas)
hytromo

Respostas:

67

Para poupar a seleção do thread mencionado por @earthmeLon, faça o seguinte:

  1. Inicie o aplicativo
  2. Ligue um terminal e corra xprop WM_CLASS. Clique na janela do aplicativo.
  3. Você obterá alguma saída como WM_CLASS(STRING) = "Navigator", "Firefox". Escolha uma das classes, por Firefoxexemplo, neste exemplo
  4. Adicione a classe como o valor de StartupWMClassno .desktoparquivo Por exemplo,StartupWMClass=Firefox
  5. Salve o .desktoparquivo, feche o aplicativo e abra-o novamente. Agora deve haver apenas 1 ícone no iniciador
Erin Drummond
fonte
3
Para aqueles que têm o mesmo problema no GNOME você pode usar MenuLibre: Ao editar a entrada correspondente você vai encontrar um campo para definir StatupWMClass na lista que aparece ao clicar no botão "Avançado"
conceptdeluxe
Se alguém está tentando lidar com um problema com o mendeleyexecutável, certifique-se também editar .../bin/install-mendeley-link-handler.sh, porque substitui .desktoparquivos em cada corrida
Minner
TLDR; * .desktop filename = WM_CLASS (STRING) último item, mas em minúsculas. Detalhes: tive que resolver esse problema ao criar o atalho "Firefox Developer edition". Nomear o arquivo "firefox.desktop" simplesmente sombreava o ícone padrão do firefox. Usando xprop WM_CLASS e clicando na janela, retornou WM_CLASS (STRING) = "Navegador", "Firefox Developer Edition". No final, renomeei meu arquivo .desktop da seguinte forma: mv ffde.desktop "firefox developer edition.desktop". (Outra questão, porém, eu não pode botão direito do mouse »AddToFavorites no ícone da extensão gnome dock)
Stphane
1
Se você não quiser / não puder modificar o arquivo .desktop original na pasta / usr / share / applications, poderá copiar o arquivo para a pasta local, ~ / .local / share / applications e modificar o arquivo arquivo aqui. Portanto, você terá um arquivo original em todo o sistema (provavelmente fornecido pelo desenvolvedor / distribuição) e um arquivo personalizado que substitui o arquivo original no painel de aplicativos do gnome-shell. É desejável copiar para a pasta local, pois o arquivo em / usr / share / applications pode ser revertido na próxima atualização do pacote.
Vinícius A. Jorge
Vários aplicativos não possuem WM_CLASS, ou pelo menos o xprop não o mostra. Isso pode ser feito com outra propriedade? Por exemplo, uma expressão regular em WM_NAME?
jws 03/04
3

StartupWMClass

Você pode usar o StartupWMClass para agrupar janelas por classe.

Veja este tópico para informações adicionais.

earthmeLon
fonte