Fluxbox

出自 ArchWiki

Fluxbox 是一个 窗口管理器,用于 X11。它基于(现已废弃的)Blackbox 0.61.1 代码,但进行了重大改进并持续开发。Fluxbox 提供了许多窗口管理功能,例如标签页和分组,并有数百种样式(主题)可用。所有 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-generate_menu

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 生成菜单。请参阅 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 了解详细信息。或者,如果您愿意,可以独立使用壁纸设置器,例如 fehNitrogen。请参见下文。

轻松切换多个背景

将以下子菜单放在您的 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 guidetenr.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。

参见