Linux Compton配置中透明度设置技巧
~/.config/compton.conf),通过alpha参数设置全局透明度(范围0.0~1.0,0.0为完全透明,1.0为完全不透明)。例如:[core]
alpha = 0.7 # 全局70%透明度
保存后重启Compton(pkill compton && compton -b)使设置生效。--alpha参数直接指定透明度(临时生效,重启后失效)。例如:compton --alpha 0.6 # 当前会话窗口透明度设为60%
opacity-rule是Compton调整透明度的核心功能,可通过**窗口类名(class_g)、标题(name)、状态(如聚焦/非聚焦)**等属性设置差异化透明度,语法为:
opacity-rule = [
"条件:透明度值(0.0-1.0)",
// 示例:
"90:class_g = 'Firefox'", # Firefox窗口90%不透明
"85:class_g = 'Alacritty'", # Alacritty终端85%不透明
"0:name *= 'zoom'", # Zoom窗口完全透明(适合视频会议)
"95:class_g = 'Discord'", # Discord窗口95%不透明
"60:name *? 'terminal' && !focused" # 非聚焦的终端窗口60%透明
];
关键说明:
class_g:匹配窗口的类名(如Firefox、Alacritty),可通过xprop | grep -i class命令获取(点击目标窗口即可显示类名);name:匹配窗口标题(如包含“Zoom”的窗口);focused/!focused:匹配窗口是否处于聚焦状态(如终端窗口聚焦时更清晰,非聚焦时更透明)。focus-exclude参数排除不需要透明的窗口(如顶部面板的dmenu、通知中心的窗口),避免影响操作体验。例如:focus-exclude = "x 0 && y 0 && override_redirect true" # 排除屏幕左上角的dmenu窗口
bg-blur参数开启背景模糊,使透明窗口后的内容更具层次感(需显卡支持)。例如:backend = "glx"; # 使用GLX后端(支持模糊效果)
glx-no-stencil = true; # 优化模糊性能
bg-blur = true; # 开启背景模糊
transset-df工具实时调整窗口透明度(需提前安装,通常包含在xorg-transset包中)。例如:transset-df 0.7 # 将鼠标下的窗口设为70%透明
glx后端(需显卡驱动支持),其性能优于xrender,尤其适合动画效果;若出现兼容性问题(如窗口闪烁),可切换回xrender。disable-gpu-compositing(默认是false),以提升透明效果的流畅度。0.5)可能降低文字或图标的可读性,建议关键窗口(如终端、编辑器)保持较高透明度(0.8以上)。