背景
以前からタイル型ウィンドウマネージャに興味を持っていました。
今はアプリケーションを雑に重ねて、Karabiner-Elementsを利用してショートカットキーでアプリケーションを切り替えています。
macのデスクトップ機能も活用しておらず、1つのデスクトップにすべてのアプリをおいていました。
ワイドモニターに変えたこともあり、横幅を有効活用するためにウィンドウを敷き詰められるツールを試してみることにしました。
Linuxには i3-wm という人気のタイル型ウィンドウマネージャがあります。
このi3-wmに似た機能をmacOSでも利用できる、yabai というツールを使ってみます。
yabaiは、macOS上でタイル型ウィンドウマネージャを実現するための強力なツールです。この記事ではyabaiのインストールから設定までの手順を紹介します。
環境
- MacBook Air M1, 2020 (Sonoma 14.4.1)
- yabai v7.1.0
- Karabiner-Elements 14.13.0
インストール
手順はこちら
yabaiを Homebrew を使ってインストールします。
yabaiを起動し、macOSの起動時に自動的に起動するよう設定します
以前までは brew service start
で起動するようになっていましたが現在は yabai --start-service
に変わっています
なお、System Integrity Protectionを無効化することでyabaiの全機能を使える のですが、セキュリティリスクがあるのでこれは有効なままとしています。
yabaiの設定
設定ファイルの作成
このファイルに設定を記述します。
設定変更後の再読み込みは yabai --restart-service
で行います。
私の設定
https://github.com/ikorihn/dotfiles/blob/177563ff619000b005f7816dea68b4f49075c811/dot_config/yabai/executable_yabairc
v7.0.0からは yabai -m rule --add
のあとに yabai -m rule --apply
が必要となっています
ホットキーを設定
よくyabaiと同じ作者が開発している skhd を利用してホットキーの設定を行う方法が紹介されていますが、私の場合はもともと使用していた Karabiner-Elements で設定します。
Karabiner-Elementsの設定用DSLの Goku を使っています。
https://github.com/ikorihn/dotfiles/blob/master/dot_config/karabiner/karabiner.edn#L232-L255
これにより、yを押しながらb
でウィンドウを並べ直すというキーとなります。
他のキーマップも任意に設定していきます。
macのデスクトップ切り替えショートカットを設定する
デスクトップ単位でウィンドウが整列されるので、複数のデスクトップに分けるようにします。
- System Setting > Keyboard > Keyboard Shortcuts > Mission Control > Switch to Desktop n を有効にする
デスクトップ切替時のアニメーションは気が散るので、無効化します
- System Setting > Accessibility > Display > Reduce Motion
まとめ
yabaiを使い始めたばかりなのでまだ評価が難しいですが、キーボードだけでウィンドウをきれいに並べられるのは非常に便利です。
ウィンドウ同士が重ならない、マウスポインタがフォーカスのあたっているアプリケーションに追従するなどアプリケーションの切り替えが高速にできるようになったのと一覧性も高まったため、より早い操作ができるようになったと思います。
参考