en_USで頑張るArch Linux日記 3日目: Windowsっぽく
en_USで頑張るArch Linux日記の3日目です。
Hyprlandのおかげでタイリング的にはなりましたが、筆者のように毒された身体にはちょっとつらいです。
なので、できるだけWindowsの動作に寄せていきます。
Alt+Tabでウィンドウ切り替え
タイリングで最初に違和感を覚えるのはやはりこれではないでしょうか。
まず、hyprswitchを入れます。
paru -S hyprswitch
# もしくは
yay -S hyprswitch
あとは、Exampleにある設定例をコピペするだけで似たような動作にできるはずです。
# Keyboard (reverse = shift)
exec-once = hyprswitch init --show-title &
$key = tab
$reverse = shift
bind = alt, $key, exec, hyprswitch gui --mod-key alt_l --key $key --close mod-key-release --reverse-key=mod=$reverse && hyprswitch dispatch
bind = alt $reverse, $key, exec, hyprswitch gui --mod-key alt_l --key $key --close mod-key-release --reverse-key=mod=$reverse && hyprswitch dispatch -r
# use the if switching to the next window with the opening keypress is unwanted
#bind = alt, $key, exec, hyprswitch gui --mod-key alt_l --key $key --close mod-key-release --reverse-key=mod=$reverse
#bind = alt $reverse, $key, exec, hyprswitch gui --mod-key alt_l --key $key --close mod-key-release --reverse-key=mod=$reverse
おそらく上記の設定を使うのが最もWindowsに近い動作になるでしょう。
下記の設定は逆順にウィンドウをたどるときにShift + Tab
の同時押しではなく、バッククォートを使います。
USキーボードのバッククォートはTab
キーの上にあるので、USキーボードを使っている人にとってはこちらのほうが楽かもしれません。
# Keyboard recent (reverse = grave / ` )
exec-once = hyprswitch init --show-title &
$hs_key = tab
$hs_rev = grave
bind = alt, $hs_key, exec, hyprswitch gui --mod-key alt_l --key $hs_key --close mod-key-release --reverse-key=key=$hs_rev --sort-recent && hyprswitch dispatch
bind = alt $hs_rev, $hs_key, exec, hyprswitch gui --mod-key alt_l --key $hs_key --close mod-key-release --reverse-key=key=$hs_rev --sort-recent && hyprswitch dispatch -r
ひょっとすると、これらの設定を使うとAlt
+Tab
をすばやく繰り返したときに切替時のGUIが出たままになるかもしれません。しかしこれはWindowsでも同じです。
別解として、切替時のGUIを表示しない設定例もあります。
ただ、GUIのときのようにそのままでは思った動作にならないので、ひと工夫する必要がありそうです。
ウィンドウのフォーカスとスクロールホイール
次に気になるのはマウスではないかと思います。
これもWindowsに似せるようにしてみます。
今の状態ではマウスポインタの下にあるウィンドウにフォーカスが当たります。
言い換えると、マウスポインタを動かすことでどのウィンドウをアクティブにするか選択出来るということです。
これが便利な場面もありますが、ウィンドウ切り替えをAlt
+Tab
でやるようになると、マウスに手が触れたときに意図せずウィンドウのフォーカスが移動して誤入力の原因になりがちです。
follow_mouse
という設定項目があります。
設定項目 | 値 | 動作 |
---|---|---|
follow_mouse | -1 0 1 |
Windowsに似た動作 マウスポインタに追従しない マウスポインタに追従する(デフォルト) |
これを0
にすると、マウスでフォーカス移動しなくなりますが、別の問題が発生します。Windowsではスクロールホイールを回すとウィンドウがどこにフォーカスされていようとマウスポインタの下にあるウィンドウをスクロールしますが、この動作ができなくなるのです。
-1
にすると、ウィンドウのフォーカスがマウスに追従しなくなり、かつ、スクロールホイールを動かしたときはマウスポインタの下にあるウィンドウをスクロールできるようになります。Windowsユーザにとっては、おそらくこの動きが一番しっくり来るのではないでしょうか。
input {
:
follow_mouse = -1
:
}
Refer to: https://www.reddit.com/r/hyprland/comments/1eglzzf/mouse_scroll_but_not_focus_tiles/
Win
キーでApp launcher起動
WindowsではWin
キー使う派ですか?
筆者はWin
キー単押しで開くスタートメニューをランチャー代わりに使っています。
Hyprlandでこの動作をパクるには、キーから指が離されたのを検知するbindr
を使うといいようです。
bindr = SUPER_L, SUPER_L, exec, pkill rofi || rofi -show drun -replace -i # Open application launcher
Win
キーはHyprlandではSUPER_L
と書きます。
Win + 他のキー
ではなく、Win
キーを単押しした後のリリースという表現をするには上記のようにSUPER_L, SUPER_L,
と2つ並べて書きます。
WindowsではさらにWin + 他のキー
でデバイスマネージャーやらなんやかんや開けますが、筆者はランチャーが開ければ十分なので今はこれだけにしています。
Discussion