Как сделать так, чтобы i3wm связывал мультитач жест для смены рабочего стола?

16

Одна особенность, которую мне действительно не хватает в 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 / 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
Sethish
источник
Интересная концепция, так как я много использовал i3wm и на оборудовании Mac, и пропускаю 3 пальца. Я не думаю, что вам нужен параметр "всего окна" - bindsym должен работать независимо. Я не могу проверить это в данный момент, но вы пытались focus_follows_mouse noувидеть, если это влияет?
Эрик Дункан
1
Я все еще ищу решение этой проблемы в 2019 году
Габриэль Циглер,
@GabrielZiegler проверь мой ответ.
Энетеру

Ответы:

2

i3-wm не поддерживает жесты мультитач по умолчанию, поэтому необходим внешний инструмент, который может их обнаружить, а затем запустить команды.

Я сделал небольшое чтение архива для libinput: https://wiki.archlinux.org/index.php/Libinput

  1. Установите libinput-жесты из aur
  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
Enetheru
источник
Не могу справиться с этим. Угадайте, что драйверы и конфиг Xorg могут быть немного не похожи на ваши. Есть ли способ проверить жесты, чтобы узнать, распознает ли их жест libinput?
Габриэль Циглер
@GabrielZiegler отправит отчет об ошибке в репозитории github, посмотрите, готов ли сам разработчик помочь github.com/bulletmark/libinput-gestures
Enetheru
Работай! Необходимо выполнить несколько шагов настройки после установки! Спасибо!
Габриэль Циглер
1
какие шаги? если вы помните, поместите их здесь в комментариях, кто-то может отредактировать мой ответ, чтобы добавить их.
Enetheru