.png)
Agora estou usando dwm
o gerenciador de janelas e sei que posso definir regras para especificar um aplicativo para uma determinada tag como esta:
static const Rule rules[] = {
/* xprop(1):
* WM_CLASS(STRING) = instance, class
* WM_NAME(STRING) = title
*/
/* class instance title tags mask isfloating monitor */
{ "Gimp", NULL, NULL, 0, True, -1 },
{ "Google-chrome", NULL, NULL, 1 << 1, False, -1 }, // set chrome's tab. 2013-12-13
{ "UXTerm", NULL, "proxy", 1 << 8, False, -1 }, // let goagent proxy run in tab #9. 2013-12-13
};
Agora quero executar várias instâncias do Chrome com diferentes páginas da Web especificadas para tags diferentes. O problema é que alguns títulos das páginas da web são dinâmicos. Portanto, acho que definir regras por título não é uma boa prática.
Aqui está minha pergunta: como definir o nome da instância do Google-chrome (ou de qualquer aplicativo X11) para que eu possa criar as regras pelo nome da instância.
Responder1
Para o Chrome (ou Chromium), você pode alterar o segundo elemento WM_CLASS
iniciando-o com o --class="myClass"
sinalizador na inicialização (documentação). Porém , isso afetará a class
coluna da sua dwm
configuração, e não aquela instance
que seria o primeiro elemento do WM_CLASS
array.
A solução, então, pode ser usar --app=URI
, em vez disso, o que cria instâncias discretas com nomes "fixos" baseados na entradaURI. Isso resolve o problema do título dinâmico da guia; A desvantagem, porém, é que no --app
modo você só pode ter uma guia (e ela não tem bordas).
Quanto à questão geral, pode-se usar wmctrl
para alterar a classe da janela manualmente:http://tripie.sweb.cz/utils/wmctrl/