A resposta de Garrett quase funciona para mim, mas ao invés disso eu tenho que usar
StartupWMClass=sun-awt-X11-XFramePeer
Isso ainda dá um ícone de lançador extra enquanto a splashscreen é visível (porque a WM_CLASS da tela de spash é apenas "MATLAB"), mas a janela fica agrupada adequadamente sob o lançador.
Novas instâncias do Matlab (iniciadas pelo terminal, ou Synapse, ou de outro tty com export DISPLAY=:0
) também são agrupadas sob este launcher, e a opção quit do launcher mata todas elas.
Eu encontrei este valor WM_CLASS usando
$ xprop WM_CLASS
e, em seguida, clicando na janela do Matlab, um comando que recebi de Superusuário .
Para evitar o ícone de lançador extra temporário, você também pode adicionar o -nosplash
sinalizador após o -desktop
um.
Então, meu ~/.local/share/applications/MATLAB.desktop
é assim:
[Desktop Entry]
Version=1.0
Type=Application
Icon=matlab
Name=Matlab
Comment=Start MATLAB - The Language of Technical Computing
Exec=matlab -desktop -nosplash
Terminal=false
Categories=Development;
StartupNotify=true
StartupWMClass=sun-awt-X11-XFramePeer
X-Ayatana-Desktop-Shortcuts=New_Window;
Name[en_US]=MATLAB
[New_Window Shortcut Group]
Name=start a new MATLAB instance
Exec=matlab -desktop
Isso está no Ubuntu 12.10, com o Matlab R2012b