Este é um exemplo específico de um problema genérico para o qual ainda não consegui encontrar uma solução.
Eu tenho um programa (Android Virtual Device Manager) que inicia 'subprogramas' (emuladores ou dispositivos virtuais) de dentro de si (também pode ser iniciado de outro lugar). Quero que quaisquer instâncias desses programas sejam agrupadas no mesmo ícone do Unity.
Eu criei um .desktoparquivo para tentar fazer isso, mas não sei exatamente como fazê-lo. O arquivo da área de trabalho é o seguinte:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Android Virtual Device
Icon=/home/ben/.icons/android.svg
Exec=/home/ben/usr/bin/android avd
StartupWMClass=Android Virtual Device Manager
Pelo que entendi, StartupWMClassé o que preciso definir para conseguir isso corretamente. Eu obtive os dois nomes de classe ('Android Virtual Device Manager' e 'emulator64-arm') usando xprop WM_CLASSnas janelas repsectivas. Ambos funcionam individualmente (o ícone do iniciador está corretamente anexado ao programa, não importa como ele é iniciado), mas não consigo fazê-lo funcionar para ambos.
Estou assumindo que, de alguma forma, preciso definir dois valores para, StartupWMClassmas não consegui fazê-lo corretamente (ou saber se é uma operação válida). Eu tentei, separados por dois pontos como variáveis de ambiente, separados por vírgula, aspas, etc. e não consigo encontrar nenhuma dica na documentação oficial .
Alguma sugestão?
EDITAR:
Outro exemplo, mais pedante, mas provavelmente mais identificável, está com Matlab. Estou executando o 2013a e a tela inicial que mostra inicialmente e o programa tem WM_CLASSvalores completamente diferentes . Isso significa que, quando clico no meu iniciador StartupWMClass=com-mathworks-util-PostVMInit, a tela inicial aparece com um Unityícone diferente (padrão Desconhecido) , enquanto o restante aparece agrupado no meu iniciador.
Usando xprop WMCLASSe clicando primeiro na tela inicial, e depois repetindo com uma Matlabsessão ativa , obtenho a seguinte saída do terminal:
ben@ben-OptiPlex-9010:~$ xprop WM_CLASS
WM_CLASS(STRING) = "MATLAB", "MATLAB"
ben@ben-OptiPlex-9010:~$ xprop WM_CLASS
WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "com-mathworks-util-PostVMInit"
Se eu pudesse especificar algo ao longo das linhas de:
StartupWMClass=com-mathworks-util-PostVMInit&&MATLAB
Isso funcionaria perfeitamente (pois ambos funcionam separadamente), mas eu não tenho idéia da sintaxe, se é que ela existe. Só sei que nada do que tentei funcionou até agora.
Qualquer ajuda ou uma resposta definitiva de qualquer forma seria ótima, pois acredito que este é um elemento fundamental de uma área de trabalho que funcione bem.
Drawersdesse link e, pelo que eles mostram, ele simplesmente agrupa os links. Quando você clica em qualquer subitem, ele ainda é criado com seu próprio ícone no Unityiniciador, que é o que estou tentando parar
