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

Set*_*ish 17 gestures arch-linux i3-window-manager

我真正想念 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
Run Code Online (Sandbox Code Playgroud)

根据xev我的触摸板正确设置了 button10/button11。该--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
Run Code Online (Sandbox Code Playgroud)

Ene*_*eru 6

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

我快速阅读了 archwiki 的 libinput: 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
Run Code Online (Sandbox Code Playgroud)
  1. 完全注销您的会话或只是重新启动
  2. 启动 libinput 守护进程:
libinput-gestures-setup autostart
libinput-gestures-setup start
Run Code Online (Sandbox Code Playgroud)