<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Yabai on Tarragon</title><link>https://tarrragon.github.io/blog/tags/yabai/</link><description>Recent content in Yabai on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Mon, 29 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/yabai/index.xml" rel="self" type="application/rss+xml"/><item><title>macOS 視窗管理工具鏈</title><link>https://tarrragon.github.io/blog/linux/dotfile/04-window-management/macos-window-tools/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/linux/dotfile/04-window-management/macos-window-tools/</guid><description>&lt;p>macOS 的視窗系統由 WindowServer 控制，第三方工具能做的主要是「排列邏輯」——決定視窗的位置和大小。視覺效果（動畫、模糊、圓角）由系統控制，第三方工具改不了。這是跟 Linux tiling WM 最大的差異。&lt;/p>
&lt;h2 id="macos-原生-window-tilingmacos-15">macOS 原生 Window Tiling（macOS 15+）&lt;/h2>
&lt;p>macOS Sequoia（15，2024 年 9 月）內建了 window tiling 功能：鍵盤快捷鍵把視窗貼到螢幕的半邊或四分之一、拖拉到邊緣自動貼齊（edge snap）、相鄰視窗可以組成 tile group 一起調整比例。&lt;/p>
&lt;p>原生 tiling 的邊界：沒有多工作區管理、快捷鍵自訂空間有限（只能用系統偏好設定裡的固定選項）、不支援自動平鋪（仍然是手動觸發的 snap，不會在開新視窗時自動重排）。&lt;/p>
&lt;p>如果「貼到半邊 + 邊緣吸附」就足夠，原生功能免安裝即可使用。以下第三方工具解決的是原生功能做不到的事：更多排列選項（Rectangle）、自動平鋪（Amethyst）、完整的鍵盤工作流加多工作區（AeroSpace / yabai）。&lt;/p>
&lt;h2 id="rectangle">Rectangle&lt;/h2>
&lt;p>免費、開源。用快捷鍵把視窗貼到螢幕的半邊、三分之一、角落。不是自動平鋪——每個視窗都要你主動下指令。安裝後開箱即用，學習成本最低。&lt;/p>
&lt;p>適合的情境：只需要快速排版、不想花時間學新操作邏輯、偶爾分割就滿足需求。&lt;/p>
&lt;p>配置檔位置：&lt;code>~/Library/Preferences/com.knollsoft.Rectangle.plist&lt;/code>（macOS plist 格式，不太適合手動編輯，通常用 GUI 設定）。&lt;/p>
&lt;h2 id="amethyst">Amethyst&lt;/h2>
&lt;p>自動平鋪，安裝後視窗就會自動排列。提供多種 layout（tall, wide, fullscreen, column 等）可以用快捷鍵切換。設定比 Rectangle 多但比 yabai 少，是「想要自動平鋪但不想深度折騰」的選擇。&lt;/p>
&lt;p>配置檔：&lt;code>~/.amethyst.yml&lt;/code>，YAML 格式，可以版控。&lt;/p>
&lt;h2 id="aerospace">AeroSpace&lt;/h2>
&lt;p>近年最受歡迎的選擇。核心優勢是&lt;strong>不需要關閉 SIP&lt;/strong>（System Integrity Protection）——它用自己實作的虛擬工作區概念，不依賴 macOS 原生的 Spaces，因此繞過了很多系統層的限制。&lt;/p>
&lt;p>配置是純文字的 TOML 檔 &lt;code>~/.aerospace.toml&lt;/code>，改完即時生效。工作區模型靈活，多螢幕支援被普遍認為比 yabai 穩定。&lt;/p>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-toml" data-lang="toml">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="c"># ~/.aerospace.toml 片段&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="nx">after-startup-command&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;workspace 1&amp;#39;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="nx">gaps&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="nx">inner&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">horizontal&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="nx">inner&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">vertical&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="nx">outer&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">left&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="nx">outer&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">right&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="nx">mode&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">main&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">binding&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-h&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;focus left&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-j&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;focus down&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-k&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;focus up&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-l&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;focus right&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-shift-h&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;move left&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-shift-j&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;move down&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-shift-k&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;move up&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-shift-l&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;move right&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-1&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;workspace 1&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-2&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;workspace 2&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">21&lt;/span>&lt;span class="cl">&lt;span class="nx">alt-3&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s1">&amp;#39;workspace 3&amp;#39;&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>配置結構直覺：gaps 控制視窗間距、binding 定義快捷鍵對應的動作。整份檔案進 dotfile repo 就能跨機器還原操作習慣。&lt;/p>
&lt;h2 id="yabai--skhd">yabai + skhd&lt;/h2>
&lt;p>功能最完整的 macOS tiling WM。yabai 負責視窗管理，skhd 負責快捷鍵綁定。支援 BSP（binary space partitioning）樹狀分割——每次開新視窗都是把現有空間二分，形成一棵樹，你可以操作樹的節點來旋轉、交換、調整比例。&lt;/p>
&lt;p>代價是部分進階功能（某些視窗操作、取消動畫）需要部分關閉 SIP。對某些人這是門檻，對另一些人不是問題。&lt;/p>
&lt;p>配置檔是 shell script：&lt;code>.yabairc&lt;/code>（yabai 設定）和 &lt;code>.skhdrc&lt;/code>（快捷鍵設定），進 dotfile repo 管理。&lt;/p>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="c1"># .yabairc 片段&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">yabai -m config layout bsp
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">yabai -m config window_gap &lt;span class="m">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">yabai -m config top_padding &lt;span class="m">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">yabai -m config bottom_padding &lt;span class="m">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="c1"># 某些 app 不適合平鋪，設為浮動&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">yabai -m rule --add &lt;span class="nv">app&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;System Preferences&amp;#34;&lt;/span> &lt;span class="nv">manage&lt;/span>&lt;span class="o">=&lt;/span>off
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">yabai -m rule --add &lt;span class="nv">app&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;Calculator&amp;#34;&lt;/span> &lt;span class="nv">manage&lt;/span>&lt;span class="o">=&lt;/span>off
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">yabai -m rule --add &lt;span class="nv">app&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;Finder&amp;#34;&lt;/span> &lt;span class="nv">title&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;Info&amp;#34;&lt;/span> &lt;span class="nv">manage&lt;/span>&lt;span class="o">=&lt;/span>off&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="選型判讀">選型判讀&lt;/h2>
&lt;p>選工具的判準不是「哪個最強」，而是「你願意花多少時間、想要多少控制權」。&lt;/p>
&lt;p>只需要快速排視窗、不想改工作習慣，Rectangle 足夠。想要自動平鋪但學習曲線要短，Amethyst 是進入點。想要完整的平鋪工作流、多工作區管理、純文字配置、又不想動系統安全設定，AeroSpace 是目前多數人推薦的首選。想要最大的控制權、願意處理 SIP 和更複雜的配置，yabai 給你最多彈性。&lt;/p>
&lt;p>從 Rectangle 跳到 AeroSpace 或 yabai 是一次操作思維的轉換——從「我指定每個視窗去哪」變成「我操作版面結構、WM 負責排列」。這個轉換需要一兩週的適應期，適應期內效率會暫時下降。&lt;/p></description><content:encoded><![CDATA[<p>macOS 的視窗系統由 WindowServer 控制，第三方工具能做的主要是「排列邏輯」——決定視窗的位置和大小。視覺效果（動畫、模糊、圓角）由系統控制，第三方工具改不了。這是跟 Linux tiling WM 最大的差異。</p>
<h2 id="macos-原生-window-tilingmacos-15">macOS 原生 Window Tiling（macOS 15+）</h2>
<p>macOS Sequoia（15，2024 年 9 月）內建了 window tiling 功能：鍵盤快捷鍵把視窗貼到螢幕的半邊或四分之一、拖拉到邊緣自動貼齊（edge snap）、相鄰視窗可以組成 tile group 一起調整比例。</p>
<p>原生 tiling 的邊界：沒有多工作區管理、快捷鍵自訂空間有限（只能用系統偏好設定裡的固定選項）、不支援自動平鋪（仍然是手動觸發的 snap，不會在開新視窗時自動重排）。</p>
<p>如果「貼到半邊 + 邊緣吸附」就足夠，原生功能免安裝即可使用。以下第三方工具解決的是原生功能做不到的事：更多排列選項（Rectangle）、自動平鋪（Amethyst）、完整的鍵盤工作流加多工作區（AeroSpace / yabai）。</p>
<h2 id="rectangle">Rectangle</h2>
<p>免費、開源。用快捷鍵把視窗貼到螢幕的半邊、三分之一、角落。不是自動平鋪——每個視窗都要你主動下指令。安裝後開箱即用，學習成本最低。</p>
<p>適合的情境：只需要快速排版、不想花時間學新操作邏輯、偶爾分割就滿足需求。</p>
<p>配置檔位置：<code>~/Library/Preferences/com.knollsoft.Rectangle.plist</code>（macOS plist 格式，不太適合手動編輯，通常用 GUI 設定）。</p>
<h2 id="amethyst">Amethyst</h2>
<p>自動平鋪，安裝後視窗就會自動排列。提供多種 layout（tall, wide, fullscreen, column 等）可以用快捷鍵切換。設定比 Rectangle 多但比 yabai 少，是「想要自動平鋪但不想深度折騰」的選擇。</p>
<p>配置檔：<code>~/.amethyst.yml</code>，YAML 格式，可以版控。</p>
<h2 id="aerospace">AeroSpace</h2>
<p>近年最受歡迎的選擇。核心優勢是<strong>不需要關閉 SIP</strong>（System Integrity Protection）——它用自己實作的虛擬工作區概念，不依賴 macOS 原生的 Spaces，因此繞過了很多系統層的限制。</p>
<p>配置是純文字的 TOML 檔 <code>~/.aerospace.toml</code>，改完即時生效。工作區模型靈活，多螢幕支援被普遍認為比 yabai 穩定。</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c"># ~/.aerospace.toml 片段</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="nx">after-startup-command</span> <span class="p">=</span> <span class="p">[</span><span class="s1">&#39;workspace 1&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="p">[</span><span class="nx">gaps</span><span class="p">]</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="nx">inner</span><span class="p">.</span><span class="nx">horizontal</span> <span class="p">=</span> <span class="mi">10</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="nx">inner</span><span class="p">.</span><span class="nx">vertical</span> <span class="p">=</span> <span class="mi">10</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="nx">outer</span><span class="p">.</span><span class="nx">left</span> <span class="p">=</span> <span class="mi">10</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="nx">outer</span><span class="p">.</span><span class="nx">right</span> <span class="p">=</span> <span class="mi">10</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="p">[</span><span class="nx">mode</span><span class="p">.</span><span class="nx">main</span><span class="p">.</span><span class="nx">binding</span><span class="p">]</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="nx">alt-h</span> <span class="p">=</span> <span class="s1">&#39;focus left&#39;</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="nx">alt-j</span> <span class="p">=</span> <span class="s1">&#39;focus down&#39;</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="nx">alt-k</span> <span class="p">=</span> <span class="s1">&#39;focus up&#39;</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="nx">alt-l</span> <span class="p">=</span> <span class="s1">&#39;focus right&#39;</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="nx">alt-shift-h</span> <span class="p">=</span> <span class="s1">&#39;move left&#39;</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="nx">alt-shift-j</span> <span class="p">=</span> <span class="s1">&#39;move down&#39;</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="nx">alt-shift-k</span> <span class="p">=</span> <span class="s1">&#39;move up&#39;</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="nx">alt-shift-l</span> <span class="p">=</span> <span class="s1">&#39;move right&#39;</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="nx">alt-1</span> <span class="p">=</span> <span class="s1">&#39;workspace 1&#39;</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="nx">alt-2</span> <span class="p">=</span> <span class="s1">&#39;workspace 2&#39;</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="nx">alt-3</span> <span class="p">=</span> <span class="s1">&#39;workspace 3&#39;</span></span></span></code></pre></div><p>配置結構直覺：gaps 控制視窗間距、binding 定義快捷鍵對應的動作。整份檔案進 dotfile repo 就能跨機器還原操作習慣。</p>
<h2 id="yabai--skhd">yabai + skhd</h2>
<p>功能最完整的 macOS tiling WM。yabai 負責視窗管理，skhd 負責快捷鍵綁定。支援 BSP（binary space partitioning）樹狀分割——每次開新視窗都是把現有空間二分，形成一棵樹，你可以操作樹的節點來旋轉、交換、調整比例。</p>
<p>代價是部分進階功能（某些視窗操作、取消動畫）需要部分關閉 SIP。對某些人這是門檻，對另一些人不是問題。</p>
<p>配置檔是 shell script：<code>.yabairc</code>（yabai 設定）和 <code>.skhdrc</code>（快捷鍵設定），進 dotfile repo 管理。</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># .yabairc 片段</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">yabai -m config layout bsp
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">yabai -m config window_gap <span class="m">10</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">yabai -m config top_padding <span class="m">10</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">yabai -m config bottom_padding <span class="m">10</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="c1"># 某些 app 不適合平鋪，設為浮動</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">yabai -m rule --add <span class="nv">app</span><span class="o">=</span><span class="s2">&#34;System Preferences&#34;</span> <span class="nv">manage</span><span class="o">=</span>off
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">yabai -m rule --add <span class="nv">app</span><span class="o">=</span><span class="s2">&#34;Calculator&#34;</span> <span class="nv">manage</span><span class="o">=</span>off
</span></span><span class="line"><span class="ln">10</span><span class="cl">yabai -m rule --add <span class="nv">app</span><span class="o">=</span><span class="s2">&#34;Finder&#34;</span> <span class="nv">title</span><span class="o">=</span><span class="s2">&#34;Info&#34;</span> <span class="nv">manage</span><span class="o">=</span>off</span></span></code></pre></div><h2 id="選型判讀">選型判讀</h2>
<p>選工具的判準不是「哪個最強」，而是「你願意花多少時間、想要多少控制權」。</p>
<p>只需要快速排視窗、不想改工作習慣，Rectangle 足夠。想要自動平鋪但學習曲線要短，Amethyst 是進入點。想要完整的平鋪工作流、多工作區管理、純文字配置、又不想動系統安全設定，AeroSpace 是目前多數人推薦的首選。想要最大的控制權、願意處理 SIP 和更複雜的配置，yabai 給你最多彈性。</p>
<p>從 Rectangle 跳到 AeroSpace 或 yabai 是一次操作思維的轉換——從「我指定每個視窗去哪」變成「我操作版面結構、WM 負責排列」。這個轉換需要一兩週的適應期，適應期內效率會暫時下降。</p>
]]></content:encoded></item></channel></rss>