
同じプログラムの2つのインスタンスをそれぞれ異なるOpenboxプロパティで実行する必要があります。
Thunderbirdの2つのインスタンスを実行したいとしましょう。 2つのシンボリックリンクを作成しても
/usr/bin/icedove-1
/usr/bin/icedove-2
どちらのインスタンスも同じ名前とタイトルを持っています。
$ obxprop | egrep '_OB_APP'
_OB_APP_TYPE(UTF8_STRING) = "normal"
_OB_APP_TITLE(UTF8_STRING) = "Icedove Mail/News"
_OB_APP_CLASS(UTF8_STRING) = "Icedove"
_OB_APP_NAME(UTF8_STRING) = "Mail"
_OB_APP_ROLE(UTF8_STRING) = "3pane"
同じプログラムの2つのインスタンスをどのように区別しますか?
パラメータを使用してプログラムを起動できますか?これは変わりTITLE
ますかNAME
?
答え1
GTK+アプリケーションであるThunderbirdは、以下をサポートしています。--class
コマンドラインオプションプロパティ設定WM_CLASS
:
$thunderbird --class TEST &
$obxprop | grep 'OB_APP'
_OB_APP_TYPE(UTF8_STRING) = "normal"
_OB_APP_TITLE(UTF8_STRING) = "Mozilla Thunderbird"
_OB_APP_GROUP_CLASS(UTF8_STRING) = "TEST"
_OB_APP_GROUP_NAME(UTF8_STRING) = "thunderbird"
_OB_APP_CLASS(UTF8_STRING) = "TEST"
_OB_APP_NAME(UTF8_STRING) = "Mail"
_OB_APP_ROLE(UTF8_STRING) = "3pane"
Openboxはアプリケーション固有の設定をサポートします。ウィンドウのカテゴリによって決まりますの項目class
にこの属性を使用します。異なるコマンドラインオプションを使用して2つのThunderbirdコピーを開始し、指定したクラスごとにウィンドウマネージャの設定を適用できます。<application>
rc.xml
他のGTK +アプリケーションは通常同じ動作をサポートします。