Openbox
Openbox 是一个轻量级、强大且高度可配置的堆叠式 窗口管理器,具有广泛的标准支持。它可以独立构建和运行,作为独特 桌面环境 的基础,也可以在其他集成桌面环境(如 KDE 和 Xfce)中运行,作为它们所提供窗口管理器的替代品。LXDE 桌面环境本身就是围绕 Openbox 构建的。
安装
安装 openbox 包。同时安装 TTF 字体,如 ttf-dejavu 和 ttf-liberation。
启动
独立运行
使用 xinit 运行 openbox 或 openbox-session。请注意,只有 openbox-session 提供 自动启动。
其他桌面环境
请参阅 桌面环境#自定义窗口管理器。
配置
Openbox 的配置由四个关键文件构成,每个文件都有其独特的作用。它们是:rc.xml、menu.xml、autostart 和 environment。虽然这些文件将在下面更详细地讨论,但要开始配置 Openbox,首先需要基于这些文件创建您本地的 Openbox 配置文件(即您特定用户帐户的配置文件)。这可以通过将它们从全局的 /etc/xdg/openbox 配置中复制过来作为模板来实现。
$ mkdir -p ~/.config/openbox $ cp -a /etc/xdg/openbox ~/.config/
rc.xml
<keyboard> 部分,并在 <!-- Keybindings for running aplications --> 标题下方。~/.config/openbox/rc.xml 是主配置文件,负责确定整个会话的行为和设置,包括:
- 键盘快捷键(例如,启动应用程序;控制音量)
- 主题
- 桌面和虚拟桌面设置,以及
- 应用程序窗口设置
此文件也预先配置好了,这意味着您只需要修改现有内容即可根据个人偏好定制行为。
menu.xml
~/.config/openbox/menu.xml 定义了桌面菜单的类型和行为,可以通过右键单击背景来访问。虽然默认提供的是静态菜单(意味着安装新应用程序时不会自动更新),但也可以使用动态菜单,它们会随着应用程序的安装而自动更新。
可用选项将在 #菜单 部分中进行详细讨论。
自启动
openbox-session 提供了两种自动启动机制:XDG 自动启动(仅在安装了 python-pyxdg 时有效)和 Openbox 自有自动启动机制。
Openbox 自有自动启动机制
- 加载
/etc/xdg/openbox/environment - 加载
~/.config/openbox/environment - 运行
/etc/xdg/openbox/autostart - 运行
~/.config/openbox/autostart
关于 ~/.config/openbox/autostart 中的命令执行顺序错误(或被完全跳过)的问题,通常可以通过添加短暂的延迟来解决。例如:
xset -b (sleep 3s && nm-applet) & (sleep 3s && conky) &
在独立的 Openbox 会话中,可以从 Openbox 自动启动中启动一个 Polkit 认证代理,例如 polkit-gnome 提供的代理。例如:
(sleep 3s && /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1) &
environment
~/.config/openbox/environment 可用于导出和设置相关的环境变量,例如:
- 定义新的路径(例如,执行本来需要列出完整路径才能执行的命令)
- 更改语言设置,以及
- 定义要使用的其他变量(例如,GTK 主题的修复可以在此处列出)
Themes
安装 obconf-qt 和/或 lxappearance-obconf 以获得配置视觉设置和主题的图形界面。
在 openbox-themesAUR 包或 AUR 中可以找到大量主题。一些 GTK 主题也附带 Openbox 主题。Openbox 特定的和 Openbox 兼容的主题都将安装到 /usr/share/themes 目录,并且会立即可用。
box-look.org 是一个优秀且成熟的主题来源。 deviantART.com 也是一个很好的资源。还有更多可以在网上找到。
编辑或创建
/usr/share/themes/ 中的主题。这样可以保留原始主题,以防万一出现问题,并确保您的更改不会在更新时被覆盖。创建新主题或修改现有主题的过程在官方 openbox.org 网站上有详细介绍。obthemeAUR 是一个用于此目的的用户友好型图形界面。
GUI 配置
有几个图形应用程序可用于快速轻松地配置您的 Openbox 桌面。
- ObConf — 一个基于 Qt6 的 Openbox 窗口管理器配置工具。
- LXAppearance ObConf — LXAppearance 的 Openbox 配置插件。请注意,此插件并非提供所有 Openbox 配置选项,因此您可能仍需要安装 obconf-qt。
- LXInput — LXDE 键盘和鼠标配置
- LXRandR — LXDE 显示器配置。
- obkey — 配置 Openbox 键盘快捷键
与 Openbox 桌面菜单配置相关的程序和应用程序将在 #菜单 中讨论。
Openbox 重配置
Openbox 在会话中不会总是自动反映对其配置文件所做的任何更改。因此,在编辑完这些文件后,需要手动重新加载它们。为此,请输入以下命令:
$ openbox --reconfigure
如果打算将此命令添加为 ~/.config/openbox/rc.xml 的快捷键,则只需将命令列为 reconfigure。下面提供了一个示例,使用了 Super+F11 快捷键:
<keybind key="W-F11"> <action name="Reconfigure"/> </keybind>
键盘快捷键
所有键绑定都必须添加到 ~/.config/openbox/rc.xml 文件中,并在 <!-- Keybindings for running aplications --> 标题下方。虽然此处提供了一个简要概述,但可以在 openbox.org 上找到有关键绑定的更深入的解释。
可以使用以下语法将键绑定添加到配置文件:
<keybind key="my-key-combination">
<action name="my-action">
...
</action>
</keybind>
运行外部命令的操作名称是 Execute。使用以下语法定义要执行的外部命令:
<action name="Execute"> <command>my-command</command> </action>
有关所有可用操作的列表,请参阅 Openbox wiki。
~/.config/openbox/rc.xml。虽然标准字母数字键用于键绑定是显而易见的,但其他类型的键(如 modifiers、multimedia 和 navigation)被分配了特殊的名称。
修饰键
Modifier 键在键绑定中起着重要作用(例如,按住 Shift 或 Ctrl 键并结合其他键来执行操作)。使用修饰键有助于防止键绑定冲突,即两个或多个操作链接到同一键或键组合。使用修饰键与另一个键的语法是:
"<modifier>-<key>"
修饰键代码如下:
S: ShiftC: ControlA: AltW: SuperM: MetaH: Hyper (如果已绑定到某项)
多媒体键
如果可用,可以设置适当的 multimedia 键来执行其预期功能,例如控制音量和/或屏幕亮度。这些通常会集成到 function 键中,并以其相应的符号标识。有关详细信息,请参阅 键盘输入。
音量和亮度多媒体代码如下(请注意,仍需为它们分配命令才能实际工作):
XF86AudioRaiseVolume: 提高音量XF86AudioLowerVolume: 降低音量XF86AudioMute: 静音 / 取消静音XF86MonBrightnessUp: 提高屏幕亮度XF86MonBrightnessDown: 降低屏幕亮度
XF86 多媒体键的完整列表,请参阅 LQWiki:XF86 keyboard symbols。
音量控制
用于控制音量的命令将取决于是使用 ALSA、PulseAudio 还是 OSS 进行声音输出。
- ALSA:请参阅 Advanced Linux Sound Architecture#Keyboard volume control。
- PulseAudio: 请参阅 PulseAudio#键盘音量控制
- OSS:请参阅 OSS#Keyboard volume control。
导航键
这些是方向键/箭头键,通常用于将光标向上、下、左、右移动。自明(显而易见)的导航代码如下:
Up: 向上Down: 向下Left: 向左Right: 向右
菜单
Openbox 中可以使用三种类型的菜单:静态、管道菜单(动态)和生成器(静态或动态)。它们也可以单独使用或组合使用。
静态菜单
顾名思义,这种默认类型的菜单不会以任何方式改变,并且可以通过使用适当的软件包手动编辑和/或(重新)自动生成。
快速高效,虽然这种类型的菜单可以用来选择应用程序,但它也可以用于访问特定功能和/或执行特定任务(例如,桌面配置),将应用程序的访问交给另一个进程(例如,synapse 或 xfce4-appfinder 应用程序)。
~/.config/openbox/menu.xml 文件将是静态桌面菜单内容的唯一来源。
menumaker
menumaker 会自动为包括 Openbox、Fluxbox、IceWM 和 Xfce 在内的多个窗口管理器生成 xml 菜单。它将搜索所有已安装的可执行程序,并相应地为它们创建一个菜单文件。如果需要,还可以配置 MenuMaker 来排除某些应用程序类型(例如,与 GNOME 或 KDE 相关的)。
安装并执行后,它将自动生成一个新的 ~/.config/openbox/menu.xml 文件。为避免覆盖现有文件,请输入:
$ mmaker -v OpenBox3
否则,要覆盖现有文件,请添加 force 参数(f):
$ mmaker -vf OpenBox3
生成新的 ~/.config/openbox/menu.xml 文件后,可以手动编辑它,或使用图形菜单编辑器进行配置,例如 obmenuAUR。
obmenu
obm-xdg - 一个用于生成 GTK 和 GNOME 应用程序列表的管道菜单 - 也随 obmenu 一起提供。但是,它存在长期存在的错误,可能导致无效输出,甚至完全无法正常工作。因此,这里省略了讨论。obmenuAUR 是一个“用户友好”的图形应用程序,用于编辑 ~/.config/openbox/menu.xml,而无需编写 xml 代码。
xdg-menu
archlinux-xdg-menu 将根据 /etc/xdg/ 目录中包含的 xdg 文件为许多窗口管理器(包括 Openbox)自动生成菜单。有关更多信息,请参阅 Xdg-menu#OpenBox 文章。
注销菜单选项
可以通过编辑 ~/.config/openbox/menu.xml 文件来提供一个子菜单,其中包含与 oblogout 提供的相同选项。下面的示例脚本将提供所有这些选项,但无法锁定屏幕。
<menu id="exit-menu" label="Exit"> <item label="Log Out"> <action name="Execute"> <command>openbox --exit</command> </action> </item> <item label="Shutdown"> <action name="Execute"> <command>systemctl poweroff</command> </action> </item> <item label="Restart"> <action name="Execute"> <command>systemctl reboot</command> </action> </item> <item label="Suspend"> <action name="Execute"> <command>systemctl suspend</command> </action> </item> <item label="Hibernate"> <action name="Execute"> <command>systemctl hibernate</command> </action> </item> </menu>
一旦条目创建完毕,请在主桌面菜单(通常是最后一个条目)的所需位置添加以下行以显示子菜单:
<menu id="exit-menu"/>
管道菜单
这种菜单本质上是一个脚本,可以在运行时即时提供动态、刷新的列表。这些列表可用于多种用途,包括列出应用程序、提供信息和提供控制功能。可以安装预配置的管道菜单,但不能从官方仓库安装。更有经验的用户也可以修改和/或创建自己的自定义脚本。同样,~/.config/openbox/menu.xml 可能并且通常会包含多个管道菜单。
示例
- obfilebrowserAUR: 应用程序和文件浏览器
- wifi 管道菜单: 使用 Netctl 进行无线网络连接
Openbox.org 还提供了更广泛的管道菜单列表。
生成器
这种菜单类似于 Xfce 或 LXDE 等桌面环境的任务栏提供的菜单。即时动态更新,这种菜单功能强大且非常方便。也可以添加自定义类别和菜单项;请阅读您打算使用的动态菜单的文档,以确定是否以及如何完成此操作。
必须从 ~/.config/openbox/menu.xml 文件中执行菜单生成器。
obmenu-generator
~/.config/openbox/rc.xml 中启用了图标,也可以在 obmenu-generatorAUR 中禁用图标。obmenu-generatorAUR 尽管是非官方软件包,但强烈推荐使用。它既可以用作静态菜单,也可以用作动态菜单,高度可配置、强大且通用。菜单类别和单个条目也可以轻松隐藏、自定义和/或添加。 官方主页提供了更多信息和截图。
下面是一个关于 obmenu-generator 在 ~/.config/openbox/menu.xml 中动态执行(无图标)的示例:
<?xml version="1.0" encoding="utf-8"?>
<openbox_menu>
<menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator">
</menu>
</openbox_menu>
要自动为条目添加图标,将添加 -i 选项:
<menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator -i">
openbox-menu
~/.config/openbox/rc.xml 中启用图标来解决。openbox-menuAUR 使用 LXDE 的 menu-cache 来创建动态菜单。官方主页提供了更多信息和截图。
菜单图标
要显示菜单项旁边的图标,需要在 ~/.config/openbox/rc.xml 文件的 <menu> 部分确保它们已启用:
<showIcons>yes</showIcons>
如果使用静态菜单,则需要编辑 ~/.config/openbox/menu.xml 文件,为每个条目提供 icon = 命令以及图标的完整路径和名称。以下是一个为类别提供图标的示例语法:
<menu id="apps-menu" label="[label name]" icon="[pathway to icon]/[icon name]">
如果您在使用图标未在菜单中显示时遇到问题,请尝试将它们转换为 .png 格式。
桌面菜单作为面板菜单
xdotool 是一个可以发出命令来模拟按键/快捷键的软件包,这意味着它可以使用它来调用与快捷键相关的操作,而无需实际按下它们分配的按键。这包括调用 Openbox 桌面菜单的已分配快捷键的能力,因此可以使用 XDoTool 将 Openbox 桌面菜单变成一个面板菜单。特别是在桌面菜单经过大量自定义且功能丰富的情况下,这可能非常有用,可以:
安装 XDoTool(如果尚未安装)后,需要在 ~/.config/openbox/rc.xml 中创建一个访问根菜单的快捷键,同样在 <!-- Keybindings for running aplications --> 标题下方。例如,以下代码将在按下 Ctrl+m 时弹出菜单:
<keybind key="C-m">
<action name="ShowMenu">
<menu>root-menu</menu>
</action>
</keybind>
然后必须重新配置 Openbox。在这种情况下,XDoTool 将用于模拟 Ctrl+m 按键以使用以下命令访问桌面菜单(请注意使用 + 而不是 -):
xdotool key control+m
此命令如何用作面板启动器/图标很大程度上取决于所用面板的功能。一些面板允许在创建新启动器时直接执行上述命令,而其他面板可能需要使用可执行脚本。例如,将在 ~/.config 目录中创建一个名为 obpanelmenu.sh 的自定义可执行脚本,并将相应的 XDoTool 命令添加到文件中(在此示例中模拟 Ctrl+m 按键):
~/.config/obpanelmenu.sh
xdotool key control+m
保存并关闭文件后,可以将其制作成可执行脚本。
执行它将弹出 Openbox 桌面菜单。因此,如果使用支持拖放功能来添加新启动器的面板,只需将可执行脚本拖放到上面,然后将图标更改为您喜欢的样式。
符合 XDG 标准的菜单
XDG 兼容菜单基于 freedesktop.org 标准。菜单定义在位于 /etc/xdg/menus 的菜单文件中。新应用程序将自动出现在菜单中。
示例
archlinux-menusAUR 包提供了一个 Arch Linux 特定的 XDG 兼容菜单。
技巧与提示
光标和图标主题
桌面图标和壁纸
Openbox 不原生支持桌面图标或壁纸。
~/.conkyrc 并将 own_window_type 设置为 normal。请参阅 List of applications/Other#Wallpaper setters。
合成效果
Openbox 不提供对合成的原生支持,因此需要外部合成器来实现此目的。
虽然合成不是必需组件,但它可以特别避免诸如 oblogout 的屏幕失真问题以及终端窗口透明度的视觉瑕疵。有关常用选择,请参阅 Xorg#合成管理器列表。
oblogout
有关如何使用此有用且图形化的注销脚本的概述,请参阅 Oblogout 文章。
使用热键启动复杂命令
如果您需要执行一个复杂命令,请使用 shell 功能。
在编写自己的脚本时,请确保转义 XML 特殊字符,例如“&”(“&”)、“<”(“<”)、“>”(“>”)以及其他字符(更多信息请参阅 XML 中的预定义实体)。
此示例将立即关闭显示并使用 slock 锁定屏幕。此示例摘自 此主题。
<keybind key="W-l">
<action name="Execute">
<command>sh -c 'slock & (sleep .5 && xset dpms force off)'</command>
</action>
</keybind>
有时需要为应用程序指定环境变量
<keybind key="A-F7">
<action name="Execute">
<command>sh -c "LC_ALL=C.UTF-8 obconf-qt"</command>
</action>
</keybind>
另一个示例将启动应用程序,并将所有 stdout 和 stderr 输出保留到文件中
<keybind key="A-f">
<action name="Execute">
<command>sh -c sh -c "exec gimp >/tmp/gimp.out 2>&1"</command>
</action>
</keybind>
启用截图
<keybind key="Print">
<action name="Execute">
<command>gnome-screenshot --clipboard</command>
</action>
</keybind>
<keybind key="A-Print">
<action name="Execute">
<command>gnome-screenshot --clipboard --window</command>
</action>
</keybind>
<keybind key="W-Print">
<action name="Execute">
<command>gnome-screenshot --interactive</command>
</action>
</keybind>
应用程序启动器
鉴于在纯 Openbox 安装中缺少桌面环境,安装一个或多个应用程序启动器作为 Openbox 菜单系统和热键的补充可能会很有用。此类启动器的列表可在 Category:Application launchers 和 List of applications/Other#Application launchers 中找到;常见的示例是 Gmrun 和 dmenu。
使用鼠标切换桌面
可以通过将鼠标光标移动到屏幕边缘来切换桌面。首先安装 xdotool 并将以下两行添加到您的 ~/.xinitrc 文件中
xdotool behave_screen_edge --delay 500 left set_desktop --relative -- -1 & xdotool behave_screen_edge --delay 500 right set_desktop --relative -- +1 &
设置默认应用程序 / 文件关联
请参阅 Default applications 文章。
临时窗口透明度
名为 transset-dfAUR 的程序可以实时启用窗口透明度。
例如,在 ~/.config/openbox/rc.xml 文件的 <mouse> 部分中使用以下代码,当鼠标指针悬停在标题栏并使用中间按钮滚动时,将启用对应用程序窗口透明度的控制
<context name="Titlebar">
...
<mousebind button="Up" action="Click">
<action name= "Execute" >
<execute>transset-df --point .2 --inc </execute>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name= "Execute" >
<execute>transset-df --point .2 --dec </execute>
</action>
</mousebind>
...
</context>
使用 obxprop 进行更快的配置
openbox 包提供了 obxprop 二进制文件,它可以解析 rc.xml 中应用程序设置的相关值。官方建议为此任务使用 obxprop | grep "^_OB_APP"。通过运行显示的命令开始此过程,然后单击一个窗口以在终端中查看其属性。
应用程序的 Xprop 值
xorg-xprop 可用于中继选定应用程序的属性值。如果频繁使用每个应用程序的设置,则以下 Bash 别名可能会有用
alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'
要使用 Xorg-XProp,请使用别名 xp 运行,然后点击您希望为其定义每个应用程序设置的活动程序。显示的結果仅是 Openbox 本身所需的信息,即 WM_WINDOW_ROLE 和 WM_CLASS(名称和类)值
WM_WINDOW_ROLE(STRING) = "roster" WM_CLASS(STRING) = "gajim.py", "Gajim.py" WM_CLASS(STRING) = "NAME", "CLASS"
在键盘布局之间切换
有关说明,请参阅文章部分 切换键盘布局。
为虚拟桌面设置网格布局
安装 obsetlayoutAUR。例如,要设置一个 2x2 网格
obsetlayout 0 2 2 0
不带参数运行它以了解参数的含义。
启用热角
lead-gitAUR 为 Openbox 和其他轻量级窗口管理器提供了热角功能。通过在自动启动文件中添加一个条目来启动该应用程序
lead &
命令可以在配置文件 ~/.config/lead/lead.conf 中编辑(将 eDP1 替换为您的屏幕输出名称,您可以使用 xrandr 查找该名称)
[eDP1] bottom= bottomLeft=chromium bottomRight=thunar left= right= top= topLeft=mlde.californium toggle topRight=skippy-xd
更多信息请参阅 [2]。
窗口贴靠
许多桌面环境和窗口管理器支持*窗口贴靠*(例如 Windows 7 Aero snap),在这种情况下,窗口会在移动到屏幕边缘时自动贴合到位。通过对焦点窗口使用键盘绑定,也可以在 Openbox 中模拟这种效果。
如下例所示,必须使用百分比来确定窗口大小(有关更多信息,请参阅 openbox.org)。在此实例中,super 键与navigation 键一起使用
<keybind key="W-Left">
<action name="UnmaximizeFull"/>
<action name="MaximizeVert"/>
<action name="Raise"/>
<action name="MoveResizeTo">
<width>50%</width>
<x>0</x>
<y>0</y>
</action>
</keybind>
<keybind key="W-Right">
<action name="UnmaximizeFull"/>
<action name="MaximizeVert"/>
<action name="Raise"/>
<action name="MoveResizeTo">
<width>50%</width>
<x>50%</x>
<y>0</y>
</action>
</keybind>
但是,应注意一旦窗口“贴靠”到屏幕边缘,它将保持垂直最大化,除非随后将其最大化然后还原。解决方案是实现额外的键盘绑定 - 在此实例中,使用down 和 up 键 - 来实现此目的。这将使从屏幕边缘拉动“贴靠”窗口的速度更快。
<keybind key="W-Down"> <action name="Unmaximize"/> </keybind> <keybind key="W-Up"> <action name="Maximize"/> </keybind>
这个 Ubuntu 论坛帖子提供了更多信息。诸如 opensnapAUR 等应用程序也可用于自动模拟窗口贴靠行为,而无需使用键盘绑定。另一个选择是使用 bunsen-utilities-gitAUR,它提供了 bl-aerosnap --left 和 bl-aerosnap --right 命令,如果活动窗口未贴靠,则将活动窗口贴靠到左侧或右侧边缘,否则将其恢复到原始大小和位置。只需将这些命令绑定到您选择的键盘组合即可。
下面的示例将使您可以使用 alt 键与导航键组合在屏幕的每个角落获得四分之一窗口平铺
<keybind key="A-Up">
<action name="UnmaximizeFull"/>
<action name="Raise"/>
<action name="MoveResizeTo">
<x>0</x>
<y>0</y>
<width>50%</width>
<height>50%</height>
</action>
</keybind>
<keybind key="A-Right">
<action name="UnmaximizeFull"/>
<action name="Raise"/>
<action name="MoveResizeTo">
<x>50%</x>
<y>0</y>
<width>50%</width>
<height>50%</height>
</action>
</keybind>
<keybind key="A-Left">
<action name="UnmaximizeFull"/>
<action name="Raise"/>
<action name="MoveResizeTo">
<x>0</x>
<y>50%</y>
<width>50%</width>
<height>50%</height>
</action>
</keybind>
<keybind key="A-Down">
<action name="UnmaximizeFull"/>
<action name="Raise"/>
<action name="MoveResizeTo">
<x>50%</x>
<y>50%</y>
<width>50%</width>
<height>50%</height>
</action>
</keybind>
平滑的显示管理器过渡
显示管理器用户可能会在显示管理器和 Openbox 桌面之间的过渡期间遇到闪烁。闪烁是由于 Openbox 在启动时设置根窗口颜色所致。因此,在显示管理器的背景和桌面的壁纸之间,会有一短暂的灰色闪烁。
可以通过编辑位于 /usr/lib/openbox/openbox-autostart 的 Openbox 启动脚本来禁用根窗口背景颜色的设置。只需注释掉(或删除)以 # Set a background color 开头的块即可。
窗口装饰
要移除所有应用程序或特定应用程序的窗口装饰,请使用 rc.xml 的 <applications> 部分中的 <decor> 选项(用户:~/.config/openbox/ 或系统:/etc/xdg/openbox/)。
Firefox 的示例,包括 Firefox-Beta 和 Firefox-Nightly 等变体
<application class="Firefox*"> <decor>no</decor> </application>
您也可以为所有应用程序禁用装饰(使用类 “*”),然后(使用 yes)为单个应用程序启用它们。要应用更改,请重新启动桌面会话,从而重新启动 Openbox。参考:Openbox FAQ
故障排除
Firefox
Mozilla 浏览器可能会忽略应用程序规则(例如 <desktop>),除非使用了 class="Firefox"。请参阅 #Xprop values for applications。
缺失的主题
如果由于任何原因无法选择新解压的主题,请打开主题目录以首先确保它与 Openbox 兼容 - 其中应该有一个 openbox-3 目录和一个 themerc 文件。在某些情况下,可能还会存在一个 .obt(**O**pen**B**ox **T**heme)文件,该文件随后可以在 obconf-qt 中手动加载。
主题也可能由于权限错误而无法访问。有关更多信息,请参阅 文件权限和属性。
停止连续桌面切换
默认情况下,Openbox 在鼠标滚轮滚动时会从最后一个桌面切换回第一个桌面。在 mousebind 部分使用 <wrap>no</wrap> 来禁用此行为。
<context name="Desktop">
<mousebind button="Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
<wrap>no</wrap>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
<wrap>no</wrap>
</action>
</mousebind>
</context>
窗口加载在活动窗口后面
某些应用程序窗口(如 Firefox 窗口)可能会加载在当前活动窗口后面,导致您需要切换到刚创建的窗口才能将其聚焦。要修复此行为,请在 <openbox_config> 和 </openbox_config> 标签之间,将以下内容添加到您的 ~/.config/openbox/rc.xml 文件中
<applications>
<application class="*">
<focus>yes</focus>
</application>
</applications>
参见
- Openbox 网站 - 官方网站
- Box-Look.org - 主题和相关艺术品的优秀资源
- Openbox 技巧和配置主题 @ Arch Linux 论坛
- Openbox 屏幕截图主题 @ Arch Linux 论坛
- Openbox 指南