温馨提示×

Linux Compton配置中如何实现窗口阴影

小樊
39
2025-12-18 02:05:06
栏目: 智能运维

启用与基本配置

  • 在配置中开启阴影:将全局开关设为 shadow = true,并选择渲染后端(如 backend = glx,兼容性更好时可用 xrender)。示例:
    backend = glx
    vsync = true
    shadow = true
    
    保存后重启 Compton 生效。上述开关与后端是启用阴影的基础配置项。

阴影参数调优

  • [shadow] 段细化外观,常用键位与含义如下(可按需微调):
    参数 含义 示例
    shadow-radius 阴影模糊半径 shadow-radius = 5
    shadow-offset-x 水平偏移 shadow-offset-x = 1
    shadow-offset-y 垂直偏移 shadow-offset-y = 1
    shadow-opacity 阴影不透明度 shadow-opacity = 0.3
  • 示例片段:
    [shadow]
    shadow-radius = 5
    shadow-offset-x = 1
    shadow-offset-y = 1
    shadow-opacity = 0.3
    
    调整这些参数可改变阴影的“大小、距离、浓淡”,建议小步迭代以获得与桌面壁纸和主题匹配的观感。

排除不需要阴影的窗口

  • 使用 shadow-exclude 列表跳过特定窗口(如通知、菜单、拖动层等),避免无效或突兀的阴影:
    shadow-exclude = [
      "name 'Notification'",
      "class_g ? 'Dmenu'",
      "class_g ? 'Dunst'",
      "_NET_WM_STATE@:32a * '_NET_WM_STATE_HIDDEN'",
      "_GTK_FRAME_EXTENTS@:c",
      "_NET_WM_STATE@:32a * '_NET_WM_STATE_STICKY'",
      "class_g ? 'i3-frame'"
    ]
    
    以上规则覆盖了常见的无边框菜单、通知与隐藏/置顶状态窗口,可按桌面环境增删。

应用与验证

  • 检查 Compton 是否运行:
    ps -e | grep compton
    
  • 使配置生效(二选一):
    • 重启进程:
      killall compton
      compton &
      
    • 指定配置文件启动:
      compton --config ~/.config/compton.conf -f
      
  • 登录即自动启动(写入会话启动脚本,如 ~/.xprofile~/.xinitrc):
    compton -b
    
    以上步骤确保新配置被加载并常驻运行。

常见问题与排查

  • 已开启 shadow 却不见阴影:多因被 shadow-exclude 规则或窗口属性(如隐藏/置顶)排除,检查并精简该列表;必要时暂时清空列表进行对比测试。
  • 性能或撕裂:尝试切换 backend(glx/xrender)并调整 vsync(true/false),在观感与性能间取平衡。
  • 多显示器或登录后未生效:确认使用正确的配置文件路径并重启 Compton;若通过显示管理器登录,建议在会话启动脚本中启动并以后台方式运行(-b)。

0