Compton 是一个轻量级的X11合成窗口管理器,用于提供窗口透明、阴影、淡入淡出等视觉效果。以下是配置Compton的详细步骤:
sudo apt install compton
sudo pacman -S compton
sudo dnf install compton
mkdir -p ~/.config/compton
nano ~/.config/compton/compton.conf
# 启用阴影
shadow = true;
# 阴影不透明度 (0.0 - 1.0)
shadow-opacity = 0.75;
# 阴影偏移 (x, y)
shadow-offset-x = -15;
shadow-offset-y = -12;
# 阴影模糊半径
shadow-radius = 12;
# 圆角半径 (需要xrender后端)
corner-radius = 10;
# 淡入淡出效果
fading = true;
# 淡入淡出时间 (毫秒)
fade-delta = 10;
# 淡入淡出步长 (0.01 - 1.0)
fade-in-step = 0.03;
fade-out-step = 0.03;
# 窗口透明度设置
inactive-opacity = 0.8;
active-opacity = 1.0;
frame-opacity = 0.7;
inactive-opacity-override = false;
# 后端选择 (auto, xrender, glx)
backend = "glx";
# 使用vsync避免屏幕撕裂
vsync = true;
# 不透明度规则 (可针对特定窗口设置)
opacity-rule = [
"90:class_g = 'Terminal'",
"80:class_g = 'Thunar'",
"70:class_g = 'Firefox' && !focused"
];
compton --config ~/.config/compton/compton.conf -b
将以下内容添加到你的窗口管理器或桌面环境的启动脚本中:
对于i3wm,编辑~/.config/i3/config
:
exec --no-startup-id compton --config ~/.config/compton/compton.conf -b
对于其他桌面环境,可以添加到~/.xprofile
或~/.xsession
文件中。
# 使用glx后端时启用DRI3
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
use-damage = true;
# 降低刷新率以节省资源
refresh-rate = 0;
# 不应用阴影的窗口
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# 不应用透明度的窗口
opacity-exclude = [
"class_g = 'Dmenu'",
"class_g = 'Rofi'"
];
# 窗口打开动画
wintypes:
{
tooltip = { fade = true; shadow = false; opacity = 0.75; focus = true; };
dock = { shadow = false; };
dnd = { shadow = false; };
popup_menu = { opacity = 0.8; };
dropdown_menu = { opacity = 0.8; };
};
屏幕撕裂:
backend = "glx";
或 backend = "xrender";
性能问题:
use-damage = true;
特定窗口不显示效果:
xprop
命令获取窗口属性并调整规则compton --config ~/.config/compton/compton.conf --log-level debug
如果Compton不能满足需求,可以考虑: - Picom: Compton的分支,持续维护 - xcompmgr: 更轻量但功能较少 - compiz: 功能丰富但较重
通过以上步骤,你应该能够成功配置Compton并获得理想的桌面视觉效果。根据你的硬件性能和审美偏好调整参数以获得最佳体验。