Compton 是一个轻量级的 X11 合成窗口管理器,可以为 Linux 桌面提供窗口透明、阴影、淡入淡出等视觉效果。以下是详细的配置步骤:
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";
vsync = true;
# 窗口透明效果
opacity-rule = [
"90:class_g = 'URxvt'",
"95:class_g = 'Alacritty'",
"85:class_g = 'Termite'"
];
# 窗口阴影
shadow = true;
shadow-radius = 12;
shadow-offset-x = -12;
shadow-offset-y = -12;
shadow-opacity = 0.5;
shadow-exclude = [
"class_g = 'Firefox' && argb",
"name = 'Notification'"
];
# 淡入淡出效果
fading = true;
fade-delta = 5;
fade-in-step = 0.03;
fade-out-step = 0.03;
compton --config ~/.config/compton.conf -b
将以下内容添加到你的窗口管理器或桌面环境的启动文件中:
对于 i3wm (添加到 ~/.config/i3/config
):
exec --no-startup-id compton --config ~/.config/compton.conf -b
对于 GNOME/XFCE 等桌面环境,可以添加到自动启动应用程序中。
# 使用更高效的渲染后端
backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
use-damage = true;
# 减少重绘
xrender-sync-fence = true;
# 排除全屏窗口的合成
unredir-if-possible = true;
unredir-if-possible-exclude = [
"class_g = 'Firefox'"
];
# 排除特定窗口的透明效果
opacity-rule = [
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
"100:class_g = 'dmenu'"
];
# 窗口打开/关闭动画
animations = true;
animation-for-open-window = "zoom";
animation-for-transient-window = "slide-down";
animation-stiffness = 300;
animation-window-mass = 0.5;
animation-dampening = 25;
屏幕撕裂问题:
vsync = true;
backend = "glx";
glx-swap-method = "buffer-age";
性能问题:
backend = "xrender";
paint-on-overlay = true;
特定应用程序显示问题:
在 shadow-exclude
或 opacity-exclude
中添加该应用程序的类名
compton --config ~/.config/compton.conf --log-level debug
如果 Compton 不能满足需求,可以考虑以下替代品: - picom: Compton 的一个活跃分支,支持更多新特性 - xcompmgr: 更轻量但功能较少 - Wayland 合成器: 如 Sway、Mutter 等(仅限 Wayland 环境)
通过以上配置,你可以根据个人喜好调整 Linux 桌面的视觉效果,平衡美观与性能。