窗口管理器 Openbox 入门指南 (3)

这是《窗口管理器 Openbox 入门指南》的第三部分。

目录表

设定键盘和鼠标绑定

配置文件

Openbox 默认的键盘和鼠标绑定文件位于:

/etc/xdg/openbox/rc.xml

同样复制一份到 .config/openbox/:

cp /etc/xdg/openbox/rc.xml ~/.config/openbox/

键盘绑定

Openbox 的键盘绑定使用 <keyboard> 标签,形如下面的内容:

<keyboard> ... </keyboard>

要定义一个具体的键盘绑定,我们需要使用 <keybind> 标签。该标签具有 key 属性,其作用是指定快捷键。常用的修饰键如下:

  • S - Shift
  • C - Ctrl
  • A - Alt
  • W - Win (即 Windows 徽标键)

例如,假设我要为最大化窗口指定快捷键为 Alt-F6,那么,可以定义如下:

<keyboard>
 <keybind key="A-F6">
  <action name="MaximizeFull" />
 </keybind>
 ...
</keyboard>

又如,我想为 URxvt 指定启动快捷键 Win-u,可作下面的定义:

<keybind key="W-u">
 <action name="Execute">
  <command>urxvt</command>
 </action>
</keybind>

其实,Openbox 已经默认定义了很多键盘绑定,如切换活动桌面、提升窗口等等,具体内容都可以在上面的 rc.xml 文件中找到。

至于在我们前面的菜单创建过程中、键盘绑定中、以及后面的鼠标绑定中所用的 Action,可以通过下面的地址参考:

http://icculus.org/openbox/index.php/Help:Actions

鼠标绑定

鼠标绑定使用 标签定义。具体如下:

<mouse> ... </mouse>

与键盘绑定不同的是,鼠标绑定会要求你首先设置情景,也就是触发鼠标绑定的对象,即 <context> 标签。常用的 Context 如下表所示:

名称 说明
Frame 除桌面外的任何窗口
Client 应用程序窗口,不含窗口边框
Desktop 桌面
Root 与 Desktop 相似,通常用于 Root 菜单
Titlebar 窗口标题栏
Top, Bottom, Left, Right 窗口的上、下、左、右四边
TLCorner, TRCorner, BLCorner, BRCorner 窗口的四角
Icon 窗口图标
Iconify 最小化按钮
Maximize 最大化按钮
Close 关闭按钮
AllDesktops 所有桌面按钮
Shade 折叠按钮
MoveResize 移动并调整窗口大小

扩展上面的例子:

<mouse>
 <context name="Titlebar">
 ...
 </context>
</mouse>

Titlebar 说明这是针对标题栏的鼠标操作。

然后,即可使用 <mousebind> 标签进行具体的鼠标绑定。该标签具有 button 和 action 属性:

  • button:该属性指定使用哪一个鼠标按钮来触发鼠标绑定,如左键、右键、滚轮等。
名称 说明
Left 鼠标左键
Right 鼠标右键
Middle 鼠标中键
UP 向上滚
Down 向下滚
  • action:用来指定一个鼠标触发的事件,如按下、单击、双击等。一些常见的 Action 事件如下表所示:
名称 说明
Press 按下
Click 单击
DoubleClick 双击
Release 释放
Drag 拖曳

例如,当我们双击一个窗口时让其最大化,可以作如下定义:

<mouse>
 <context name="Titlebar">
  <mousebind button="Left" action="DoubleClick">
   <action name="ToggleMaximizeFull"/>
  </mousebind>
 </context>
</mouse>

Read More: