スタック
1つの列に複数のウィンドウを重ねて置けます。ウィンドウを左右どちらかの列に取り込んだり、また取り出したり、スタックの中で並べ替えたり、どのウィンドウの高さも変えられます。
NEWChainYourMac 2.1 をリリースしました
すべてのウィンドウが、果てしなく続く1本のストリップの上に横並びで並びます。LinuxのPaperWMやniriと同じしくみです。ウィンドウが重なることも、別のウィンドウの裏に隠れることもなく、アプリをもうひとつ開いても他のウィンドウは縮みません。あとはスクロールするだけです。
買い切り。ライセンスは無期限。macOS 13以降、Appleシリコン搭載Macに対応。
動画ではなく、実際に動くChainYourMacの模型です。タイトルバーをドラッグして並べ替え、Dockのアイコンをクリックしてアプリを開き、赤いボタンでウィンドウを閉じられます。実際のアプリでは、各キーと一緒に ⌃⌥ を押します。このデモはどちらの押し方にも反応します。
yabai、Amethyst、AeroSpaceのようなグリッド型のタイリングは、アプリを開くたびに画面を分割し直すので、ウィンドウはどんどん小さくなっていきます。ChainYourMacはスクロール型のタイリングウィンドウマネージャーです。各ウィンドウは、ディスプレイの端を越えて続く横長のストリップ上の1つの列になります。新しいウィンドウは今使っているウィンドウの隣に開き、他のウィンドウはサイズを保ったままです。
新しいウィンドウが開くたびに、同じ画面がさらに細かく分割されます。
伸びるのはストリップのほう。どのウィンドウも、設定した幅のままです。
アプリを起動すると、そのウィンドウは今使っていたウィンドウのすぐ隣に収まります。すべてのウィンドウがストリップ上に自分の場所を持っているので、重なったり、別のウィンドウの裏に埋もれたりしません。
キーボードでフォーカスを移動するか、トラックパッドをスワイプします。ストリップは、そのウィンドウが見える位置までちょうどよくスクロール。キーを押した瞬間に動き出すスプリングアニメーションです。
列の順番、幅、スタックは再起動後も元どおりに戻ります。ディスプレイごと、操作スペースごとに専用のストリップがあるので、仕事のウィンドウとチャットが混ざることはありません。
Mac版のPaperWMやmacOS版のniriを探していたなら、これは同じスクロール型のモデルをMacの流儀で仕上げたアプリです。設定ファイルの代わりに設定ウインドウ、指の動きにそのままついてくるトラックパッドのスワイプ、そしてSIPの変更は不要。下の図はすべて実際に動くので、キーを押してみてください。
1つの列に複数のウィンドウを重ねて置けます。ウィンドウを左右どちらかの列に取り込んだり、また取り出したり、スタックの中で並べ替えたり、どのウィンドウの高さも変えられます。
それぞれのウィンドウを縦いっぱいに使いたいときは、スタックをタブにまとめましょう。ショートカット1つで列をスタック表示とタブ表示に切り替えられ、タブバーで列の中身がひと目でわかります。
25、33、50、66、75%など、自分で選んだ幅を順番に切り替えたり、少しずつ広げたり狭めたりできます。全幅表示と中央寄せは、それぞれキー1つです。
ウィンドウ同士の間隔と画面端の余白を、ゼロまで自由に設定できます。ウィンドウはDockを避けてサイズが決まるので、Dockの下に隠れることはありません。
MacBook
外部ディスプレイ
ディスプレイごとに専用のストリップがあり、フォーカスもスクロール位置もそれぞれ独立しています。列は隣の画面にはみ出さず、画面の端にぴったり揃います。ショートカット1つで、フォーカス中のウィンドウを次のディスプレイへ送れます。また、Configuration → Displays で、特定のディスプレイだけChainYourMacをオフにすることもできます。そのディスプレイのウィンドウは置いた場所から動かないので、プレゼン用の画面や縦置きのモニターに向いています。
3本指または4本指でスワイプすると、ストリップが指の動きに1対1でついてきて、いちばん近い列でぴたりと止まります。このページのデモの上で横にスクロールして、感触を確かめてみてください。
chainyourmac:// URLスキーム、Raycastのスクリプトコマンド、コマンドラインツールを用意しています。新規インストールでは、control + option(⌃⌥)にVimキーまたは矢印キーを組み合わせた設定が初期値です。⌥単体はmacOSのために空けてあります。単語単位の移動や、ç や ® のような文字の入力に使われるからです。お使いのキーボードで組み合わせを押すと、ここのキーが光ります。
これは新規インストール時の初期設定です。すべてのショートカットは割り当てを変更でき、1つの操作に複数のキーを設定できます。キーの記録はAZERTY、QWERTZ、Dvorak配列でも使えます。以前のバージョンからアップグレードした場合は、ショートカットはそのまま引き継がれます。アプリのShortcutsページから、ワンクリックで新しい設定に切り替えられます。niriから乗り換える方は、niri for Macガイドと、niriの全キーバインドとChainYourMacの対応表(英語)をどうぞ。
ウィンドウエンジンはRustで書かれ、小さなバックグラウンドプロセスとして動作します。アニメーションは垂直同期(vsync)に合わせたスプリングで、キーを押した瞬間に動き出します。ショートカットもエンジンが直接処理するので、ストリップ上の移動は即座に反応します。
目に見えるアプリはネイティブのSwiftUI製です。メニューバーの項目と、すべての項目をGUIで操作できる設定ウインドウでできています。Electronもウェブビューも使っておらず、覚えるべき設定ファイルもありません。必要な権限はアクセシビリティの1つだけ。macOSでウィンドウマネージャーがウィンドウを動かすには、この権限を使うしかないからです。
サブスクリプションもアカウントも不要です。
無期限ライセンス · Mac 1台
$19.99
買い切り。アップデートはずっと無料。
macOS 13 Ventura以降、Appleシリコン搭載Macが必要です。決済はDodo Paymentsが行います(決済ページは英語です)。
複数のMacで使いたいときも、同じ無期限ライセンスを1つのキーでまとめて。
ウィンドウを決まったグリッドに押し込むのではなく、画面の端を越えて続く横長のストリップに横並びで配置するのが、スクロール型ウィンドウマネージャーです。トラックパッドのジェスチャーやキーボードショートカットでストリップをスクロールして移動し、各ウィンドウは設定したサイズを保ちます。新しいアプリを開いても、他のウィンドウが縮んだり並び替わったりすることはありません。
はい、まさにそれがコンセプトです。PaperWM(GNOME)とniri(Wayland)は、Linuxでスクロール型のウィンドウ管理を多くの人に愛されるものにしました。ChainYourMacは同じモデルを、作り込まれたネイティブアプリとしてmacOSに持ち込みます。SwiftUIのインターフェース、Rustのエンジン、指の動きについてくるトラックパッドスワイプ、そしてすべての設定にGUI。Hammerspoonのスクリプトも設定ファイルも必要ありません。
RectangleとMagnetは、ウィンドウをスナップさせるアプリです。ウィンドウを1つずつ操作する必要があり、レイアウトを保ってはくれません。yabai、Amethyst、AeroSpaceのようなタイル型マネージャーはレイアウトを保ちますが、それはグリッドの形でです。新しいウィンドウが開くたびに、他のウィンドウがリサイズされます。
ChainYourMacは、グリッドを使わずにレイアウトを保ちます。ウィンドウは果てしないストリップの上でサイズを保ち、あなたはスクロールするだけ。タイル型ウィンドウマネージャーの自動化はそのままに、作業中の画面が勝手に組み替わることのない落ち着きが手に入ります。
標準ライセンスはMac 1台用で、価格は$19.99です。もっと多くのMacで使う場合は、3台用($49.99)、5台用($79.99)、20台用($299.99)の無期限ライセンスもあります。また、先にアプリ内でディアクティベートすれば、いつでもアクティベーションを別のMacに移せます。
ChainYourMacは、Appleシリコン搭載Mac(M1以降)のmacOS 13 Ventura以降に対応しています。Intelプロセッサ搭載のMacには対応していません。Appleの公証を受け、Developer IDで署名された普通のアプリです。カーネル拡張もシステムの改変もなく、(一部のタイル型マネージャーとは違って)SIPを無効にする必要もありません。
macOSでは、他のアプリのウィンドウを移動・リサイズできるのはアクセシビリティAPIを通じた場合だけです。そのためChainYourMacが動作するにはこの権限が必要です。Rectangle、Magnet、その他すべてのウィンドウマネージャーが求めるのと同じ権限で、アプリが求める権限はこれだけです。処理はすべてお使いのMacの中で完結し、画面の内容を読み取ったり、どこかにデータを送信したりすることはありません。
はい。ディスプレイごとに独立したストリップがあり、フォーカスとスクロール位置もそれぞれ別です。ウィンドウは隣の画面にはみ出さず、画面の端にぴったり揃います。キー操作1つで、フォーカス中のウィンドウを次のディスプレイに送ることもできます。Configuration → Displays で任意のディスプレイだけChainYourMacをオフにすることもでき、そのディスプレイのウィンドウは置いた場所から動きません。macOSの操作スペースにも対応していて、操作スペースごとに別々のストリップのレイアウトが保たれます。
重くはならないはずです。エンジンはRustで書かれた小さなバックグラウンドプロセスで、ウィンドウに変化があるか、ショートカットが押されるまでは待機しています。アプリのどこにもElectronやWebランタイムは使われていません。
決済はDodo Paymentsが行います。購入後すぐにダウンロード(一般的な.dmgファイル)が手に入り、ライセンスキーがメールで届きます。キーをアプリに入力すれば完了です。新しいMacに移るときは、古いMacのアプリ内でライセンスをディアクティベートしてから、新しいMacでアクティベートしてください。サポートにメールしていただければ、こちらで対応することもできます。
まずはセットアップガイド(英語)をご覧ください。問題の多くはmacOSの設定が原因で、特に、macOSがデスクトップの切り替えにも使っているトラックパッドのスワイプが原因になりがちです。それでも解決しない場合は、症状とmacOSのバージョンを添えてサポートまでメールしてください。権限、マルチモニター構成、アプリごとの癖など、ほとんどの問題はすぐに解決できます。返信は開発者本人からお送りします。