温馨提示×

Compton配置中如何调整透明度效果

小樊
57
2025-09-18 09:36:46
栏目: 编程语言

Compton配置中调整透明度效果的方法

1. 准备工作:定位或创建配置文件

Compton的配置文件通常位于用户目录下的.config/compton.conf(如~/.config/compton.conf)。若文件不存在,可通过文本编辑器(如nanovim)手动创建:

nano ~/.config/compton.conf

2. 命令行参数快速调整(临时生效)

若无需永久修改,可直接在启动Compton时通过命令行参数设置透明度:

  • 全局透明度:使用--opacity参数设置所有窗口的透明度(0=完全透明,1=完全不透明),例如:
    compton --opacity 0.7
    
  • 背景模式+透明度:结合-b(后台模式)和-r(背景透明度)参数,例如:
    compton -b -r 0.5 -i 0.8
    
    其中-r 0.5设置背景透明度为50%,-i 0.8设置聚焦窗口的透明度为80%。
    该方法重启Compton后失效,需重新执行命令。

3. 配置文件永久调整(推荐)

通过修改配置文件可实现永久生效的透明度设置,关键参数如下:

(1)基础透明度参数

  • 全局透明度:设置所有窗口的默认透明度(0~1之间),例如:
    opacity = 0.8
    
  • 激活/非激活窗口透明度:分别设置聚焦窗口与非聚焦窗口的透明度,增强层次感:
    active-opacity = 0.9  # 聚焦窗口透明度(90%)
    inactive-opacity = 0.6  # 非聚焦窗口透明度(60%)
    

(2)自定义窗口规则(opacity-rule)

通过opacity-rule参数针对不同应用或窗口类型设置差异化透明度,格式为["条件:透明度", ...]。常见场景示例:

opacity-rule = [
    "90:class_g 'Firefox'",       # Firefox浏览器窗口透明度90%
    "85:class_g 'XTerm'",         # XTerm终端窗口透明度85%
    "80:class_g 'Alacritty'",     # Alacritty终端窗口透明度80%
    "0:name *= 'zoom'",           # Zoom会议窗口完全透明(需谨慎使用)
    "0.7:class_g 'Dunst'",        # Dunst通知中心透明度70%
    "100:class_g 'discord'"       # Discord窗口不透明(避免遮挡内容)
]
  • 条件说明
    • class_g:匹配窗口的类名(如FirefoxXTerm),可通过xprop | grep -i class命令获取目标窗口的类名;
    • name:匹配窗口的标题(如包含“zoom”的窗口);
    • focused:匹配当前聚焦的窗口(如name *? 'Typora' && focused表示聚焦的Typora窗口)。

(3)排除特定窗口

若某些窗口(如桌面面板、dmenu)不需要透明,可通过focus-exclude参数排除:

focus-exclude = "x = 0 && y = 0 && override_redirect true"

该配置排除屏幕左上角(坐标0,0)且属性为override_redirect(无窗口管理器管理)的窗口(如dmenu)。

4. 动态调整透明度(运行时修改)

若需实时调整已运行窗口的透明度,可使用transset-df工具(需提前安装,通常包含在xorg-transset包中):

transset-df 0.8  # 将鼠标当前指向的窗口透明度设置为80%

安装命令(以Debian/Ubuntu为例):

sudo apt install x11-utils

5. 应用配置

修改配置文件或命令行参数后,需重启Compton使更改生效:

pkill compton && compton -b -c ~/.config/compton.conf

若使用systemd管理Compton服务(如部分发行版的用户级服务),可通过以下命令重启:

systemctl --user restart compton

注意事项

  • 性能影响:透明度效果会增加显卡负载,老旧硬件可能出现卡顿,建议关闭不必要的透明规则;
  • 兼容性问题:部分应用程序(如某些游戏、视频播放器)可能不支持窗口透明,需通过opacity-rule将其排除;
  • 视觉优化:过度使用透明度可能降低文字或图标的可读性,建议根据桌面环境调整透明度值(如深色主题可适当提高透明度,浅色主题降低透明度)。

0