我如何让 i3wm 绑定多点触控手势来改变桌面?

我如何让 i3wm 绑定多点触控手势来改变桌面?

我非常想念 OSX 的一个功能是用于更改桌面的多点触控手势。用三个手指向任意方向滑动即可转到下一个/上一个全屏应用程序或桌面。我非常希望 Linux 中有一个带有平铺窗口管理器的相同功能。我目前正在使用 i3wm,但如果有人能给出令人信服的理由,我愿意更换它。

在我的.config/i3/config档案里我有以下行

# multitouch gestures
bindsym --whole-window $mod+button10 workspace prev_on_output
bindsym --whole-window $mod+button11 workspace next_on_output

xev我所知,我的触摸板已正确设置了按钮 10/按钮 11。--whole-window标志 (根据文档),据我所知,应该允许我在屏幕上的任何位置使用此绑定。但只有当我的鼠标悬停在窗口的标题栏上时,绑定才有效。

我的配置是不是出了什么问题?或者还有其他方法可以获得此功能吗?

编辑:我正在运行 v 4.10.3

$ i3 -v
> i3 version 4.10.3 (2015-07-30, branch "4.10.3") © 2009-2014 Michael Stapelberg and contributors

答案1

i3-wm 默认不支持多点触控手势,因此需要一个可以检测它们然后发出命令的外部工具。

我快速阅读了 libinput 的 archwiki: https://wiki.archlinux.org/index.php/Libinput

  1. 从安装 libinput-gesturesaur
  2. 将自己添加为输入组的成员,以获得读取触摸板设备的权限:sudo gpasswd -a $USER input
  3. 将这两行或它们的变体添加到~/.config/libinput-gestures.conf文件中:
gesture swipe up 3 i3-msg workspace prev
gesture swipe down 3 i3-msg workspace next
  1. 完全退出您的会话或简单地重启
  2. 启动 libinput 守护进程:
libinput-gestures-setup autostart
libinput-gestures-setup start

答案2

对我来说,@enetheru 的第 5 步没有按预期工作,并且libinput-gestures-setup在重启时没有自动启动。但我通过简单地激活 i3 配置文件中的手势解决了这个问题,如下所示:

exec --no-startup-id libinput-gestures-setup start

相关内容