cwc
外观
cwc 是
- 一个基于 wlroots 的可扩展 Wayland 合成器,具有动态窗口管理功能。cwc 深受 Awesome 窗口管理器影响,使用 Lua 进行配置,并使用 C 插件进行扩展。
安装
启动
从您选择的显示管理器菜单中选择 cwc。
LXQT
配置
系统范围的 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'")
壁纸
技巧与提示
屏幕截图
请参阅 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]。
参见
- https://cudiph.github.io/cwc/apidoc/ - API文档
- https://lua.ac.cn/pil/ - Lua 编程(第一版)
- https://github.com/Cudiph/cwcwm - 官方 cwc GitHub