温馨提示×

Linux Compton配置中窗口透明度

小樊
47
2025-09-20 16:42:59
栏目: 智能运维

Compton配置中窗口透明度的设置方法

Compton作为Linux轻量级合成窗口管理器,可通过配置文件命令行参数动态工具调整窗口透明度,以下是具体实现方式:

一、基础配置准备

在调整透明度前,需确保Compton已安装并创建/编辑配置文件:

  • 安装Compton(以常见发行版为例):
    Debian/Ubuntu: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创建)。

二、全局透明度设置

1. 配置文件方式

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%。

2. 命令行方式

启动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

此方法无需修改配置文件,适合临时调整特定窗口的透明度。

五、注意事项

  1. 性能优化:透明度效果会增加显卡负载,旧硬件建议关闭不必要的特效(如阴影、模糊),或降低透明度值。
  2. 兼容性问题:部分应用程序(如游戏、视频播放器)可能不支持透明效果,需在opacity-rule中将其排除(如"100:class_g = 'vlc'")。
  3. 桌面环境冲突:GNOME、KDE等桌面环境自带合成管理器(如Mutter、KWin),可能与Compton冲突,建议禁用桌面环境的合成效果或使用其内置透明设置。

通过以上方法,可灵活调整Compton的窗口透明度,打造个性化的Linux桌面视觉效果。

0