Compton 是一个轻量级的X11合成管理器,常用于提升Linux桌面环境的视觉效果和性能。以下是一些高级配置技巧,可以帮助您优化Compton的使用体验。
# 启用后端检测
backend = "glx";
# 使用更快的阴影算法
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# 减少重绘区域
xrender-sync-fence = true;
# 窗口透明度设置
opacity-rule = [
"90:class_g = 'Terminal'",
"85:class_g = 'Code'",
"100:class_g = 'Firefox'"
];
# 启用模糊效果 (需要编译时启用kawase模糊支持)
blur-background = true;
blur-method = "kawase";
blur-strength = 5;
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'"
];
# 窗口动画设置
animations = true;
animation-for-open-window = "zoom";
animation-for-transient-window = "slide-down";
animation-for-workspace-switch-in = "slide-up";
animation-for-workspace-switch-out = "slide-down";
# 动画参数
animation-stiffness = 300.0;
animation-window-mass = 0.5;
animation-dampening = 25.0;
# 针对不同显示器设置不同参数
glx-swap-method = "buffer-age"; # 减少延迟
glx-no-stencil = true; # 提高性能
# 针对特定显示器关闭合成
unredir-if-possible = true;
unredir-if-possible-exclude = [
"class_g = 'Firefox'"
];
# 更精细的窗口排除控制
fade-exclude = [
"class_g = 'slop'", # 区域选择工具
"class_g = 'rofi'" # 启动器
];
# 不绘制特定窗口的阴影
no-dnd-shadow = true;
no-dock-shadow = true;
# 启用日志记录
log-level = "info";
log-file = "/tmp/compton.log";
# 性能分析标记
paint-on-overlay = true;
glx-no-rebind-pixmap = true;
# 针对i3wm的优化
mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = true;
# 针对KDE的优化
detect-rounded-corners = true;
detect-client-opacity = true;
# 高级GLX选项
glx-copy-from-front = false;
glx-use-copysubbuffermesa = true;
glx-no-rebind-pixmap = true;
glx-swap-method = "exchange"; # 或 "buffer-age"
glxinfo
和glxgears
测试图形性能~/.config/compton.conf
或~/.compton.conf
通过合理配置这些高级选项,您可以显著提升Linux桌面的视觉体验和性能表现。