Compton 的“插件”机制与可用类型
Compton 的配置体系里没有类似浏览器或编辑器的“插件”概念。它主要通过配置文件中的功能开关、规则与可加载的着色器来实现扩展与定制。可“使用”的能力大致分为三类:内置特效与规则、GLSL 着色器、外部脚本/系统集成。
一、内置可启用的特效与规则
- 阴影与排除规则:启用/禁用窗口阴影,并通过规则排除指定窗口(如基于窗口类名、标题等)。常见键:shadow、shadow-exclude。
- 淡入淡出动画:窗口创建/关闭时的透明度过渡。常见键:fade。
- 垂直同步:减少撕裂。常见键:vsync(如 true/false 或 drm/opengl/xpresent 等模式)。
- 不重定向覆盖层:控制是否对顶层覆盖窗口(如视频播放器)绕过合成以减少延迟。常见键:unredirect。
- 背景/区域模糊:对背景或屏幕边缘进行模糊。常见键:blur-background、blur-kern、screen-edge-blur。
- 窗口透明度与规则:按应用或窗口设置不透明度。常见键:opacity、opacity-rule。
- 后端选择:选择合成后端以平衡性能与兼容性。常见键:backend = “glx” | “xrender”(部分构建支持 “wayland”)。
二、GLSL 着色器扩展
- 自定义片段着色器:通过 shader-file = “/path/to/shader.frag” 加载外部 GLSL 片段着色器,实现个性化特效(如色调映射、滤镜、自定义模糊等)。
- 着色器参数:可在配置中为着色器提供可调参数,例如 shader-dim、shader-opacity、shader-color、shader-geometry、shader-position 等(具体可用键取决于着色器与构建版本)。
- 适用场景:高级用户可在不改动源码的情况下,为 Compton 增加独特的视觉效果。
三、外部脚本与系统集成方式
- 启动与重启:通过脚本或会话管理器启动/重启 Compton,便于在登录时自动加载配置。示例:
- 手动重启:killall compton && compton &
- Systemd 服务示例:ExecStart=/usr/bin/compton --config ~/.config/compton.conf;支持 Restart=always 等策略。
- 调试输出:使用 –log-level debug 定位配置或性能问题。
- 桌面环境兼容:在 GNOME/KDE 等自带合成器的桌面中,可能需要禁用内置合成器或调整启动顺序以避免冲突。
四、常见可用能力速查表
| 功能类别 |
配置项或方式 |
说明 |
| 阴影控制 |
shadow、shadow-exclude |
开关阴影并排除指定窗口 |
| 淡入淡出 |
fade |
窗口切换时的透明度动画 |
| 垂直同步 |
vsync |
防撕裂,支持多种模式 |
| 覆盖层绕过 |
unredirect |
降低全屏/覆盖层应用的延迟 |
| 模糊效果 |
blur-background、blur-kern、screen-edge-blur |
背景/边缘模糊与卷积核 |
| 透明度规则 |
opacity、opacity-rule |
按应用/窗口设置不透明度 |
| 后端选择 |
backend |
如 glx、xrender(部分构建含 wayland) |
| GLSL 着色器 |
shader-file 等 |
加载自定义片段着色器与参数 |
| 外部集成 |
systemd/脚本 |
自动启动、重启与日志调试 |
五、实践建议
- 优先使用 backend = “glx” 并结合 vsync 获得更稳定的视觉效果;遇到撕裂或卡顿时再调整 vsync 模式或关闭特定特效。
- 在 GNOME/KDE 等环境中,先确认是否需要禁用自带合成器,再启动 Compton,避免冲突与资源竞争。
- 通过 –log-level debug 验证配置改动;着色器与规则建议逐项启用,便于定位问题。