web-dev-qa-db-ja.com

i3wmにマルチタッチジェスチャをバインドさせてデスクトップを変更するにはどうすればよいですか?

私がOSXで本当に見逃している機能の1つは、デスクトップを変更するためのマルチタッチジェスチャです。いずれかの方向に3本の指でスワイプすると、次/前のフルスクリーンアプリまたはデスクトップに移動できます。タイル型ウィンドウマネージャーを使用して、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によると、タッチパッドでbutton10/button11を正しく設定しています。 --whole-windowフラグ( ドキュメントによる )そして私が知る限り、このバインディングを画面上のどこでも使用できるようにする必要があります。ただし、バインディングは、マウスがウィンドウのタイトルバーにカーソルを合わせている場合にのみ機能します。

設定で何か問題がありましたか?または、この機能を取得する別の方法はありますか?

編集:私はv4.10.3を実行しています

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

i3-wmはデフォルトでマルチタッチジェスチャをサポートしていないため、マルチタッチジェスチャを検出してコマンドを実行できる外部ツールが必要です。

Libinputのarchwikiを簡単に読みました: https://wiki.archlinux.org/index.php/Libinput

  1. aurからlibinput-gesturesをインストールします
  2. タッチパッドデバイスを読み取る権限を持つ入力グループのメンバーとして自分自身を追加します:Sudo gpasswd -a $USER input
  3. これらの2行またはそれらのバリエーションを~/.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
2
Enetheru