我正在使用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">
其他类型的比赛的变化。当窗口匹配时,该操作将不执行任何操作,而当不匹配时(对于所有其他窗口),它将照常关闭。
Openbox 3.6 及更高版本包括额外的选择器标签<class>
,<name>
, 和<role>
如果标题不唯一,这可以帮助更准确地识别您的窗口。它们支持type
与 相同的属性和内容<title>
,但针对相关的 X 属性进行测试。
如果您使用的是 Openbox 的早期版本,并且您的窗口无法通过标题来识别,那么您的运气就不那么好,但是可以通过以下方式来破解某些内容:xdotool
:将 A-F4 操作绑定到更精确地标识窗口的脚本,然后发送绑定到实际关闭操作(如果不匹配)的秘密密钥组合。