概要
タイル型ウィンドウマネージャーのchunkwmがアーカイブ化されていたので、後継のyabaiに移行した。
https://github.com/koekeishiya/yabai
chunkwm で利用していた skhd がそのまま利用できるため移行手順はシンプルなのだが、yabaiが一部の機能(chunkwmでもあったstickey等) を用いてDockを通じてウィンドウを操作するためにSIPを無効化しなければならないことに注意。
chunkwm から移行すべきか?
chunkwm は macOS10.13–10.14 をサポートしているが、先日リリースされた 10.15(catalina) はサポートされない。
つまり、catalina ユーザは yabai を利用しなければならない。
システム要件
項目 | URL |
---|---|
要件 | https://github.com/koekeishiya/yabai/wiki#installation-requirements |
SIP無効化方法とその機能 | https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection |
移行作業
chunkwm のアンインストール
rm ~/.chunkwmrc
brew services stop chunkwm
brew uninstall chunkwm
yabaiのインストール
brew install yabai
設定
.yabaircの設定
公式サンプル
https://github.com/koekeishiya/yabai/blob/master/examples/yabairc
設定
https://github.com/koekeishiya/yabai/wiki/Configuration#configuration-file
.yabaircはそのまま公式のサンプルを流用した。
.skhdrcの設定
公式サンプル
https://github.com/koekeishiya/yabai/blob/master/examples/skhdrc
コマンド
https://github.com/koekeishiya/yabai/wiki/Commands#message-passing-interface
いくつか吟味してみたところ、以下になった。
#------------------------------------------------------------
# モニター操作
#------------------------------------------------------------
# モニターを選択する
ctrl + cmd - j : yabai -m display --focus 1
ctrl + cmd - k : yabai -m display --focus 2
# ウィンドウをモニターに移動する
ctrl + cmd - 1 : yabai -m window --display 1; yabai -m display --focus 1
ctrl + cmd - 2 : yabai -m window --display 2; yabai -m display --focus 2
#------------------------------------------------------------
# ウィンドウの選択・操作
#------------------------------------------------------------
# ウィンドウを選択する
cmd - j : yabai -m window --focus prev
cmd - k : yabai -m window --focus next
# ウィンドウを入れ替える
ctrl + cmd - b : yabai -m window --swap west
ctrl + cmd - n : yabai -m window --swap south
ctrl + cmd - p : yabai -m window --swap north
ctrl + cmd - f : yabai -m window --swap east
# オフセット有無
alt - a : yabai -m space --toggle padding; yabai -m space --toggle gap
#------------------------------------------------------------
# ウィンドウのサイズ調整
#------------------------------------------------------------
# ウィンドウサイズを全て等しくする
shift + cmd - 0 : yabai -m space --balance
# ウィンドウを移動する
shift + ctrl - a : yabai -m window --move rel:-20:0
shift + ctrl - s : yabai -m window --move rel:0:20
shift + ctrl - w : yabai -m window --move rel:0:-20
shift + ctrl - d : yabai -m window --move rel:20:0
# ウィンドウのサイズを増やす
shift + alt - a : yabai -m window --resize left:-20:0
shift + alt - s : yabai -m window --resize bottom:0:20
shift + alt - w : yabai -m window --resize top:0:-20
shift + alt - d : yabai -m window --resize right:20:0
# ウィンドウのサイズを減らす
shift + cmd - a : yabai -m window --resize left:20:0
shift + cmd - s : yabai -m window --resize bottom:0:-20
shift + cmd - w : yabai -m window --resize top:0:20
shift + cmd - d : yabai -m window --resize right:-20:0
# set insertion point in focused container
ctrl + alt - h : yabai -m window --insert west
ctrl + alt - j : yabai -m window --insert south
ctrl + alt - k : yabai -m window --insert north
ctrl + alt - l : yabai -m window --insert east
#------------------------------------------------------------
# レイアウトの設定
#------------------------------------------------------------
# レイアウト変更
ctrl + alt - b : yabai -m space --layout bsp
ctrl + alt - f : yabai -m space --layout float
# ----------------------------------------------------------
# float 時のレイアウト操作
# ----------------------------------------------------------
# ウィンドウを移動する(Float時のみ)
#ctrl + cmd - b : yabai -m window --warp west
#ctrl + cmd - n : yabai -m window --warp south
#ctrl + cmd - p : yabai -m window --warp north
#ctrl + cmd - f : yabai -m window --warp east
# フルスクリーンにする
shift + cmd - up : yabai -m window --grid 1:1:0:0:1:1
# 左半分にする
shift + cmd - left : yabai -m window --grid 1:2:0:0:1:1
# 右半分にする
shift + cmd - right : yabai -m window --grid 1:2:1:0:1:1
#------------------------------------------------------------
# bsp 時のレイアウト操作
#------------------------------------------------------------
# ウインドウの並びを回転する
alt - r : yabai -m space --rotate 90
# Y軸方向で反転する
alt - y : yabai -m space --mirror y-axis
# Y軸方向で反転する
alt - x : yabai -m space --mirror x-axis
# 親レイアウト方向で伸ばす
alt - d : yabai -m window --toggle zoom-parent
# フルスクリーンにする
alt - f : yabai -m window --toggle zoom-fullscreen
# 縦分割にする
alt - e : yabai -m window --toggle split
# 画面中央に表示する
alt - t : yabai -m window --toggle float;\
yabai -m window --grid 12:12:1:1:10:10