LoginSignup
16
11

More than 3 years have passed since last update.

タイル型ウィンドウマネージャーをchunkwm から yabai に移行した話

Posted at

概要

タイル型ウィンドウマネージャーの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 のアンインストール

chunkwm
rm ~/.chunkwmrc
brew services stop chunkwm
brew uninstall chunkwm

yabaiのインストール

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

いくつか吟味してみたところ、以下になった。

.skhdrc
#------------------------------------------------------------
# モニター操作
#------------------------------------------------------------
# モニターを選択する
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

16
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
11