/home/amgsk

ブラウザ以外でもスクロールズームしたい

· amgsk

NotionやSlackのアプリ版でも、ブラウザのようにCtrl+Scrollでズームインorズームアウトするための方法。
Electron等のアプリではズームするにはCtrl+(+|-)がデフォルトのキーバインドになっていて、両手使う必要があるし何よりスムーズさに欠ける。

スクロールに対するキーバインドのツールはimwheelxkeybindingsなどが存在するが、imwheelは以下のように指定のアプリケーションに対してのみ作用するように設定が可能。

~/.imwheelrc に設定ファイルを作成する。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
"(slack|notion|DBeaver|postman)"
    Control_L, Up, Control_L|equal
    Control_L, Down, Control_L|minus

"(kitty)"
    Control_L, Up, Control_L|Shift_L|equal
    Control_L, Down, Control_L|Shift_L|minus
    None, Up,   Button4, 3
    None, Down, Button5, 3

".*"
    Shift_L,   Up,   Shift_L|Button4
    Shift_L,   Down, Shift_L|Button5
    Control_L, Up, Control_L|Button4
    Control_L, Down, Control_L|Button5
    Shift_L|Control_L, Up, Control_L|Shift_L|Button4
    Shift_L|Control_L, Down, Control_L|Shift_L|Button5
    None, Up,   Button4, 1
    None, Down, Button5, 1

条件指定に使用するのはWM_CLASSで、以下のようにして取得可能。

1
xprop WM_CLASS | grep -o '"[^"]*"' | head -n 1

i3wmからの自動起動は-k(kill running process)付きで以下のようにした。
こうしておけばi3wm restartに合わせてプロセスを再起動できる。

exec_always --no-startup-id imwheel -k