插件窝 干货文章 Linux Compton配置文件怎么写

Linux Compton配置文件怎么写

窗口 Compton 阴影 shadow 520    来源:    2025-05-06

Compton 是一个轻量级的 X11 合成窗口管理器,常用于改善 Linux 桌面的视觉效果(如窗口透明、阴影、动画等)。以下是一个详细的 Compton 配置文件示例及说明:


基础配置文件示例(~/.config/compton.conf/etc/xdg/compton.conf

# 基本设置
backend = "glx";              # 使用 OpenGL 渲染(可选:xrender/glx)
vsync = true;                 # 开启垂直同步
paint-on-overlay = true;      # 减少画面撕裂
glx-no-stencil = true;        # 禁用模板缓冲(提升性能)

# 窗口阴影
shadow = true;                # 启用阴影
shadow-radius = 12;           # 阴影半径
shadow-opacity = 0.75;        # 阴影透明度 (0-1)
shadow-offset-x = -15;        # 阴影 X 轴偏移
shadow-offset-y = -15;        # 阴影 Y 轴偏移
shadow-exclude = [
    "name = 'Notification'",  # 排除通知窗口
    "class_g = 'Conky'",      # 排除 Conky
    "class_g ?= 'Notify-osd'",# 排除系统通知
    "_GTK_FRAME_EXTENTS@:c"   # 排除 GTK 窗口边框阴影
];

# 窗口透明与模糊
inactive-opacity = 0.9;       # 非活动窗口透明度
active-opacity = 1.0;         # 活动窗口透明度
frame-opacity = 0.8;          # 窗口边框透明度
blur-background = true;       # 启用背景模糊
blur-method = "kawase";       # 模糊算法(可选:kernel/kawase)
blur-strength = 5;            # 模糊强度

# 窗口规则(按需自定义)
opacity-rule = [
    "90:class_g = 'Alacritty'", # 特定窗口透明度
    "80:class_g = 'Thunar'"
];

# 排除不需要特效的窗口
wintypes:
{
    tooltip = { fade = true; shadow = false; };
    dropdown_menu = { opacity = 0.9; };
    popup_menu = { opacity = 0.9; };
};

关键参数说明

  1. 渲染后端

    • backend = "glx":推荐支持 OpenGL 的硬件使用。
    • backend = "xrender":兼容性更好,但功能有限。
  2. 性能优化

    • vsync = true:防止画面撕裂(若卡顿可尝试 false)。
    • glx-no-rebind-pixmap = true:解决 NVIDIA 驱动问题。
  3. 模糊效果

    • blur-background 需配合 blur-methodblur-strength
    • 部分方法(如 kawase)需 Compton 编译时启用实验性功能。
  4. 排除规则

    • shadow-excludeopacity-rule 使用 X11 属性匹配窗口(通过 xprop 命令查询)。

启动方式

  1. 手动启动

    compton --config ~/.config/compton.conf -b
    
    • -b:后台运行。
  2. 自动启动: 将命令添加到桌面环境的自启动文件(如 ~/.xinitrc~/.config/autostart/)。


常见问题解决

  1. 模糊无效

    • 确保 Compton 版本支持模糊(如 compton-tryone-gitpicom)。
    • 检查窗口管理器是否允许合成(如 i3 需添加 exec_always compton)。
  2. 性能卡顿

    • 换用 xrender 后端。
    • 关闭阴影或模糊:shadow = false; blur-background = false
  3. 多显示器问题

    • 添加 xinerama-shadow-crop = true 避免阴影跨屏幕。

进阶配置

  • 动态调节透明度:结合 devilspie 或窗口规则。
  • 动画效果:需使用 fork 版本(如 picom--animations 选项)。

建议根据实际硬件和桌面环境调整参数,可通过 compton --diagnostics 检查运行状态。