私は使用しており、LXDE
私のタスクには次のようなタスクが定義され.config/openbox/lxde-rc.xml
ています。ALT-F4
<keybind key="A-F4">
<action name="Close"/>
</keybind>
予想通り、これはすべてのアプリケーションで機能します。押すとALT-F4ウィンドウが閉じます。
foo
に免疫するアプリケーションがありますALT-F4。つまり、押したときにALT-F4ウィンドウが開いたままにしたいのです(操作は完全に無視する必要があります)。
そのようなルールを作成することは可能ですか?
編集:私の答えに基づいて@Michael Homer
以下を含めました.config/openbox/lxde-rc.xml
。
<keybind key="A-F4">
<action name="If">
<title>foo</title>
<then>
<!-- Do nothing for foo -->
</then>
<else>
<action name="Close"/>
</else>
</action>
</keybind>
foo
これはうまく機能しますが、ORと一致する必要がありますbar
。
これを達成する最も簡単な解決策は何ですか?
答え1
これは可能です行動する場合:
<keybind key="A-F4">
<action name="If">
<title>* foo</title>
<then><!-- Do nothing for foo --></then>
<else>
<action name="Close" />
</else>
</action>
</keybind>
この<title>
条件は、「foo」で終わるウィンドウのタイトルと一致します。他の種類のゲームにもバリエーションが<title type="regex">
あります。<title type="exact">
ウィンドウが一致すると、操作は何もしません。一致しない場合(他のすべてのウィンドウについて)、通常どおり閉じます。
オープンボックス3.6以上追加のセレクタタグを含める<class>
、、、<name>
<role>
タイトルが一意でない場合は、ウィンドウをより正確に識別するのに役立ちます。type
同じプロパティとコンテンツをサポートしてい<title>
ますが、関連するXプロパティに対してテストされました。
以前のバージョンのOpenboxを使用していて、タイトルでウィンドウを識別できない場合は、幸運ではありません。ただし、次の方法でハッキングできます。xdotool
:ウィンドウをより正確に識別するスクリプトにA-F4ジョブをバインドし、実際の閉じるジョブにバインドされた秘密鍵の組み合わせを送信します(一致しない場合)。