Awesome WM 4.2配置client.opacity后xterm/Firefox无透明度变化求助
解决Awesome 4.2中客户端窗口透明度不生效的问题
我之前在Awesome 4.2里折腾窗口透明度时也踩过一模一样的坑,结合你已经确认信号被处理的情况,给你几个具体的排查和解决方向:
精准匹配窗口类名
很多时候规则不生效是因为窗口类名写错了。你可以用xprop | grep WM_CLASS命令,点击目标窗口(比如xterm或Firefox),输出里的第二个字符串就是窗口类名(比如xterm通常是XTerm,Firefox是Firefox)。然后用Awesome官方推荐的rules配置来设置透明度,比直接用信号更可靠:awful.rules.rules = { -- 保留你已有的其他规则 { rule = { class = "Firefox" }, properties = { opacity = 0.8 } }, -- 0.8对应80%不透明度 { rule = { class = "XTerm" }, properties = { opacity = 0.8 } }, }启用外部合成器
Awesome本身不提供窗口合成功能,client.opacity的生效完全依赖外部合成器。你需要安装picom(compton的活跃维护分支),然后在rc.lua的启动区域添加命令:-- 在rc.lua的启动脚本部分加入 awful.spawn.with_shell("picom &")可以先手动在终端运行
picom,调整窗口看透明度是否变化,确认生效后再加入开机启动。适配xterm的特殊配置
xterm的透明度需要自身配置配合合成器才能生效。你可以在~/.Xresources文件里添加以下内容:XTerm*transparent: true XTerm*shading: 20 -- 数值越大透明度越低,范围0-100保存后运行
xrdb ~/.Xresources让配置生效,再重启xterm测试。检查opacity数值范围
Awesome 4.2中client.opacity的取值是0到1之间的浮点数,0代表完全透明,1代表完全不透明。如果你设置的是100(而不是1.0),那相当于没改透明度,要确保赋值的是0.8这类小数。
内容的提问来源于stack exchange,提问作者pholat
相关产品推荐
相关产品推荐

