Cómo configurar el nombre de la instancia de Google Chrome (o cualquier aplicación x11)

Cómo configurar el nombre de la instancia de Google Chrome (o cualquier aplicación x11)

Ahora estoy usando dwmel administrador de ventanas y sé que puedo establecer reglas para especificar una aplicación en una etiqueta determinada 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
};

Ahora quiero ejecutar varias instancias de Chrome con diferentes páginas web especificadas con diferentes etiquetas. El problema es que algunos de los títulos de las páginas web son dinámicos. Por eso creo que establecer reglas por título no es una buena práctica.

Aquí está mi pregunta: cómo configurar el nombre de instancia de Google-chrome (o cualquier aplicación X11) para poder crear las reglas por nombre de instancia.

Respuesta1

Para Chrome (o Chromium), puede cambiar el segundo elemento WM_CLASSiniciándolo con la --class="myClass"bandera al inicio (documentación). Sin embargo, esto afectará a la classcolumna de su dwmconfiguración y no a la instanceque sería el primer elemento de la WM_CLASSmatriz.

La solución, entonces, podría ser usar --app=URIen su lugar, lo que crea instancias discretas con nombres "fijos" que se basan en la entradaURI. Esto resuelve el problema del título de la pestaña dinámica; Sin embargo, el inconveniente es que en --appel modo solo puedes tener una pestaña (y no tiene bordes).

En cuanto a la pregunta general, se podría wmctrlcambiar la clase de ventana manualmente:http://tripie.sweb.cz/utils/wmctrl/

información relacionada