iMWheel
関連記事
imwheel はマウスホイールの挙動をプログラムごとに調整するツールです。マウスホイールの入力をキーボードの入力にマッピングしたり、マウスホイールの速度を上げたりすることができます。修飾キーもサポートしています。
インストール
imwheel は AUR の imwheelAUR パッケージや sourceforge のページ から直接インストールできます。
設定
公式の HTML ドキュメント (manpage) が公式ウェブサイトに存在します。
imwheel はウィンドウクラスの文字列が正規表現でマッチするかどうかで調整を適用するウィンドウを決定します。
ウィンドウクラスの文字列を取得
クラスの文字列を取得するには xprop を実行してください。ウィンドウをクリックするとプログラムが終了します。
$ xprop WM_CLASS | grep -o '"[^"]*"' | head -n 1
例えばドキュメントビューアの zathura なら、以下のように返ってきます:
"zathura"
設定ファイルの編集
~/.imwheelrc
を作成・編集してください。マウスホイールの挙動を変更したいプログラムごとに設定ファイルに設定を追加します。以下の例ではドキュメントビューア zathura のマウスホイール速度を向上させます:
"^zathura$" None, Up, Button4, 4 None, Down, Button5, 4
(".*" を使用して) 全てのプログラムに設定を適用すると一部のプログラムで問題が起こる可能性があります。imwheel はユーザーによる実際の操作に対して複数のスクロールアクションをエミュレートするので、マウスホイールによるアクションが設定されているプログラムでは実際に操作した回数よりも多くのアクションが実行されます。
例えば、ターミナルエミュレータで履歴からスクロールでコマンドを選ぼうとしたとき、直前のコマンドが選べなくなる可能性があります。
imwheel はマウスボタンの修飾キーを取得してプログラムに渡すので明示的に設定が必要です。例えば以下の設定の場合、Left Control
を押しながらマウスホイールを動かしてズームするときはスクロール量を倍加しません:
# Speed up scrolling for chromium and pass unchanged for zoom "^chromium$" None, Up, Button4, 4 None, Down, Button5, 4 Shift_L, Up, Shift_L|Button4, 4 Shift_L, Down, Shift_L|Button5, 4 Control_L, Up, Control_L|Button4 Control_L, Down, Control_L|Button5
imwheel の実行
imwheel は以下のように実行します:
$ imwheel
プログラムは PID を出力してバックグラウンドで実行します。スタートアップスクリプトで imwheel を実行すると良いでしょう。