我非常想念 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
- 从安装 libinput-gestures
aur
- 将自己添加为输入组的成员,以获得读取触摸板设备的权限:
sudo gpasswd -a $USER input
- 将这两行或它们的变体添加到
~/.config/libinput-gestures.conf
文件中:
gesture swipe up 3 i3-msg workspace prev
gesture swipe down 3 i3-msg workspace next
- 完全退出您的会话或简单地重启。
- 启动 libinput 守护进程:
libinput-gestures-setup autostart
libinput-gestures-setup start
答案2
对我来说,@enetheru 的第 5 步没有按预期工作,并且libinput-gestures-setup
在重启时没有自动启动。但我通过简单地激活 i3 配置文件中的手势解决了这个问题,如下所示:
exec --no-startup-id libinput-gestures-setup start