Compton 是一款轻量级的 X11 窗口合成管理器(compositor),主要用于改善 Linux 桌面环境的视觉效果和性能。以下是它的主要使用场景及功能详解:
vsync
选项实现垂直同步,强制帧缓冲协调,消除撕裂现象。ini
vsync = "opengl-swc"; # 可选 opengl/opengl-swc/drm
backend
和 blur
相关参数实现:ini
backend = "glx"; # 使用 GLX 后端支持高级效果
blur-method = "kawase"; # 高性能模糊算法
blur-strength = 12; # 模糊强度
opacity-rule = [ # 自定义透明度规则
"90:class_g = 'Alacritty'", # 终端 90% 不透明
"80:class_g = 'rofi'" # Rofi 菜单 80% 不透明
];
ini
shadow = true; # 启用阴影
shadow-radius = 12; # 阴影半径
shadow-offset-x = -5; # X 轴偏移
shadow-offset-y = -5; # Y 轴偏移
shadow-exclude = [ # 排除特定窗口
"class_g = 'Firefox'", # 不显示 Firefox 阴影
"name = 'Desktop'"
];
ini
animations = true; # 启用动画
animation-for-open-window = "zoom"; # 窗口打开缩放效果
animation-stiffness = 300; # 动画刚度(速度)
animation-window-mass = 0.5; # 动画质量
xrender
后端替代 glx
(兼容性好但功能有限):ini
backend = "xrender";
ini
unredir-if-possible = true; # 全屏时绕过合成
unredir-if-possible-exclude = ["class_g = 'Steam'"];
ini
glx-no-stencil = true; # 禁用模板缓冲提升性能
glx-use-copysubbuffer-mesa = true; # 改善 NVIDIA 驱动兼容性
ini
# 排除特定窗口的合成
no-ewmh-fullscreen = true; # 避免 EWMH 全屏冲突
focus-exclude = ["class_g = 'mpv'"]; # 排除 MPV 播放器
ini
inactive-opacity = 0.9; # 非活动窗口半透明
mark-wmwin-focused = true; # 标记 WM 管理的窗口
detect-rounded-corners = true; # 支持圆角窗口
xrender
或调整 vsync
模式。Compton 适合以下用户:
- 追求美观(透明、阴影、动画)的极简主义用户。
- 需要解决屏幕撕裂但不想用重量级桌面环境(如 KDE)。
- 平铺窗口管理器用户(如 i3wm)需要补充视觉效果。
替代品:
- Wayland 环境下可改用 swayfx
或 wayfire
。
- 更现代的合成器如 picom
(Compton 的分支,活跃维护)。
通过灵活配置,Compton 能显著提升 Linux 桌面的视觉体验和流畅度。