> For the complete documentation index, see [llms.txt](https://handbook.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://handbook.bsdcn.org/di-6-zhang-freebsd-zhong-de-wayland/6.3.-wayfire-hun-cheng-qi.md).

# 6.3.Wayfire 混成器

Wayfire 是一款旨在轻量且可定制的合成器。它提供了多种功能，并恢复了之前发布的 Compiz Fusion 桌面的一些元素，在现代硬件上看起来非常美观。要启动 Wayfire，首先需要安装必要的软件包：

```sh
# pkg install wayfire wf-shell alacritty swaylock-effects swayidle wlogout kanshi mako wlsunset
```

`alacritty` 包提供终端仿真器，但并不是完全必需的，因为其他终端仿真器，如 `kitty` 和 XFCE-4 `Terminal`，在 Wayfire 合成器下也已经过测试并确认可以正常运行。Wayfire 配置相对简单，它使用一个文件，用户可以查看该文件并自定义。首先，将示例文件复制到运行时环境配置目录，然后编辑该文件：

```sh
% mkdir ~/.config/wayfire
% cp /usr/local/share/examples/wayfire/wayfire.ini ~/.config/wayfire
```

对于大多数用户来说，默认配置应该已经足够。在配置文件中，像著名的 `cube` 之类的项目已预配置，并且有说明帮助用户理解可用的设置。几个值得注意的基本设置如下：

```ini
[output]
mode = 1920x1080@60000
position = 0,0
transform = normal
scale = 1.000000
```

在这个示例中，配置文件中的输出屏幕应该是列出的模式和赫兹。例如，模式应该设置为 `widthxheight@refresh_rate`。`position` 将输出放置在指定的像素位置，默认设置对于大多数用户应该没问题。`transform` 设置背景变换，`scale` 将输出缩放到指定的缩放因子。这些选项的默认设置通常是可以接受的；更多信息可以参见文档。

如前所述，Wayland 是新的协议，并非所有应用程序都已与此协议兼容。目前，`sddm` 似乎不支持在 Wayland 中启动和管理合成器。在这些示例中，使用了 `swaylock` 工具。配置文件包含选项，用于运行 `swayidle` 和 `swaylock` 来管理空闲和屏幕锁定。

定义系统空闲时应采取的操作的选项如下：

```ini
idle = swaylock
```

锁定超时通过以下几行配置：

```ini
[idle]
toggle = <super> KEY_Z
screensaver_timeout = 300
dpms_timeout = 600
```

第一个选项会在 300 秒后锁定屏幕，之后再过 300 秒，`dpms_timeout` 选项会将屏幕关闭。

最后需要注意的是 `<super>` 键。大多数配置都提到了这个键，它是键盘上的传统 `Windows` 键。大多数键盘上都有这个超级键；如果没有，可以在配置文件中重新映射。例如，要锁定屏幕，按住 super 键和 **shift** 键，再按 **escape** 键。除非映射发生了变化，否则这将启动 `swaylock` 应用程序。`swaylock` 的默认配置将显示灰色屏幕，但该应用程序非常可定制并且文档齐全。此外，由于安装了 `swaylock-effects` 版本，还可以使用例如模糊效果等多种选项，如下所示：

```sh
% swaylock --effect-blur 7x5
```

此外，还有 `--clock` 参数，用于在锁屏上显示带有日期和时间的时钟。当安装了 [x11/swaylock-effects](https://cgit.freebsd.org/ports/tree/x11/swaylock-effects/) 时，默认的 **pam.d** 配置已包括在内。它提供了默认的选项，适合大多数用户使用。更高级的选项也可用；更多信息请参阅 PAM 文档。

此时，是时候测试 Wayfire 并检查它是否能在系统上启动了。只需输入以下命令：

```sh
% wayfire -c ~/.config/wayfire/wayfire.ini
```

合成器现在应该启动，并在屏幕上显示背景图像以及顶部的菜单栏。Wayfire 会尝试列出安装的兼容应用程序并呈现在下拉菜单中。例如，如果安装了 XFCE-4 文件管理器，它将在下拉菜单中显示出来。如果某个特定应用程序兼容且值得分配键盘快捷键，它可以通过 **wayfire.ini** 配置文件映射到键盘快捷键。Wayfire 还提供名为 Wayfire Config Manager 的配置工具，可以通过下拉菜单启动，也可以通过终端输入以下命令启动：

```sh
% wcm
```

通过此应用程序，可以启用、禁用或配置 Wayfire 的各种选项，包括合成特殊效果。此外，为了提供更友好的体验，还可以在配置文件中启用背景管理器、面板和停靠应用程序：

```ini
panel = wf-panel
dock = wf-dock
background = wf-background
```

> **警告**
>
> 使用 `wcm` 修改配置后，会覆盖 **wayfire.ini** 中的自定义内容。建议提前备份 **wayfire.ini** 文件，以便需要时恢复。

最后，**wayfire.ini** 中列出的默认启动器是 [x11/wf-shell](https://cgit.freebsd.org/ports/tree/x11/wf-shell/)，如果用户愿意，也可以用其他面板替换它。
