Wie kann ich i3wm dazu bringen, Multitouch-Gesten zu binden, um den Desktop zu ändern?

16

Die einzige Funktion, die ich von OSX wirklich vermisse, sind Multitouch-Gesten zum Wechseln von Desktops. Durch Wischen mit drei Fingern in beide Richtungen gehe ich zur nächsten / vorherigen Vollbild-App oder zum Desktop. Ich hätte sehr gerne die gleiche Funktion unter Linux mit einem Kachelfenster-Manager. Ich verwende derzeit i3wm, bin aber bereit zu wechseln, wenn jemand einen überzeugenden Grund angeben kann.

In meiner .config/i3/configDatei habe ich die folgenden Zeilen :

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

Laut habe xevich button10 / button11 mit meinem Touchpad richtig eingerichtet. Die --whole-windowFlagge ( gemäß den Dokumenten ) und soweit ich das beurteilen kann, sollte es mir ermöglichen, diese Bindung überall auf dem Bildschirm zu verwenden. Die Bindung funktioniert jedoch nur, wenn sich meine Maus über den Titelleisten von Fenstern befindet.

Habe ich in meiner Konfiguration etwas falsch gemacht? Oder gibt es eine andere Möglichkeit, diese Funktion zu erhalten?

Bearbeiten: Ich verwende Version 4.10.3

$ i3 -v
> i3 version 4.10.3 (2015-07-30, branch "4.10.3") © 2009-2014 Michael Stapelberg and contributors
Sethish
quelle
Interessantes Konzept, da ich i3wm auch auf Mac-Hardware häufig verwendet habe und diesen 3-Finger-Swipe vermisse. Ich würde nicht denken, dass du den "Ganzfenster" -Parameter brauchst - bindsym sollte trotzdem funktionieren. Ich kann das im Moment nicht testen, aber hast du versucht focus_follows_mouse nozu sehen, ob es einen Einfluss hat?
Eric Duncan
1
Ich bin immer noch auf der Suche nach einer Lösung für 2019
Gabriel Ziegler
@ GabrielZiegler überprüfe meine Antwort.
Enetheru

Antworten:

2

i3-wm unterstützt standardmäßig keine Multitouch-Gesten. Daher ist ein externes Tool erforderlich, das sie erkennt und dann Befehle auslöst.

Ich habe das Archwiki für libinput kurz gelesen: https://wiki.archlinux.org/index.php/Libinput

  1. Installieren Sie libinput-gestes von der aur
  2. Fügen Sie sich als Mitglied der Eingabegruppe hinzu, um die Berechtigung zum Lesen des Touchpad-Geräts zu erhalten: sudo gpasswd -a $USER input
  3. Fügen Sie diese beiden Zeilen oder eine Variation davon zur ~/.config/libinput-gestures.confDatei hinzu:
gesture swipe up 3 i3-msg workspace prev
gesture swipe down 3 i3-msg workspace next
  1. Melden Sie sich vollständig von Ihrer Sitzung ab oder starten Sie sie einfach neu .
  2. Starten Sie den libinput-Daemon:
libinput-gestures-setup autostart
libinput-gestures-setup start
Enetheru
quelle
Konnte es nicht ganz schaffen, dass es funktioniert. Vermutlich sind die Treiber und die Xorg-Konfiguration im Vergleich zu Ihrer leicht abweichen. Gibt es eine Möglichkeit, die Gesten zu testen, um festzustellen, ob libinput-Gesten sie erkennen?
Gabriel Ziegler
@ GabrielZiegler reichen einen Fehlerbericht im Github-Repo ein, um zu sehen, ob der Entwickler selbst bereit ist, github.com/bulletmark/libinput-gestures
Enetheru
Habe es geschafft! Nach der Installation müssen einige Konfigurationsschritte ausgeführt werden! Vielen Dank!
Gabriel Ziegler
1
Welche Schritte? Wenn Sie sich erinnern können, sie hier in die Kommentare
eingefügt zu haben