Compton配置中窗口透明度的设置方法
Compton作为Linux轻量级合成窗口管理器,可通过配置文件、命令行参数或动态工具调整窗口透明度,以下是具体实现方式:
在调整透明度前,需确保Compton已安装并创建/编辑配置文件:
sudo apt install compton;Arch Linux:sudo pacman -S compton;Fedora:sudo dnf install compton。~/.config/compton.conf(若不存在,可通过mkdir -p ~/.config && touch ~/.config/compton.conf创建)。在compton.conf中添加或修改以下参数,设置所有窗口的基础透明度:
# 启用OpenGL后端(提升性能与兼容性)
backend = "glx";
paint-on-overlay = true;
glx-no-stencil = true;
# 全局透明度设置(0.0=完全透明,1.0=完全不透明)
inactive-opacity = 0.8; # 非活动窗口透明度(如最小化的窗口)
active-opacity = 1.0; # 活动窗口透明度(当前聚焦的窗口)
frame-opacity = 0.7; # 窗口边框透明度
inactive-opacity-override = false; # 是否强制非活动窗口使用inactive-opacity
此配置会让非活动窗口以80%透明度显示,活动窗口保持完全不透明,边框透明度为70%。
启动Compton时通过--alpha参数直接设置全局透明度(临时生效,重启后失效):
compton --config ~/.config/compton.conf --alpha 0.6 -b
其中--alpha 0.6表示全局透明度为60%,-b表示在后台运行。
通过opacity-rule参数,可根据窗口类名、名称或状态设置差异化透明度,实现更个性化的效果:
opacity-rule = [
"90:class_g = 'Terminal'", # 终端类窗口(如GNOME Terminal)90%透明
"85:class_g = 'Thunar'", # Thunar文件管理器85%透明
"70:class_g = 'Firefox' && !focused", # Firefox非活动窗口70%透明
"100:class_g = 'Firefox' && focused", # Firefox活动窗口完全不透明
"0:name *= 'zoom'" # Zoom会议窗口完全透明(避免遮挡)
];
规则说明:
class_g:匹配窗口的类名(可通过xprop | grep WM_CLASS获取);name:匹配窗口的标题(如包含“zoom”的窗口);&& focused:表示窗口处于聚焦状态时的条件。若需临时调整已运行窗口的透明度,可使用transset-df工具(需提前安装,通常包含在xorg-transset包中):
# 安装transset-df(Debian/Ubuntu为例)
sudo apt install xorg-transset
# 将鼠标移至目标窗口,执行以下命令设置透明度(如80%)
transset-df 0.8
此方法无需修改配置文件,适合临时调整特定窗口的透明度。
opacity-rule中将其排除(如"100:class_g = 'vlc'")。通过以上方法,可灵活调整Compton的窗口透明度,打造个性化的Linux桌面视觉效果。