我正在使用LXDE并且在我的.config/openbox/lxde-rc.xml操作中ALT-F4定义了:
<keybind key="A-F4">
<action name="Close"/>
</keybind>
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,这适用于所有应用程序。当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>
Run Code Online (Sandbox Code Playgroud)
这很好用,但我需要匹配foo或bar。
实现这一目标的最简单解决方案是什么?
可以使用If 操作:
<keybind key="A-F4">
<action name="If">
<title>* foo</title>
<then><!-- Do nothing for foo --></then>
<else>
<action name="Close" />
</else>
</action>
</keybind>
Run Code Online (Sandbox Code Playgroud)
该<title>条件将匹配以“foo”结尾的窗口标题。有变化<title type="regex">和<title type="exact">其他类型的匹配。当窗口匹配时,操作什么也不做,当它不匹配时(对于每个其他窗口),它会像往常一样关闭。
Openbox 3.6 和更新版本包含额外的选择器标签<class>, <name>,<role>如果标题不是唯一的,它们可以帮助更准确地识别您的窗口。它们支持与 相同的type属性和内容<title>,但会针对相关的 X 属性进行测试。
如果您使用的是较早版本的 Openbox 并且无法通过标题识别您的窗口,那么您的运气就不那么好了,但是可以通过以下方式破解某些内容xdotool:将 A-F4 操作绑定到识别窗口的脚本更准确地说,然后发送一个密钥组合,如果不匹配,该组合将绑定到实际关闭操作。
| 归档时间: |
|
| 查看次数: |
3149 次 |
| 最近记录: |