Labwc
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 可以通过软件包 labwc 或 labwc-gitAUR 安装。
默认的终端模拟器是 alacritty。在启动 labwc 之前,建议安装它或在配置中设置新的终端。
启动
与所有基于 wlroots 的 compositor 一样,为了访问您的 seat,当使用 systemd-logind(8) 时,labwc 需要安装 Polkit,或者启用 seatd 服务并将您的用户添加到 seat 用户组。
要启动 labwc,请在 Linux 控制台中键入 labwc 或使用 wayland 兼容的显示管理器。
默认情况下,您可以按 Super 键(通常是带有 Windows 图标的键)和 Enter 键来启动 alacritty。请参阅 6. Usage 以获取默认快捷键。
配置
以下文件可用于配置
~/.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)。
状态栏
可以使用外部工具(如 waybar 和 sfwbarAUR)来显示状态栏。例如
~/.config/labwc/autostart
waybar >/dev/null 2>&1 &
输出
可以使用外部工具(如 wlr-randr 和 kanshi)来管理输出。例如
~/.config/labwc/autostart
wlr-randr --output HDMI-A-2 --preferred --pos 0,0 --output HDMI-A-1 --preferred --pos -1920,0
壁纸
可以使用外部工具(如 swaybg、wpaperd 和 wbgAUR)来显示背景。例如
~/.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-menu 和 obmenu-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.svg 和 close-inactive.svg。图标文件支持 XBM、SVG 和 PNG 格式。
此外,您可以使用 ~/.config/themerc-override 覆盖主题条目。
labwc-artwork 为 labwc 提供了一些主题。
有关详细信息,请参阅 labwc-theme(5)。
Xwayland
如果在构建时启用了 Xwayland 支持,xorg-xwayland 会自动启动。要强制禁用它,请设置
~/.config/labwc/environment
WLR_XWAYLAND=