デスクトップ環境を整えて開発効率を上げてみる
IT技術
はじめに
みなさんこんにちは、ずおです!
最近家にこもっているので、体重が5kg増えました。
今日はタイル型ウィンドウマネージャー(yabai, skhd)の紹介です。
僕自身こちらを導入したことにより開発効率がかなり上がったのでぜひ参考にしていただければ幸いです!
yabai
yabaiは、macOS 上で動作するタイル型のウィンドウマネージャです。こちらを使用すると、ウィンドウを自動的に整理し、スクリーンのスペースを最大限に活用することができます。
では早速、yabaiをインストールします。(※Homebrewのインストールをお済ませください)
1brew install koekeishiya/formulae/yabaiインストールが終了したら、Macのアクセシビリティの設定を行います。(システム設定→プライバシーとセキュリティ→アクセシビリティ)

アクセシビリティに、yabaiが現れなかったら、左下の+をクリックして追加してください。
yabaiまでのパスはwhichコマンドで検索ができます!
1❯ which yabai次にyabaiの設定ファイルを作成します。
ルートディレクトリに移動し、.yabaircファイルを作成。
1touch .yabairc作成したファイルの中身はこちらです。
1# global settings
2#!/usr/bin/env sh
3
4# ===========================
5# yabai 設定ファイル
6# ===========================
7
8# マウス設定
9yabai -m config mouse_follows_focus          off      # フォーカスが移動してもマウスカーソルは追従しない
10yabai -m config focus_follows_mouse          off      # マウスカーソルの移動でウィンドウフォーカスを変更しない
11
12# ウィンドウ配置設定
13yabai -m config window_origin_display        default  # 新規ウィンドウは現在のディスプレイに表示
14yabai -m config window_placement             second_child  # 新規ウィンドウは2番目の子ノードとして配置
15yabai -m config window_topmost               off      # ウィンドウを常に最前面に表示しない
16yabai -m config window_shadow                on       # ウィンドウに影を表示
17
18# ウィンドウ透明度設定
19yabai -m config window_opacity               off      # ウィンドウの透明度機能を無効化
20yabai -m config window_opacity_duration      0.0      # 透明度変更のアニメーション時間(0秒)
21yabai -m config active_window_opacity        1.0      # アクティブウィンドウの不透明度(100%)
22yabai -m config normal_window_opacity        0.90     # 非アクティブウィンドウの不透明度(90%)
23
24# ウィンドウ枠線設定
25yabai -m config window_border                off      # ウィンドウの枠線を無効化
26yabai -m config window_border_width          6        # 枠線の幅(6ピクセル)
27yabai -m config active_window_border_color   0xff775759  # アクティブウィンドウの枠線色(赤系)
28yabai -m config normal_window_border_color   0xff555555  # 非アクティブウィンドウの枠線色(グレー)
29yabai -m config insert_feedback_color        0xffd75f5f  # 挿入位置のフィードバック色
30
31# レイアウト設定
32yabai -m config split_ratio                  0.50     # ウィンドウ分割比率(50:50)
33yabai -m config auto_balance                 off      # ウィンドウの自動バランス調整を無効化
34
35# マウス操作設定
36yabai -m config mouse_modifier               fn       # マウス操作の修飾キー(fnキー)
37yabai -m config mouse_action1                move     # fn + 左クリックでウィンドウ移動
38yabai -m config mouse_action2                resize   # fn + 右クリックでウィンドウリサイズ
39yabai -m config mouse_drop_action            swap     # ドラッグ&ドロップでウィンドウ入れ替え
40
41# スペース(ワークスペース)設定
42yabai -m config layout                       bsp      # Binary Space Partitioning レイアウトを使用
43yabai -m config top_padding                  12       # 上部の余白(12ピクセル)
44yabai -m config bottom_padding               12       # 下部の余白(12ピクセル)
45yabai -m config left_padding                 12       # 左側の余白(12ピクセル)
46yabai -m config right_padding                12       # 右側の余白(12ピクセル)
47yabai -m config window_gap                   06       # ウィンドウ間の隙間(6ピクセル)
48
49echo "yabai configuration loaded.."yabaiは様々なオプションが用意されており、柔軟にカスタマイズ可能ですので、ぜひドキュメントを見ながら自分好みのカスタマイズしてみてください!
これでウィンドウが下に埋もれることはなくなりました。
skhd
次にskhdをインストールします。
skhdは、コマンド操作のみでyabaiを使いこなすために使用します!
1brew install koekeishiya/formulae/skhdインストールが完了したら、yabaiの時と同様に、Macのアクセシビリティの設定を行ないます。手順は同様です。
次にskhdの設定ファイルを作成します。ルートディレクトリに.skhdrcファイルを作成します
私の設定ファイルは下記です
1# global settings
2
3#!/usr/bin/env sh
4
5# ===========================
6# skhd 設定ファイル
7# ===========================
8
9# ウインドウにフォーカスする
10alt - a : yabai -m window --focus recent                              # 最近使用したウィンドウにフォーカス
11alt - s : yabai -m window --focus west || yabai -m display --focus west   # 左側のウィンドウにフォーカス(なければ左ディスプレイ)
12alt - d : yabai -m window --focus south                               # 下側のウィンドウにフォーカス
13alt - e : yabai -m window --focus north                               # 上側のウィンドウにフォーカス
14alt - f : yabai -m window --focus east || yabai -m display --focus east   # 右側のウィンドウにフォーカス(なければ右ディスプレイ)
15
16# フォーカスしているウインドウの位置を変える
17shift + alt - s : yabai -m window --swap west                         # 左側のウィンドウと入れ替え
18shift + alt - d : yabai -m window --swap south                        # 下側のウィンドウと入れ替え
19shift + alt - e : yabai -m window --swap north                        # 上側のウィンドウと入れ替え
20shift + alt - f : yabai -m window --swap east                         # 右側のウィンドウと入れ替え
21
22# フォーカスしているウインドウを広げたり縮めたりする
23shift + cmd - s : yabai -m window --resize left:-100:0 || yabai -m window --resize right:-100:0    # 左端を左に100px移動、または右端を左に100px移動
24shift + cmd - d : yabai -m window --resize bottom:0:50 || yabai -m window --resize top:0:50        # 下端を下に50px移動、または上端を下に50px移動
25shift + cmd - e : yabai -m window --resize top:0:-100 || yabai -m window --resize bottom:0:-100    # 上端を上に100px移動、または下端を上に100px移動
26shift + cmd - f : yabai -m window --resize right:50:0 || yabai -m window --resize left:50:0        # 右端を右に50px移動、または左端を右に50px移動
27
28# レイアウト操作
29alt - m : yabai -m space --rotate 90                                  # スペース全体を90度回転
30alt - y : yabai -m space --mirror y-axis                              # Y軸を基準に左右反転
31alt - x : yabai -m space --mirror x-axis                              # X軸を基準に上下反転
32
33# スペースの余白とギャップを切り替え
34alt - q : yabai -m space --toggle padding && yabai -m space --toggle gap    # パディングとギャップのオン/オフ切り替え
35
36# ウィンドウのフルスクリーン切り替え
37alt - k : yabai -m window --toggle zoom-fullscreen                  # yabaiのフルスクリーン切り替え(コメントアウト)
38
39# ウィンドウの分割方向を切り替え
40alt - w : yabai -m window --toggle split                              # 縦分割/横分割の切り替え
41
42# ウィンドウのフロート切り替え
43alt - t : yabai -m window --toggle float && yabai -m window --grid 4:4:1:1:2:2    # フロート切り替えと中央配置(グリッド4x4の中央2x2)設定完了後は、yabitとskhgを起動します
1yabai --start-service && skhd --start-service実際の動作
あとはそれぞれ設定したコマンドを覚えて実践するのみです。
実際にはIDEやターミナルなどを並べて使用することが多いですが、使用イメージは↓をご覧ください。
ウインドウの位置を変えたり、拡大縮小など、コマンド操作で完結できるのでかなり効率的に作業ができます。
余談
最近5kモニターを買いました。
さらにタイルマネージャーの良さを引き出してくれ、最高です

こちらのモニターかなり高かったのですが、ライトコードからリファラル手当をいただいたので、それを元手に購入しちゃいました
ライトコード社員からのリファラルで採用された場合には、紹介した方も紹介された方も手当がもらえます🙌
自分が信頼している仲間と一緒に仕事ができるので、一石二鳥ですね!
ぜひ皆様のご応募をお待ちしています。
採用応募はこちらからお問い合わせください😊
※ 上記は、リファラル採用の対象とはなりませんので、あらかじめご了承ください。
おわりに
yabaiとskhdはどうでしたか?
ショートカットコマンドに慣れるまで結構時間がかかるかもしれませんが、長期的に見ればかなり効率が上がるのではないかと思っています!
僕もまだまだ使いこなせていないので精進します。
導入自体は簡単なので、みなさんぜひ使ってみてください!
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
愛媛県の田舎町で生まれ育ちましたずおと申します。 趣味はサウナと居酒屋巡りです。 未経験で入社させていただいたので、いち早く戦力になれるように日々頑張ります! 座右の銘は「悩んでるひまに、一つでもやりなよ」 ドラえもんの名言です。よろしくお願いします。







