Come posso fare in modo che i3wm associ il gesto multitouch per cambiare desktop?


16

L'unica caratteristica che mi manca davvero di OSX sono i gesti multitouch per cambiare desktop. Scorri con tre dita in entrambe le direzioni per passare all'app o al desktop a schermo intero successivo / precedente. Mi piacerebbe molto avere la stessa funzione in Linux con un window manager di piastrellatura. Attualmente sto usando i3wm, ma sono disposto a cambiare se qualcuno può fornire un motivo convincente.

Nel mio .config/i3/configfile ho le seguenti righe :

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

Secondo xevme ho button10 / button11 impostato correttamente con il mio touchpad. La --whole-windowbandiera ( secondo i documenti ) e, per quanto ne so, dovrebbe permettermi di usare questa rilegatura ovunque sullo schermo. Ma l'associazione funziona solo quando il mouse passa sopra le barre del titolo di Windows.

Ho fatto qualcosa di sbagliato nella mia configurazione? O c'è un altro modo per ottenere questa funzione?

Modifica: sto eseguendo v 4.10.3

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

Concetto interessante in quanto ho usato molto i3wm anche su hardware Mac e mi manca quel tocco a 3 dita. Non penserei che abbiate bisogno del parametro "intera finestra" - bindsym dovrebbe funzionare indipendentemente. Non posso provarlo al momento, ma hai provato focus_follows_mouse noa vedere se ha un effetto?
Eric Duncan,

1
Sto ancora cercando una soluzione a questo nel 2019
Gabriel Ziegler,

@GabrielZiegler controlla la mia risposta.
Enetheru,

Risposte:


2

i3-wm non supporta i gesti multitouch per impostazione predefinita, quindi è necessario uno strumento esterno in grado di rilevarli e quindi lanciare comandi.

Ho fatto una breve lettura dell'archwiki per libinput: https://wiki.archlinux.org/index.php/Libinput

  1. Installa libinput-gestures dal aur
  2. Aggiungiti come membro del gruppo di input per avere l'autorizzazione a leggere il dispositivo touchpad: sudo gpasswd -a $USER input
  3. Aggiungi queste due righe o una loro variante al ~/.config/libinput-gestures.conffile:
gesture swipe up 3 i3-msg workspace prev
gesture swipe down 3 i3-msg workspace next
  1. Disconnettersi completamente dalla sessione o semplicemente riavviare .
  2. Avviare il demone libinput:
libinput-gestures-setup autostart
libinput-gestures-setup start

Non sono riuscito a farlo funzionare. Suppongo che i driver e la configurazione di Xorg potrebbero essere leggermente fuori rispetto al tuo. C'è un modo per testare i gesti per vedere se i gesti di libinput li riconoscono?
Gabriel Ziegler,

@GabrielZiegler invia una segnalazione di bug nel repository github, controlla se lo sviluppatore stesso è disposto ad aiutare github.com/bulletmark/libinput-gestures
Enetheru

Ha funzionato! È necessario eseguire alcuni passaggi di configurazione dopo l'installazione! Grazie!
Gabriel Ziegler,

1
quali passi? se ricordi di averli inseriti qui nei commenti, qualcuno potrebbe modificare la mia risposta per aggiungerli.
Enetheru,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.