Não parece haver muita motivação para implementar algum suporte ao EWMH no Firefox nem no Chrome, mesmo que isso resolva o problema de restauração do espaço de trabalho com um grande número de desktops. Um bug está aberto para o Firefox desde 2007 e um para o Chrome desde 2009.
O que você pode fazer fora do Firefox e do Chrome, se as TABs ativas em diferentes janelas do navegador apontam para URLs diferentes, é usar tendência de URLs diferentes normalmente terem títulos diferentes associados às páginas e, portanto, com a janela em que são exibidos.
Começando com essa ideia, você pode usar a saída de wmctrl -l -G -p
que fornece a você
- id da janela
- número da área de trabalho
- id do processo
- x, y posição da janela
- largura e altura da janela
- nome da máquina
- título da janela (se houver)
para cada janela. Dado um ID de processo PID, você pode ver para onde o link /proc/PID/exe
aponta e filtrar as janelas que não são do navegador. Para as janelas relacionadas ao navegador, salve pelo menos o título da janela e o número da área de trabalho (possível também o tipo de navegador e todas as outras informações).
Depois de um navegador (re) iniciar, quando todas as janelas forem restauradas, mas ativadas em um espaço de trabalho, use os dados salvos para procurar o ID da nova janela, WID, associado a um título específico e empurre-o para o título relacionado recuperado. área de trabalho com wmctrl -i -r WID -t workspacenumber
.
Se você não quiser implementar o que está acima (na maioria das vezes é um processamento de texto e uma pesquisa de link simbólico) em sua linguagem shell ou scripting de escolha, você pode faça o download de um programa que faz tudo isso para você (e um pouco mais). Ou você pode instalá-lo em PyPI usando:
sudo pip install ruamel.bws
após o qual o comando bws
deve estar disponível com opções para save
(vários salvamentos são mantidos, 10 por padrão), list
(mostra as datas salvas com o número de janelas salvas) ou restore
( por padrão, as últimas informações salvas).