Openbox
Openbox:基於每個應用程序禁用 Alt-F4
我正在使用
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
orbar
。實現這一目標的最簡單解決方案是什麼?
可以使用If 操作:
<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">
其他種類的匹配。當視窗匹配時,該操作將不執行任何操作,而當它不匹配時(對於每個其他視窗),它將照常關閉。Openbox 3.6 和更新版本包括額外的選擇器標籤
<class>
,<name>
, ,<role>
如果標題不是唯一的,它可以幫助更準確地辨識您的視窗。它們支持與 相同的type
屬性和內容<title>
,但會針對相關的 X 屬性進行測試。如果您使用的是較早版本的 Openbox,並且您的視窗無法通過標題辨識,那麼您的運氣會較差,但可以通過以下方式破解某些內容
xdotool
:將 A-F4 操作綁定到辨識視窗的腳本更準確地說,如果不匹配,則發送一個綁定到實際關閉操作的密鑰組合。