Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
11
Help us understand the problem. What is going on with this article?
@hidekingerz

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

More than 1 year has passed since last update.

概要

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

11
Help us understand the problem. What is going on with this article?
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.
Sign Up
If you already have a Qiita account Login
11
Help us understand the problem. What is going on with this article?