插件窝 干货文章 Linux Compton配置文件解读

Linux Compton配置文件解读

窗口 true 淡入 shadow    来源:    2025-05-05

Compton(现更名为picom)是Linux下一个轻量级的X11合成窗口管理器,用于提供窗口透明、阴影、淡入淡出等视觉效果。以下是一个典型配置文件的详细解读:


1. 基础设置

backend = "glx";              # 使用OpenGL渲染(可选:xrender/glx)
vsync = true;                 # 开启垂直同步防止画面撕裂
detect-rounded-corners = true; # 检测圆角窗口
detect-client-opacity = true;  # 允许客户端设置透明度
  • backend:推荐glx(硬件加速),老旧设备可用xrender。
  • vsync:游戏或多显示器建议开启。

2. 窗口规则

opacity-rule = [
    "90:class_g = 'Alacritty'",  # Alacritty终端90%不透明
    "80:class_g = 'Thunar'",     # 文件管理器80%
    "100:name *= 'YouTube'"      # 全不透明匹配窗口名
];
  • 格式:"透明度:条件"(0-100,0为完全透明)。
  • 匹配项:常用class_g(窗口类)、name(标题)、role(窗口角色)。

3. 阴影效果

shadow = true;                  # 启用阴影
shadow-radius = 12;             # 阴影模糊半径
shadow-offset-x = -5;           # X轴偏移(负值向左)
shadow-offset-y = -5;           # Y轴偏移(负值向上)
shadow-opacity = 0.3;           # 阴影透明度
shadow-exclude = [
    "class_g = 'Firefox'",      # 排除Firefox窗口
    "name = 'Notification'"     # 排除通知窗口
];
  • 排除项:避免对全屏窗口或通知启用阴影。

4. 淡入淡出效果

fading = true;                  # 启用淡入淡出
fade-in-step = 0.03;            # 淡入步长(0.01-1.0)
fade-out-step = 0.03;           # 淡出步长
fade-delta = 5;                 # 效果延迟(毫秒)
  • 适用场景:窗口打开/关闭、切换工作区时。

5. 窗口动画

wintypes:
{
    tooltip = { fade = true; shadow = false; };  # 工具提示仅淡入淡出
    dropdown_menu = { opacity = 0.9; };         # 下拉菜单90%不透明
};
  • 可配置类型:normal, dialog, menu, tooltip等。

6. 性能优化

glx-no-stencil = true;         # 禁用模板缓冲(提升性能)
glx-no-rebind-pixmap = true;   # 避免重复绑定(NVIDIA驱动可能需要)
unredir-if-possible = true;    # 全屏窗口时禁用合成(降低延迟)
  • NVIDIA用户:可能需要添加force-win-blend = true;。

7. 排除问题窗口

no-ewmh-fullscreen = true;     # 忽略某些全屏窗口的EWMH协议
mark-wmwin-focused = true;     # 正确标记WM管理的窗口焦点

配置文件位置

  • 默认路径:~/.config/picom/picom.conf
  • 生成默认配置:picom --example-config > ~/.config/picom/picom.conf

常见问题解决

  1. 黑屏/闪烁:

    • 尝试切换backend为xrender。
    • 添加--experimental-backends参数运行。
  2. 性能低下:

    • 关闭阴影:shadow = false;
    • 减少shadow-radius值。
  3. 透明失效:

    • 确保窗口管理器支持(如i3/sway需正确配置)。
  4. NVIDIA专有驱动:

    glx-use-copysubbuffermesa = true;
    glx-use-gpushader4 = true;
    

通过调整这些参数,可以平衡视觉效果与性能。建议逐步测试修改项,观察系统响应。