如何设置 google-chrome(或任何 x11 应用程序)的实例名称

如何设置 google-chrome(或任何 x11 应用程序)的实例名称

我现在正在使用dwm窗口管理器,并且我知道我可以设置规则来将应用程序指定给某个标签,如下所示:

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
};

现在我想运行多个 chrome 实例,将不同的网页指定给不同的标签。问题是有些网页的标题是动态的。所以我认为按标题设置规则不是一个好的做法。

这是我的问题:如何设置 Google-chrome(或任何 X11 应用程序)的实例名称,以便我可以按实例名称创建规则。

答案1

WM_CLASS对于 Chrome(或 Chromium),您可以通过在启动时使用标志启动它来更改第二个元素--class="myClass"文档)。但是,这会影响配置class的列dwm,而不是数组instance的第一个元素WM_CLASS

那么,解决方案可能是使用--app=URI,它确实会根据输入创建具有“固定”名称的离散实例URI。这解决了动态选项卡标题的问题;但缺点是在--app模式下您只能有一个选项卡(并且它是无边框的)。

对于一般问题,可以使用wmctrl手动更改窗口类:http://tripie.sweb.cz/utils/wmctrl/

相关内容