はじめに
私がダイナミックタイリングマネージャを初めて使ったのは、Linux環境でHyprlandを導入したときのことです。ランチャーやショートカット経由でアプリケーションを起動するだけで、マウスに一切触れることなくウィンドウが画面に綺麗に整列されます。
これを経験して以来、OSが変わってもこの体験を手放せなくなりました。WindowsではGlazeWMを使い続け、過去に紹介記事も書いています。
そしてMacを開発用マシンとして使い始めてからも、同じ環境を求め続けました。しばらくの間はRaycastのウィンドウ管理機能で凌いでいました。ショートカットで「ウィンドウを左半分に寄せる」「中央に配置する」といった操作はできるものの、アプリを起動するたびに整列コマンドをひと押しする二度手間が積み重なります。タイリングWMに慣れた身には、ウィンドウの位置を毎回意識しなければならない感覚がどうにも煩わしいものでした。
そんの最中、ついにv3.10.0のリリースにてmacOSでも利用可能になりました。しかもSIPの無効化は不要です。 この記事ではGlazeWMの簡単な機能紹介と、macOSで導入する際のはまりどころをご紹介します。
なぜGlazeWMなのか
Mac向けタイリングWMの選択肢と壁
Macでダイナミックタイリングマネージャを使おうとすると、まず候補に挙がるのがyabaiです。長年にわたって開発が続けられている定番のタイリングWMで、機能も充実しています。
しかし私は導入を見送りました。理由は、yabaiの利用にはmacOSのSIP(システム整合性保護)を無効化する必要があるからです。SIPはmacOSのセキュリティ機能であり、システムファイルや重要なプロセスを保護する役割を担っています。平たく言えば、セキュリティ上の制約を緩めないと動かないということです。MDMで管理されている会社貸与のMacでは、SIPの無効化自体が許可されていない場合もあります。
仮に個人のMacでyabaiを導入して使い慣れたとしても、会社のMacでは同じ環境が使えない——この非対称さが気になり、そのため、yabaiは最初から選択肢として外していました。
AeroSpaceはSIPなしで動作し、タイリングに近い操作感も持っています。ただし、ウィンドウを起動したタイミングで自動的にレイアウトされる「ダイナミック」な挙動はなく、コマンドを介してレイアウトを組み立てる設計です。同様に、MagnetやRectangleはさらにシンプルなウィンドウ整列ツールで、HyprlandやGlazeWMで体験できる「起動したら自動で整列される」感覚は得られませんでした。
GlazeWMを選んだ理由
GlazeWMはアクセシビリティのアクセス権限を付与するだけで動作します。SIPの無効化は不要です。
これは個人のMacでも会社のMacでも同じ環境を維持できることを意味します。私にとってこの一点が、GlazeWMを迷わず導入する決め手になりました。
ダイナミックタイリングマネージャとは-GlazeWMの機能
ダイナミックタイリングマネージャとは、ウィンドウを手動で移動・リサイズすることなく、自動的に画面内へ整列させてくれるウィンドウマネージャです。
ウィンドウの自動タイリング

アプリケーションを起動すると、既存のウィンドウと隣り合うように自動でレイアウトされます。3つ、4つとウィンドウが増えても、画面全体に均等に並び直してくれるため、マウスでのドラッグ操作が一切不要です。「ウィンドウをどこに置くか」を考える必要がなくなり、作業そのものに集中できるようになります。
ワークスペース管理機能

仮想デスクトップに近い概念で、ワークスペースごとに異なるアプリケーションの配置を保持できます。
ワークスペースは1、2、3……といったように画面上部のステータスバーに表示され、Alt + [1-9] のようなキーボードショートカットで瞬時に切り替えることができます。ウィンドウを別のワークスペースに移動する際もショートカットで操作可能です。また、ワークスペースはモニターごとに独立しているため、複数モニター環境での作業も快適に行えます。
導入方法
本記事は以下の環境で動作を確認しています。
- macOS: Tahoe26.3.1
- GlazeWM: v3.10.1
- Zebar: v3.3.1
インストール
Homebrewを使ってインストールします。
# glazewm(ウィンドウマネージャ) と zebar (ステータスバー)をインストール:
brew install --cask glzr-io/tap/glazewm glzr-io/tap/zebar
初回起動と権限の許可
インストール後にGlazeWMを起動すると、アクセシビリティのアクセス権限を求めるダイアログが表示されます。「システム設定」→「プライバシーとセキュリティ」→「アクセシビリティ」からGlazeWMを許可してください。この権限がないとウィンドウの操作ができないため、許可しておく必要があります。
コンフィグファイルの場所
初回起動時に、設定ファイルが自動生成されます。
~/.glzr/
├── glazewm/
│ └── config.yaml # GlazeWMの設定ファイル
└── zebar/ # Zebarの設定ディレクトリ
GlazeWMの設定は ~/.glzr/glazewm/config.yaml を編集することでカスタマイズできます。次のセクションでは、macOSで使用する上で必要な設定変更を説明します。
GlazeWMの設定
GlazeWMの設定はすべて ~/.glzr/glazewm/config.yaml に記述します。デフォルトの設定ファイルにはコメントが豊富に書かれており、各項目の意味を確認しながら編集できます。
macOSの修飾キー
キーバインドの設定では、macOSの修飾キーを以下の文字列で指定します。
| 設定値 | macOSキー |
|---|---|
cmd |
Command (⌘) |
ctrl |
Control (⌃) |
alt |
Option (⌥) |
shift |
Shift (⇧) |
なお、HyprlandのようにModキーを変数として定義して使い回す機能はないため、キーバインドごとに修飾キーをすべて記述する必要があります。
【必須】ターミナル起動コマンドの変更
デフォルトの設定ファイルにはターミナルを起動するキーバインドが含まれていますが、Windowsのコマンド形式で記述されているため、macOSではそのままでは動作しません。 お使いのターミナルエミュレータに合わせて書き換えてください。
# ターミナルを起動する
# macOSではopenコマンドを使用する(Windowsとコマンドが異なるので注意)
- commands: ['shell-exec open -a Ghostty']
bindings: ['cmd+cmd+alt+ctrl+ctrl+enter']
Ghostty の部分は、お使いのターミナルエミュレータ名(Kitty、iTerm など)に置き換えてください。
設定例
キーバインドで設定できる主なアクションを抜粋して紹介します。
keybindings:
# 複数ウィンドウ表示時に,指定された方向にフォーカスを移動します.
# マウスを操作することなくウィンドウの選択を切り替えられます.
- commands: ['focus --direction left']
bindings: ['cmd+alt+ctrl+h', 'cmd+alt+ctrl+left']
- commands: ['focus --direction right']
bindings: ['cmd+alt+ctrl+l', 'cmd+alt+ctrl+right']
# 複数ウィンドウ表示時に,フォーカス中のウィンドウを移動します.
- commands: ['move --direction left']
bindings: ['cmd+alt+ctrl+shift+h', 'cmd+alt+ctrl+shift+left']
- commands: ['move --direction right']
bindings: ['cmd+alt+ctrl+shift+l', 'cmd+alt+ctrl+shift+right']
# 複数ウィンドウ表示時,フォーカスされたウィンドウのサイズを調整できます.
# (マウスカーソルでのリサイズも可能です)
- commands: ['resize --width -2%']
bindings: ['cmd+alt+ctrl+u']
- commands: ['resize --width +2%']
bindings: ['cmd+alt+ctrl+p']
# 新規ウィンドウが出現する方向を↕と↔で切り替えできます.
# 以後の節で導入するzebarではこの方向も視覚的に可視化できます.
- commands: ['toggle-tiling-direction']
bindings: ['cmd+alt+ctrl+v']
# フォーカスされたウィンドウをフローティングに変更します.
# mac純正のスタック型ウィンドウの挙動で操作可能になります.
- commands: ['toggle-floating --centered']
bindings: ['cmd+alt+ctrl+shift+space']
# フォーカスされたウィンドウをタイリングに変更します.
# ウィンドウが自動でタイリングされない状態に陥った場合はこれで大体解決します.
- commands: ['toggle-tiling']
bindings: ['cmd+alt+ctrl+t']
# フォーカスされたウィンドウを最小化します(OS標準のcmd+mと併用).
# cmd+alt+ctrl+tabを併用するとキーボードのみで操作が完結しておすすめです.
- commands: ['toggle-minimized']
bindings: ['cmd+alt+ctrl+m']
# フォーカスされたウィンドウを終了します(OS標準のcmd+qと併用).
- commands: ['close']
bindings: ['cmd+alt+ctrl+shift+q']
# フォーカスされたウィンドウの親ワークスペースを指定された方向のモニターに移動します.
# 複数モニタを使用している環境で非常に便利です.
- commands: ['move-workspace --direction left']
bindings: ['cmd+alt+ctrl+shift+a']
- commands: ['move-workspace --direction right']
bindings: ['cmd+alt+ctrl+shift+d']
- commands: ['move-workspace --direction up']
bindings: ['cmd+alt+ctrl+shift+w'] # デフォルトと変更しているので注意(再描画と重複)
- commands: ['move-workspace --direction down']
bindings: ['cmd+alt+ctrl+shift+s']
# Ghosttyを起動する設定です.
# 他アプリケーションでショートカットを設定している場合はコメントアウト推奨です.
- commands: ['shell-exec open -a Ghostty']
bindings: ['cmd+cmd+alt+ctrl+ctrl+enter']
# ワークスペース(仮想デスクトップのようなもの)を移動します.
- commands: ['focus --workspace 1']
bindings: ['cmd+alt+ctrl+1']
- commands: ['focus --workspace 2']
bindings: ['cmd+alt+ctrl+2']
:
:
:
# フォーカス中のウィンドウを任意のワークスペースに移動します.
- commands: ['move --workspace 1', 'focus --workspace 1']
bindings: ['cmd+alt+ctrl+shift+1']
- commands: ['move --workspace 2', 'focus --workspace 2']
bindings: ['cmd+alt+ctrl+shift+2']
:
:
:
【オプション】Hyperキーを活用したキーバインド設計
私はすべてのGlazeWM操作を cmd+cmd+alt+ctrl+ctrl(Hyperキー)に集約しています。外付けキーボードではQMKファームウェア側でキーを割り当て、内蔵キーボードではKarabiner-Elementsを使って左Commandキーをワンタップで cmd+cmd+alt+ctrl+ctrl の同時押しとして認識させています。
この設定により、macOS純正のショートカットと一切干渉しない独自のキーバインド空間が生まれ、GlazeWMの操作に迷いがなくなりました。GlazeWM自体には不要な設定ですが、参考にしていただければと思います。
Zebarの設定
GlazeWMを起動するとZebarも自動的に起動しますが、デフォルトの状態では何も表示されません。 まずテーマをインストールするところから始めます。
テーマのインストール
メニューバーにある「Zebarのアイコン」→「Browse widgets...」をクリックするとワークショップが開き、コミュニティが公開しているテーマを一覧から選んでインストールできます。

気に入ったテーマをインストールすると、画面上部にステータスバーが表示されるようになります。
【必須】macOSメニューバーとの干渉対策
ZebarのバーはmacOS純正のメニューバーと同じ位置に表示されるため、設定を変更しないと両方が重なって操作できなくなります。 以下の2つをシステム設定から変更してください。
「システム設定」→「コントロールセンター」→「メニューバー」から:
- メニューバーを自動的に隠す → オンにする
- メニューバーの背景を有効化 → オンにする
これにより、純正メニューバーは普段は非表示になり、Zebarのバーがすっきりと表示されます。
【はまりポイント】ノッチ問題
MacBook内蔵ディスプレイを使用している場合、ノッチの分だけZebarのバーが下にずれて描画されるという問題があります。
GlazeWMのMac対応はまだ新しく、この問題は公式ドキュメントやREADMEには記載がありません。関連するissueとそれに紐づくPRに解決策として dockToEdge の設定変更が言及されています。
使用しているテーマの設定ファイルで、以下のように変更する必要があります(GUIからもトグルボタンが利用できます)。
"dockToEdge": { "enabled": true, "edge": "top" }
ワークショップ版テーマの編集方法
ここで一つ注意点があります。ワークショップからダウンロードしたテーマは読み取り専用として扱われるため、直接編集できません。

ダウンロードされたテーマは以下のパスに保存されています。
~/Library/Application Support/zebar/downloads/<author>.<widget-name>@<version>/
このファイルを直接編集しようとしても変更が反映されません。代わりに、~/.glzr/zebar/ 配下にコピーしてから編集します。
cp -r ~/Library/Application\ Support/zebar/downloads/<author>.<widget-name>@<version>/ ~/.glzr/zebar/<your-widget-name>/
コピー後は ~/.glzr/zebar/<your-widget-name>/ 内の設定ファイルを編集することで、dockToEdge の設定がGUIで変更可能になります。

おわりに
Linuxで始まり、Windowsを経て、ようやくMacでも同じ環境が手に入りました。SIP不要のこの一点が、それを可能にしてくれました。
ダイナミックタイリングマネージャをまだ試したことがない方は、ぜひ brew install --cask glzr-io/tap/glazewm glzr-io/tap/zebar の一行から始めてみてください!