i3wm下picom使非活动窗口变暗时丢失圆角问题
解决Picom中非活动窗口变暗时圆角消失的问题
问题描述
在i3wm中配置Picom实现圆角窗口,设置了corner-radius = 7和inactive-dim = 0.5,但非活动窗口变暗时边角会变成直角,活动窗口则正常显示圆角。
可能原因及解决方案
1. 废弃参数冲突
部分Picom分支(如jonaburg维护的版本)已废弃round-corners参数,仅需保留corner-radius即可。多余的round-corners = 1可能导致渲染逻辑冲突,引发圆角失效。
修改配置:
# 移除这一行 # round-corners = 1
2. 后端渲染逻辑差异
Picom的XRender后端在处理inactive-dim和圆角时可能存在兼容性问题,切换到GLX后端通常能解决这类渲染顺序问题。
在配置中添加或修改后端设置:
backend = "glx";
3. Dim效果覆盖圆角裁剪
inactive-dim的实现方式可能会覆盖圆角的裁剪效果,可以尝试调整dim参数,或者改用inactive-opacity结合手动调色的方式模拟变暗效果(如果dim效果不是必须的):
# 注释掉inactive-dim,调整inactive-opacity实现类似视觉效果 # inactive-dim = 0.5 inactive-opacity = 0.7;
4. 检查版本兼容性
旧版Picom对圆角和dim的组合支持不佳,建议更新到最新的社区维护版本(如picom-jonaburg或picom-git),这些版本修复了大量渲染相关的bug。
验证方法
修改配置后,重启Picom生效:
pkill picom && picom -b
内容的提问来源于stack exchange,提问作者TimeRunner2359
相关产品推荐
相关产品推荐

