Fluxbox
Fluxbox 是一个 窗口管理器,用于 X11。它基于(现已废弃的)Blackbox 0.61.1 代码,但进行了重大改进并持续开发。Fluxbox 提供了许多窗口管理功能,例如标签页和分组,并有数百种样式(主题)可用。所有 Fluxbox 配置都存储在纯文本文件中;但是,某些设置以图形方式在配置菜单中公开。
安装
启动
使用 xinit 运行 startfluxbox
。
配置
系统范围的 Fluxbox 配置文件位于 /usr/share/fluxbox
,而用户配置文件位于 ~/.fluxbox
- init — 主要的 Fluxbox 资源配置文件。参见 编辑 init 文件。
- menu — Fluxbox 菜单配置。参见下文和 编辑菜单文件。
- keys — Fluxbox 键盘快捷键(热键)文件。参见下文和 键盘快捷键。
- startup — 在此处启动启动应用程序,但另请参阅下文了解 .xinitrc,以及 编辑启动文件。
- overlay — 用于覆盖样式元素的配置文件。参见 样式覆盖。
- apps — 用于记住特定应用程序的窗口配置的配置文件。参见 编辑 apps 文件。
- windowmenu — 用于更改窗口菜单本身的配置文件:编辑 windowmenu。
菜单
Fluxbox 根菜单在 ~/.fluxbox/menu
中定义,可以通过右键单击桌面访问。与其他轻量级窗口管理器一样,Fluxbox 在您安装新应用程序时不会自动更新其菜单。因此,当安装/卸载新应用程序时,需要重新生成菜单。
菜单项显示的基本语法是
[exec] (name) {command} <path to icon>
……其中“name”是您希望菜单项显示的文本,“command”是二进制文件的位置,例如
[exec] (Firefox Browser) {/usr/bin/firefox} <path to firefox icon>
请注意,“<path to icon>”是可选的。如果要创建子菜单,语法是
[submenu] (Name) ... ... [end]
完成编辑后,保存文件并退出。无需重启 Fluxbox。有关更多信息,请阅读 编辑 Fluxbox 菜单。
有些程序可以生成完整的 Fluxbox 根菜单,或者已安装应用程序的子菜单,这些子菜单可以手动包含在现有的根菜单定义中。这些程序概述如下。
Fluxbox 提供了一个内置命令
$ fluxbox-generate_menu
此命令将根据您安装的程序自动生成 ~/.fluxbox/menu
文件。但是,它生成的菜单不如 MenuMaker 生成的菜单全面。
MenuMaker
MenuMaker 是一个强大的工具,可为各种窗口管理器(包括 Fluxbox)创建基于 XML 的菜单。MenuMaker 将在您的计算机上搜索可执行程序,并根据结果创建菜单。如果需要,可以将其配置为排除 Legacy X、GNOME、KDE 或 Xfce 应用程序。
安装 menumaker,然后您可以生成一个完整的菜单,并通过运行以下命令覆盖默认菜单
$ mmaker -f FluxBox
您可以避免使用诸如 alsamixer 之类的基于终端的应用程序填充菜单,方法是在 mmaker 命令中使用以下开关:--no-legacy
和 --no-debian
。例如
$ mmaker -f --no-legacy --no-debian FluxBox
要查看更多 MenuMaker 选项
$ mmaker --help
您还可以使用 Xdg-menu 生成菜单。请参阅 Xdg-menu#FluxBox 部分。
除了根菜单之外,Fluxbox 还提供以下菜单
- 工作区菜单:在桌面上单击鼠标中键。
- 配置菜单:位于“根”菜单的“Fluxbox”部分中。
- 窗口菜单:右键单击任何窗口的标题栏,或者最小化时的栏。可以编辑。请参阅 fluxbox-menu(5)。
- 工具栏菜单:右键单击工具栏的空白部分。也可以在配置菜单中找到作为子菜单。
- Slit 菜单:在配置菜单中找到作为子菜单。
键盘
键盘快捷键
Fluxbox 热键文件位于 ~/.fluxbox/keys
。Control 键由 Control
表示。Mod1
对应于 Alt 键,Mod4
对应于 Super 键(不是标准键,但大多数用户将 Super 键映射到 Win 键)。
使用 Fluxbox 设置键盘布局
只需将以下行添加到 ~/.fluxbox/startup
setxkbmap us -variant intl & # to have a us keyboard with special characters enabled (like éóíáú)
除了 'us' 之外,您还可以传递您的语言代码并删除 variant 选项(例如:'us_intl',在某些设置中其效果与上面的命令相同)。有关更多选项,请参阅 setxkbmap(1)。
要在您的菜单中创建一个帮助功能,只需在 ~/.fluxbox/menu
中添加
[submenu] (Keyboard) [exec] (normal) {setxkbmap us} [exec] (international) {setxkbmap us -variant intl} [end]
Fluxbox 剪贴板管理器
您可以将几乎任何您喜欢的剪贴板管理器与 Fluxbox 一起使用。parcellite 软件包 parcellite 与 Fluxbox 配合得非常好。只需安装 parcellite,然后在调用 exec fluxbox
之前,通过在 ~/.fluxbox/startup
中添加以下内容,添加在 Fluxbox 启动时启动 parcellite 的命令
## clipboard manager clipmgr=$(type -p parcellite) [ -x "$clipmgr" ] && "$clipmgr" &
工作区
Fluxbox 默认有四个工作区。可以使用 Ctrl+F1-F4
快捷键访问这些工作区,或者使用鼠标左键单击工具栏上的箭头。您也可以通过在桌面上单击鼠标中键来访问工作区,这将弹出工作区菜单。
标签页和分组
在桌面上至少有两个窗口可见的情况下,使用 Ctrl+鼠标左键
单击一个窗口的上方窗口标签,并将其拖到另一个打开的窗口中。这两个窗口现在将被分组在一起,窗口标签位于上方窗口标签栏中。您现在可以执行将影响整个窗口“组”的窗口操作。要反转标签页,请使用 Ctrl+鼠标左键
单击一个标签页,并将其拖到桌面上的空白区域。
自动启动
Fluxbox 提供了自动启动应用程序的功能。~/.fluxbox/startup
文件是一个用于自动启动应用程序以及启动 Fluxbox 本身的脚本。#
符号表示注释。确保任何启动应用程序的行都位于调用启动 Fluxbox 本身之前。否则,这些行将不会被执行,直到 Fluxbox 本身终止。
壁纸
Fluxbox 提供了一个包装脚本 fbsetbg,它可以帮助用户设置壁纸。请参阅 Fluxbox wiki 了解详细信息。或者,如果您愿意,可以独立使用壁纸设置器,例如 feh 或 Nitrogen。请参见下文。
轻松切换多个背景
将以下子菜单放在您的 Fluxbox 菜单中
[submenu] (Backgrounds) [wallpapers] (~/.fluxbox/backgrounds) {feh --bg-scale} [wallpapers] (/usr/share/fluxbox/backgrounds) {feh --bg-scale} [end]
然后,将您的背景图片放入 ~/.fluxbox/backgrounds
或您指定的任何其他目录中;它们将以与您的样式相同的方式出现。
这同样适用于没有 'xinerama' 的系统上的双屏壁纸(例如 NVidia TwinView)
[submenu] (Backgrounds) [wallpapers] (/path/to/your/backgrounds) {feh --bg-scale --no-xinerama } [end]
将 feh 与 Fluxbox 结合使用
安装 feh。
要使 Fluxbox 通过 feh 加载壁纸
- 首先,使 .fehbg 可执行。
- 然后将以下行添加到文件
~/.fluxbox/init
(或修改)
session.screen0.rootCommand: ~/.fehbg
- 或者将以下行添加到文件
~/.fluxbox/startup
(或修改)
~/.fehbg
主题
要安装 Fluxbox 主题,请将主题存档文件解压到 styles 目录。默认目录为
- 全局 -
/usr/share/fluxbox/styles
- 用户专用 -
~/.fluxbox/styles
fluxmod-stylesAUR 软件包包含来自(现已失效的)fluxmod.dk 站点的许多 Fluxbox 样式。
要创建您自己的 Fluxbox 样式,请参阅 fluxbox-style(5)[死链接 2025-01-19 ⓘ]、Fluxbox/Style guide 和 tenr.de Fluxbox style guide。
如果您使用 mmaker -f FluxBox 创建菜单,则在安装样式后将看不到样式菜单选择。要纠正此问题,请在重启菜单项之后将以下内容添加到 ~/.fluxbox/menu
[submenu] (System Styles) {Choose a style...} [stylesdir] (/usr/share/fluxbox/styles) [end] [submenu] (User Styles) {Choose a style...} [stylesdir] (~/.fluxbox/styles) [end]
Slit
一些窗口管理器,例如 Fluxbox、Window Maker 和 Openbox,都有一个“Slit”。这是一个用于任何可以“停靠”的应用程序的停靠栏。停靠的应用程序是固定的,并显示在每个工作区上。它不能自由移动,也不受对窗口的任何操作的影响。它本质上是一个小部件。在这种情况下有用的 Dock 应用程序往往是时钟、系统监视器、天气应用程序等等。访问 dockapps.net 以查看可用的 dockapps。
参见
- Github 上的 Fluxbox
- Fluxbox wiki
- Gentoo:Fluxbox
- Fluxbox 主题
- Fluxbox 手册页 fluxbox(1) (以及相关的 fluxbox-keys(5) 等)
- Narada 的 Fluxbox 指南
- Arch Linux Fluxbox 屏幕截图