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 .desktop
arquivo 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_CLASS
nas 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, StartupWMClass
mas 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_CLASS
valores 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 WMCLASS
e clicando primeiro na tela inicial, e depois repetindo com uma Matlab
sessã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.
Drawers
desse 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 Unity
iniciador, que é o que estou tentando parar