温馨提示×

Linux Compton配置中如何设置窗口大小

小樊
47
2026-01-11 23:05:40
栏目: 智能运维

Compton 与窗口大小的关系 Compton 是 X11 的窗口合成器,职责是合成、阴影、透明度、模糊与变换等视觉效果,不会决定或改变应用窗口的尺寸、位置、最大化/最小化等几何属性;这些由窗口管理器(如 Openbox、i3、bspwm)或应用自身控制。因此“设置窗口大小”应在窗口管理器/应用层完成,Compton 只负责渲染层面的呈现。

在窗口管理器层面调整窗口大小

  • 使用窗口管理器的快捷键与命令:
    • i3resize grow|shrink width|height <px>;或 i3-msg resize set <width> <height>
    • Openbox:鼠标拖动窗口边缘/标题栏调整;或 obconf 配置按键绑定。
    • bspwmbspc node -s <direction>bspc node -z <direction> <px> 调整并“推挤”窗口尺寸。
  • 使用应用自身的窗口菜单或状态栏(如终端窗口的 VTE 设置、浏览器窗口缩放等)。
  • 若使用桌面环境(如 GNOME/KDE/Xfce),优先使用其内置窗口管理策略与快捷键。

在 Compton 层面可做的与“大小”相关的渲染控制

  • 缩放变换(视觉大小变化,不改变实际窗口几何):
    • 示例(配置文件):transform = "scale(0.9, 0.9)"(全局缩放 90%)。
    • 示例(按窗口规则):--transform "scale(0.8, 0.8), translate(10px, 10px)"
    • 说明:缩放会影响模糊半径、阴影、光标等视觉效果;若缩放导致锯齿或模糊过重,可配合调整模糊参数或后端。
  • 窗口规则与排除(影响哪些窗口被处理/如何呈现):
    • 示例:opacity-rule = "90:class_g 'Firefox'"(仅影响透明度,不改变尺寸)。
    • 示例:shadow-exclude = ["name = 'Dmenu'"](排除特定窗口的阴影)。
  • 常见呈现参数(与尺寸感知相关):
    • backend = "glx" | "xrender"(不同后端在缩放/模糊表现与性能上可能有差异)。
    • vsync = true/false(减少撕裂,避免尺寸变化时的视觉撕裂感)。

示例配置与验证步骤

  • 示例(仅缩放特定应用,保持其它窗口原尺寸):
    backend = "glx"
    vsync = true
    
    [opacity-rule]
    90:class_g 'Firefox'
    
    # 对 Firefox 窗口做 85% 缩放,并轻微位移以避免阴影裁剪
    transform = "name ~ '^Firefox$' -> scale(0.85, 0.85), translate(6px, 6px)"
    
  • 应用与验证:
    • 保存为 ~/.config/compton.conf,然后重启 Compton:
      killall compton
      compton --config ~/.config/compton.conf -f
      
    • 打开 Firefox 验证:窗口在屏幕上显示为原来的 85%,但其实际尺寸(由窗口管理器管理)未变;其它窗口保持原样。

0