如何設定 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它,它確實創建具有基於輸入的“固定”名稱的離散實例統一資源標識符。這樣就解決了動態tab標題的問題;然而缺點是在--app模式下你只能有一個選項卡(而且它是無邊框的)。

至於一般問題,可以wmctrl手動更改視窗類別:http://tripie.sweb.cz/utils/wmctrl/

相關內容