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

Yan*_*Liu 6 google-chrome xorg dwm

我现在正在使用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
};
Run Code Online (Sandbox Code Playgroud)

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

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

Fra*_*cci 1

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

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

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