lançadores diferentes para as versões do Firefox

1

Estou tentando executar uma cópia legada do Firefox ao lado do maior Firefox. Isso funciona bem, eu tenho dois lançadores assim na minha pasta .local/share/applications :

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Firefox 29
Icon=custom.png
Exec=/usr/local/firefox-29/firefox --no-remote -P "Firefox 29"
StartupNotify=false

e

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Firefox Trunk
Icon=firefox.png
Exec=/usr/local/firefox-trunk/firefox %u -P Trunk --no-remote
StartupNotify=false

Funciona, mas depois de iniciar os dois navegadores eles acabam compartilhando um novo ícone.

Eu encontrei uma diretiva de iniciador chamada StartupWMClass , e tentei fazê-los não combinarem um com o outro ... mas ... acontece que ambos os aplicativos têm exatamente o mesmo WMClass:

$ xprop WM_CLASS                         # then click on FF 29
WM_CLASS(STRING) = "Navigator", "Firefox"
$ xprop WM_CLASS                         # then click on FF trunk
WM_CLASS(STRING) = "Navigator", "Firefox"

Existe uma maneira de especificar o WMClass para um aplicativo?

    
por inanutshellus 14.01.2016 / 15:21

1 resposta

0

Você não pode especificar o WMClass para o Firefox 29, mas é possível para versões mais recentes usando o argumento de linha de comando --class=Something .

Então eu ajustei o lançador de troncos do firefox assim:

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Firefox Trunk
Icon=firefox.png
Exec=/usr/local/firefox-trunk/firefox %u -P Trunk --no-remote --class=FirefoxTrunk
StartupNotify=false
StartupWMClass=FirefoxTrunk

... e adicionei StartupWMClass=Firefox para o launcher do Firefox 29, e agora quando eu executo xprop WM_CLASS ...

$ xprop WM_CLASS                         # then click on FF 29
WM_CLASS(STRING) = "Navigator", "Firefox"
$ xprop WM_CLASS                         # then click on FF trunk
WM_CLASS(STRING) = "Navigator", "FirefoxTrunk"

Yay!

Então, agora, os lançadores funcionam como esperado, com suas janelas anexadas ao lançador correto, e nenhum novo lançador fantasma é criado.

    
por inanutshellus 14.01.2016 / 15:21