Compton 是一个轻量级的 X11 合成窗口管理器,主要用于提供窗口透明、阴影、淡入淡灭等视觉效果。以下是 Compton 的详细配置指南。
sudo apt install compton
sudo pacman -S compton
sudo dnf install compton
Compton 的配置文件通常位于 ~/.config/compton.conf
或 /etc/xdg/compton.conf
。
mkdir -p ~/.config
touch ~/.config/compton.conf
# 基本设置
backend = "glx";
paint-on-overlay = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
vsync = "opengl-swc";
# 阴影设置
shadow = true;
shadow-radius = 12;
shadow-offset-x = -15;
shadow-offset-y = -15;
shadow-opacity = 0.5;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# 透明度设置
inactive-opacity = 0.8;
active-opacity = 1.0;
frame-opacity = 1.0;
inactive-opacity-override = false;
opacity-rule = [
"90:class_g = 'Alacritty' && focused",
"80:class_g = 'Alacritty' && !focused",
"95:class_g = 'Code' && focused",
"85:class_g = 'Code' && !focused"
];
# 淡入淡出效果
fading = true;
fade-delta = 5;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [];
# 其他设置
detect-rounded-corners = true;
detect-client-opacity = true;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = true;
detect-transient = true;
detect-client-leader = true;
unredir-if-possible = true;
focus-exclude = [];
compton --config ~/.config/compton.conf -b
compton -b
compton --backend glx -b
# 使用更高效的渲染后端
backend = "xrender";
# 禁用某些效果以提高性能
shadow = false;
fading = false;
# 减少重绘
paint-on-overlay = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
# 指定在特定显示器上启用阴影
shadow-exclude = [
"output = 'HDMI-0'"
];
# 不同显示器使用不同设置
xinerama-shadow-crop = true;
# 排除某些应用程序的透明效果
opacity-rule = [
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
"0:_NET_WM_STATE@[0]:32a = '_NET_WM_STATE_HIDDEN'",
"0:_NET_WM_STATE@[1]:32a = '_NET_WM_STATE_HIDDEN'",
"0:_NET_WM_STATE@[2]:32a = '_NET_WM_STATE_HIDDEN'",
"0:_NET_WM_STATE@[3]:32a = '_NET_WM_STATE_HIDDEN'",
"0:_NET_WM_STATE@[4]:32a = '_NET_WM_STATE_HIDDEN'"
];
屏幕闪烁或撕裂
ini
vsync = "opengl"; # 或 "opengl-swc", "opengl-oml", "xpresent"
ini
vsync = false;
性能问题
ini
backend = "xrender";
特定应用程序不显示透明效果
compton --config ~/.config/compton.conf --log-level debug
将以下内容添加到 ~/.xinitrc
或桌面环境的自动启动设置中:
compton --config ~/.config/compton.conf -b
如果你使用的是较新的系统,可以考虑使用 picom
(Compton 的分支和继任者),它提供了更多功能和更好的性能。
通过以上配置,你可以根据个人喜好和硬件性能调整 Compton 的视觉效果,获得更美观的桌面体验。