跳转至内容

cwc

来自 ArchWiki

cwc

一个基于 wlroots 的可扩展 Wayland 合成器,具有动态窗口管理功能。cwc 深受 Awesome 窗口管理器影响,使用 Lua 进行配置,并使用 C 插件进行扩展。

安装

安装 cwcAUR 包。

启动

从您选择的显示管理器菜单中选择 cwc

LXQT

LXQt#Wayland Session


配置

系统范围的 cwc 配置文件位于 /usr/share/cwc/defconfig/,而用户配置文件位于 ~/.config/cwc

  • rc.lua — 主要的 cwc 资源配置文件。
  • keybindings.lua — cwc 快捷键。
  • oneshot.lua — 启动应用程序的地方。


创建配置文件

首先,运行以下命令以创建下一步所需的目录:

$ mkdir -p ~/.config/cwc/

每次启动时,cwc 将尝试使用 ~/.config/cwc/rc.lua 中的任何自定义设置,然后回退到 /usr/share/cwc/defconfig/。此文件默认不存在,因此我们必须先复制模板文件。

$ cp /usr/share/cwc/defconfig/* ~/.config/cwc/

自启动

自动启动是通过以下方式完成的:

~/.config/cwc/oneshot.lua


例如:

cwc.spawn_with_shell("swaybg --output '*' --color '#222222'")


壁纸

您可以使用壁纸设置器,如 fehswww

技巧与提示

屏幕截图

请参阅 Keyboard input 以确保 PrtSc 按钮已正确分配。然后安装一个屏幕截图程序,例如 flameshot

添加到 globalkeys 数组:

kbd.bind({ MODKEY }, "Print", function()
   cwc.spawn_with_shell("flameshot full")

移除窗口间隙

可以移除窗口之间的小间隙;在 screen/tag config 表中有一个 properties 部分,请将其添加进去:

 cwc.screen.set_useless_gaps(3)

媒体控制

可以通过组合使用 amixer(1)(可通过 alsa-utils 包获取)和 playerctl 来控制音量和媒体播放。以下内容可以添加到您的 rc.lua 配置文件相关的快捷键部分:

  ------------ Audio Media Keys
   kbd.bind({}, "XF86AudioLowerVolume", function()
       local cmd = string.format("pactl set-sink-volume @DEFAULT_SINK@ %s%%", "-3")
       cwc.spawn_with_shell(cmd)
   end, { exclusive = true, repeated = true })
   kbd.bind({}, "XF86AudioRaiseVolume", function()
       local cmd = string.format("pactl set-sink-volume @DEFAULT_SINK@ %s%%", "+3")
       cwc.spawn_with_shell(cmd)
   end, { exclusive = true, repeated = true })
   kbd.bind({}, "XF86AudioMute", function()
       cwc.spawn_with_shell("pactl set-sink-mute @DEFAULT_SINK@ toggle")
   end, { exclusive = true })
   kbd.bind({}, "XF86AudioMicMute", function()
       cwc.spawn_with_shell("pactl set-source-mute @DEFAULT_SOURCE@ toggle")
   end, { exclusive = true })
   -------------- Media Player Keys
   kbd.bind({}, "XF86AudioPlay", function()
       cwc.spawn_with_shell("playerctl play-pause")
   end, { exclusive = true })
   kbd.bind({}, "XF86AudioNext", function()
       cwc.spawn_with_shell("playerctl next")
   end, { exclusive = true })
   kbd.bind({}, "XF86AudioPrev", function()
       cwc.spawn_with_shell("playerctl previous")
   end, { exclusive = true })
   kbd.bind({}, "XF86AudioStop", function()
       cwc.spawn_with_shell("playerctl stop")
   end, { exclusive = true })
   kbd.bind({}, "XF86AudioRewind", function()
       cwc.spawn_with_shell("playerctl position 5-")
   end, { exclusive = true })
   kbd.bind({}, "XF86AudioForward", function()
       cwc.spawn_with_shell("playerctl position 5+")
   end, { exclusive = true })

Waybar

要使用 cwc 和 waybar,您需要加载该插件:

~/.config/cwc/oneshot.lua
cwc.plugin.load(plugins_folder .. "/dwl-ipc.so")

然后遵循 dwl waybar 页面。

故障排除

修复 Java (GUI 只显示灰色)

请参阅 Java#Gray window, applications not resizing with WM, menus immediately closing[1]




参见