%20%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E5%90%8D%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
私は現在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
};
今、異なるタグに指定された異なる Web ページを持つ複数の Chrome インスタンスを実行したいと考えています。問題は、一部の Web ページのタイトルが動的であることです。したがって、タイトルごとにルールを設定するのは良い方法ではないと思います。
質問は次のとおりです。インスタンス名でルールを作成できるように、Google Chrome (または任意の X11 アプリケーション) のインスタンス名を設定する方法を教えてください。
答え1
WM_CLASS
Chrome(またはChromium)の場合、起動時にフラグを付けて起動することで、の2番目の要素を変更できます--class="myClass"
(ドキュメンテーション)。ただし、これは設定class
の列に影響しdwm
、配列instance
の最初の要素となる列には影響しませんWM_CLASS
。
解決策としては、代わりに を使用することです--app=URI
。これは、入力に基づいて「固定」された名前を持つ個別のインスタンスを作成します。URIこれにより、動的なタブ タイトルの問題が解決されます。ただし、欠点は、--app
モードではタブが 1 つしか持てないこと (および境界がない) です。
一般的な質問に関しては、wmctrl
ウィンドウ クラスを手動で変更するには、次のようにします。http://tripie.sweb.cz/utils/wmctrl/