温馨提示×

Linux下如何用Compton配置自定义快捷键

小樊
41
2025-11-18 10:03:52
栏目: 智能运维

Linux下用窗口管理器为 Compton 配置自定义快捷键

核心原理

  • Compton 本身不提供全局快捷键,需要通过你使用的窗口管理器(如 i3、Sway、Awesome)来绑定外部命令,实现对 Compton 的启动、切换与参数调整。换言之,快捷键在 WM 里定义,Compton 负责执行合成与特效。

i3 与 Sway 的配置示例

  • 思路:在 WM 配置中新增 bindsym,用 exec 调用 compton 并传入所需参数;如需“切换”效果,可先 kill 旧进程再启动新实例(简单可靠)。
  • 示例(将 Alt+Shift+T 绑定为“切换 Compton 并设透明度为 50%”):
# ~/.config/i3/config 或 ~/.config/sway/config
# 切换 Compton(先杀旧进程,再以 0.5 透明度启动)
bindsym $mod+Shift+t exec --no-startup-id bash -lc ' \
  pkill -x compton 2>/dev/null; \
  compton --config ~/.config/compton/compton.conf --backend glx --opacity 0.5 &'

# 可选:单独绑定“暂停/恢复”或“重开”
bindsym $mod+Shift+r exec --no-startup-id killall -USR1 compton  # 若你在 compton.conf 中启用了信号控制
bindsym $mod+Shift+s exec --no-startup-id compton --config ~/.config/compton/compton.conf --backend glx --shadow false
  • 说明:
    • $mod 通常为 Mod1(Alt)Mod4(Super);请按你的 i3/Sway 配置调整。
    • 通过 –opacity 0.5 临时覆盖配置中的窗口不透明度(取值范围 0.0–1.0)。
    • 使用 –config 指定你的 Compton 配置文件路径,避免依赖默认位置。

Awesome WM 的配置示例

  • 思路:在 rc.lua 中用 awful.key 绑定快捷键,调用 awful.spawn 执行 compton 命令。
-- ~/.config/awesome/rc.lua
awful.keyboard.append_global_keybindings({
  -- Alt + T:切换 Compton(杀旧进程后启动)
  awful.key({ "Mod1" }, "t", function()
    awful.spawn.with_shell("pkill -x compton 2>/dev/null; compton --config ~/.config/compton/compton.conf --backend glx --opacity 0.5 &")
  end, { description = "toggle compton", group = "launcher" }),
})
  • 说明:Awesome 的按键语法与 i3/Sway 不同,但本质相同——快捷键在 WM 层绑定,命令调起 Compton。

进阶用法与注意事项

  • 更稳妥的做法是“外部控制 + 配置文件”:在 compton.conf 中预设多套效果(如阴影、模糊、不透明度),通过快捷键只切换配置或发送信号,而不是直接传参覆盖。例如用 killall -USR1 compton 触发重绘/切换(需在配置启用相关信号支持)。
  • 多显示器或复杂场景建议始终显式指定 –config,并确保 backend(如 glx)与你的驱动/会话匹配;修改配置后可用 killall compton && compton & 或系统服务方式重启 Compton 使改动生效。

0