Help us understand the problem. What is going on with this article?

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

概要

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした