Rectangle vs. AeroSpace:手動スナップか、SIPなしのi3スタイル・タイル分割か

開発者Nikita Bobkoによって作られたAeroSpaceは、macOSのウィンドウマネージャーの中で特定の位置を占めている。Linuxのi3ウィンドウマネージャーが持つ自動タイル分割のモデルをmacOSに持ち込みながらも、yabaiとは違ってSystem Integrity Protectionの無効化を必要としないという点だ。Rectangle appと比較する前に理解しておくべき最も重要な点は、まさにこの一つの設計判断にある。

AeroSpaceが実際どういうものか

AeroSpace自身のGitHub READMEによれば、AeroSpaceは明確にi3にインスパイアされたものだ。ウィンドウは、Rectangle macのように指示に応じて個別にスナップされるのではなく、ツリーベースのレイアウトに自動的にタイル分割される。文書化されている主な特徴は次の通りだ。

Homebrew経由でインストールする(自動アップデートが有効になるため推奨される方法):

brew install --cask nikitabobko/tap/aerospace

SIPの違い:yabaiとの最も重要な違い

AeroSpaceのREADMEは、System Integrity Protectionの無効化を必要としないと直接述べており、より高度な機能のためにSIPの部分的な無効化を必要とするyabaiとは明確に対照的だとしている。これが、macOS上の2つのLinux風タイル分割の選択肢の間で、実際上もっとも大きな違いだ。AeroSpaceは、Appleの標準的なセキュリティモデルの内側で完全に動作することと引き換えに、yabaiが持つウィンドウサーバーレベルの一部の機能(影の除去、不透明度の制御など)をあえて手放している。

ノータリゼーションについての、プロジェクト自身による正直な注意書き

AeroSpaceのREADMEには、珍しいほど率直な開示が含まれている。「AeroSpaceを使用することで、あなたはそれがノータライズされていないことを承知したものとみなされます」。READMEに含まれているメンテナー自身の説明によれば、ノータリゼーションはバイナリを検証するためのAppleのプロセスであり、プロジェクトとしてノータリゼーションという概念そのものに異を唱えているわけではないが、それを実施していないだけだという。これは、公式ビルドがノータライズされているRectangleと比較して考慮する価値がある点だ。ウィンドウに対してアクセシビリティレベルのアクセス権を持つツールにとって、これは、両者ともオープンソースであることに加えて、ある特定のダウンロードについて何を検証できるかという点で意味のある違いになる。

AeroSpaceが実際にRectangleと異なる点

常時稼働のタイル分割か、必要なときだけのスナップか。 Amethyst/yabaiの比較とまったく同じく、これが中心的な分かれ道だ。AeroSpaceは、動作している間、すべてのウィンドウの位置を継続的に管理し、ウィンドウが開いたり閉じたり移動したりするたびにタイル分割ツリーを再計算する。Rectangle appは、ショートカットを実行したり端までドラッグしたりしたときにだけ動作し、それ以外はすべて手を付けない。

設定に対する考え方。 AeroSpaceのREADMEは、設定用のGUIは決して追加しないという明確な立場を表明しており、それはまだ構築されていない欠けている機能ではなく、意図的な設計上の姿勢だとしている。Rectangle appの環境設定ウィンドウは最小限ではあるが、実際に存在しており、日々のショートカットのカスタマイズはTOMLを編集するのではなくクリックで行う。

開発段階。 AeroSpace自身のREADMEは、現行のドキュメント時点でこれをパブリックベータであると説明しており、1.0リリースまでは破壊的変更が予想されると明確に警告している。そして、そのリリースへの障害として、コアとなるツリーデータ構造の書き直しや、ウィンドウがランダムにフォーカス中のワークスペースへ飛んでしまう既知の問題など、具体的な未解決のアーキテクチャ上の課題を挙げている。対照的にRectangleは、「まだ1.0ではない」という同種の位置づけを持つことなく、何年にもわたって安定して段階的にバージョンアップされてきた。

CLIとスクリプトの深さ。 AeroSpaceは、独自のコマンドラインインターフェース、manページ、シェル補完を標準で備えており、ウィンドウの動作を本格的にスクリプト化したい人を対象にしている。Rectangle appにおけるそれに相当するものはrectangle://のURLスキームで、他のツールからアクションを呼び出すには機能するが、AeroSpaceのような独自のコマンド言語を持つ完全なCLIではない。

AeroSpaceが実際に向いているのは誰か

プロジェクト自身の位置づけによれば、AeroSpaceは、プロジェクトごとのワークスペースによるタイル分割、キーボード中心のウィンドウ管理、GUI設定よりプレーンテキストの設定といった、すでにi3の考え方に慣れ親しんでいて、そこに到達するためにあえてSIPを無効化したくない人たちを、まさに狙って作られている。これはRectangleよりも狭い層だ。「i3風のタイル型ウィンドウマネージャー」という言葉が、これまでのLinux経験によってすでに何かを意味しているのでなければ、AeroSpaceの設計思想全体は、あなたが抱えていないかもしれない問題を解決しようとしていることになる。

クイックリファレンス

Rectangle AeroSpace
モデル 指示に応じた手動スナップ 常時稼働のi3スタイル自動タイル分割
SIPの無効化が必要 いいえ いいえ
公式ビルドのノータリゼーション あり なし(自身のREADMEで直接開示)
設定方法 GUIの環境設定ウィンドウ プレーンテキストのTOML設定、GUI予定なし
開発段階 何年も安定してバージョン管理 パブリックベータ、1.0以前は破壊的変更が想定される
向いている用途 必要なときだけの固定配置、学習コストの低さ SIPに触れずmacOSでもi3/Linux風タイル分割のモデルを使いたい人