Labwc

出自 ArchWiki

Labwc 代表 Lab Wayland Compositor[1]。根据官方网站

Labwc 是一款基于 wlroots 的 wayland 窗口堆叠 compositor,灵感来源于 openbox。
它轻量且独立,专注于良好地堆叠窗口和渲染一些窗口装饰。它依赖客户端来实现面板、屏幕截图、壁纸等,以创建一个完整的桌面环境。
Labwc 尝试在通用方法和编码风格方面与 wlroots 和 sway 保持一致。
Labwc 仅理解 wayland-protocols 和 wlr-protocols,并且无法通过 dbus、sway/i3-IPC 或其他技术进行控制。这样做的原因是,我们认为自定义 IPC 和协议会造成碎片化,阻碍 Wayland 的普遍采用。

安装

Labwc 可以通过软件包 labwclabwc-gitAUR 安装

默认的终端模拟器alacritty。在启动 labwc 之前,建议安装它或在配置中设置新的终端。

启动

与所有基于 wlroots 的 compositor 一样,为了访问您的 seat,当使用 systemd-logind(8) 时,labwc 需要安装 Polkit,或者启用 seatd 服务并将您的用户添加到 seat 用户组

要启动 labwc,请在 Linux 控制台中键入 labwc 或使用 wayland 兼容的显示管理器

默认情况下,您可以按 Super 键(通常是带有 Windows 图标的键)和 Enter 键来启动 alacritty。请参阅 6. Usage 以获取默认快捷键。

配置

此条目或章节需要改进语言、wiki 语法或风格。请参阅 Help:Style 以获得参考。

原因: 多个章节重复了 上游文档。(在 Talk:Labwc 中讨论)

以下文件可用于配置

  • ~/.config/labwc/rc.xml - 用于通用配置
  • ~/.config/labwc/menu.xml - 用于菜单布局
  • ~/.config/labwc/autostart - 启动 labwc 时执行的脚本
  • ~/.config/labwc/shutdown - 退出 labwc 时执行的脚本
  • ~/.config/labwc/environment - 用于会话中的环境变量
  • ~/.config/labwc/themerc-override - 用于其他主题设置

示例文件在 /usr/share/doc/labwc/ 中提供。特别是,/usr/share/doc/labwc/rc.xml.all 包含所有默认配置。

有关更多详细信息,请参阅 labwc-config(5)

自动启动

~/.config/labwc/autostart 包含启动 labwc 时执行的 shell 脚本。例如

~/.config/labwc/autostart
kanshi >/dev/null 2>&1 &
waybar >/dev/null 2>&1 &
swaybg -i ~/Pictures/background.png >/dev/null 2>&1 &
lxqt-policykit-agent >/dev/null 2>&1 &
mako >/dev/null 2>&1 &
gammastep -O 3500 -b 0.8 >/dev/null 2>&1 &

键盘布局

可以通过在 ~/.config/labwc/environment 中设置环境变量来配置键盘布局。例如

~/.config/labwc/environment
XKB_DEFAULT_LAYOUT=us
XKB_DEFAULT_LAYOUT=us,de
XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle
XKB_DEFAULT_OPTIONS=grp:shift_caps_toggle

有关详细信息,请参阅 xkeyboard-config(7)

状态栏

可以使用外部工具(如 waybarsfwbarAUR)来显示状态栏。例如

~/.config/labwc/autostart
waybar >/dev/null 2>&1 &

输出

可以使用外部工具(如 wlr-randrkanshi)来管理输出。例如

~/.config/labwc/autostart
wlr-randr --output HDMI-A-2 --preferred --pos 0,0 --output HDMI-A-1 --preferred --pos -1920,0

壁纸

可以使用外部工具(如 swaybgwpaperdwbgAUR)来显示背景。例如

~/.config/labwc/autostart
swaybg -c '#113344' >/dev/null 2>&1 &

自定义快捷键

快捷键通过添加带有 <action><keyboard><keybind> 部分进行配置。例如

~/.config/labwc/rc.xml
<labwc_config>
  <keyboard>
    <keybind key="W-q"><action name="Close" /></keybind>
    <keybind key="A-Tab"><action name="NextWindow" /></keybind>
    <keybind key="W-Tab"><action name="ToggleMaximize" /></keybind>
    <keybind key="W-s"><action name="Execute" command="foot" /></keybind>
    <keybind key="W-a"><action name="Execute" command="fuzzel" /></keybind>
  </keyboard>
</labwc_config>

工作区

工作区在 <desktops> 部分中配置,并通过快捷键切换。例如

~/.config/labwc/rc.xml
<labwc_config>
  <desktops number="4" />
  <keyboard>
    <keybind key="W-1"><action name="GoToDesktop" to="1" /></keybind>
    <keybind key="W-2"><action name="GoToDesktop" to="2" /></keybind>
    <keybind key="W-3"><action name="GoToDesktop" to="3" /></keybind>
    <keybind key="W-4"><action name="GoToDesktop" to="4" /></keybind>
  </keyboard>
</labwc_config>

菜单

Labwc 遵循 Openbox 的语法,用于配置 ~/.config/labwc/menu.xml 中的菜单。例如

~/.config/labwc/menu.xml
<?xml version="1.0" ?>
<openbox_menu>
  <menu id="root-menu" label="">
    <item label="󰈹   Firefox">
      <action name="Execute" command="firefox" />
    </item>
    <item label="  Terminal">
      <action name="Execute" command="foot" />
    </item>
  </menu>
</openbox_menu>

此外,您可以使用 Openbox 的菜单生成器,如 archlinux-xdg-menuobmenu-generatorAUR

有关详细信息,请参阅 labwc-menu(5)

主题

Labwc 粗略地遵循 Openbox 3 主题规范。您可以将主题安装到以下目录

  • ~/.local/share/themes/<theme-name>/openbox-3/
  • ~/.themes/<theme-name>/openbox-3/
  • /usr/share/themes/<theme-name>/openbox-3/
  • /usr/local/share/themes/<theme-name>/openbox-3/
  • /opt/share/themes/<theme-name>/openbox-3/

这些目录包含 themerc,它定义了主题颜色和几何形状,以及按钮图标文件,如 close-active.svgclose-inactive.svg。图标文件支持 XBM、SVG 和 PNG 格式。

此外,您可以使用 ~/.config/themerc-override 覆盖主题条目。

labwc-artwork 为 labwc 提供了一些主题。

有关详细信息,请参阅 labwc-theme(5)

Xwayland

如果在构建时启用了 Xwayland 支持,xorg-xwayland 会自动启动。要强制禁用它,请设置

~/.config/labwc/environment
WLR_XWAYLAND=

参见