<?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>工具應用筆記 on Tarragon</title><link>https://tarrragon.github.io/blog/other/application/</link><description>Recent content in 工具應用筆記 on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Sun, 28 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/other/application/index.xml" rel="self" type="application/rss+xml"/><item><title>Kando 滑鼠手勢選單的應用場景</title><link>https://tarrragon.github.io/blog/other/kando-%E6%BB%91%E9%BC%A0%E6%89%8B%E5%8B%A2%E9%81%B8%E5%96%AE%E7%9A%84%E6%87%89%E7%94%A8%E5%A0%B4%E6%99%AF/</link><pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/other/kando-%E6%BB%91%E9%BC%A0%E6%89%8B%E5%8B%A2%E9%81%B8%E5%96%AE%E7%9A%84%E6%87%89%E7%94%A8%E5%A0%B4%E6%99%AF/</guid><description>&lt;h2 id="kando-是什麼">Kando 是什麼&lt;/h2>
&lt;p>Kando 是一個跨平台的**圓盤選單（pie menu / marking menu）**工具：綁一個快捷鍵後，選單會在游標位置彈出，用滑鼠往某個方向滑動或點擊就能選到項目。每個項目可以執行指令、模擬快捷鍵、開啟網址/檔案、貼上文字或串成巨集。&lt;/p>
&lt;ul>
&lt;li>專案：&lt;a href="https://github.com/kando-menu/kando">https://github.com/kando-menu/kando&lt;/a>&lt;/li>
&lt;li>使用說明：&lt;a href="https://kando.menu/usage/">https://kando.menu/usage/&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>它最關鍵的特性是&lt;strong>標記模式（marking mode）&lt;/strong>：選單結構固定後，可以靠肌肉記憶往某個方向「甩」一下盲選，不需要看著選單找項目。這跟「打字找東西」的啟動器（Raycast / Alfred / Spotlight）是不同的互動範式。&lt;/p>
&lt;hr>
&lt;h2 id="適用判準先判斷再設計">適用判準（先判斷再設計）&lt;/h2>
&lt;p>Kando 補的是一個特定空缺：&lt;strong>手已經在滑鼠/觸控板上、不想切回鍵盤、而且動作有空間對應&lt;/strong>。它跟鍵盤快捷鍵或啟動器是並存關係，不是替代。判斷一個動作該不該交給 Kando，用以下三條：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>動作數量超過快捷鍵好記的上限&lt;/strong>。同類動作一旦超過七八個，組合鍵就開始互相打架、記不住；圓盤選單用空間位置取代記憶。&lt;/li>
&lt;li>&lt;strong>當下手在滑鼠、切回鍵盤是中斷&lt;/strong>。瀏覽、看文件、看設計稿時，打字啟動器反而要先把手移開；圓盤選單原地彈出。&lt;/li>
&lt;li>&lt;strong>動作有方向語意，盲操作就能命中&lt;/strong>。例如「左半邊視窗」往左滑、「下一個螢幕」往外圈滑。有方向對應的動作練熟後可以完全不看選單。&lt;/li>
&lt;/ol>
&lt;p>三條不必同時滿足，但命中越多越適合。反過來說，低頻、無方向語意、又需要打字輸入參數的動作，留在啟動器或 CLI 比較好。&lt;/p>
&lt;hr>
&lt;h2 id="macos-工程師的應用場景">macOS 工程師的應用場景&lt;/h2>
&lt;p>以下幾組依「契合 Kando 的程度」排序，越前面方向語意越強、回報越快。&lt;/p>
&lt;h3 id="1-視窗排版最契合">1. 視窗排版（最契合）&lt;/h3>
&lt;p>方向天然對應位置，這是 Kando 比 Rectangle 純快捷鍵更直覺的地方：&lt;/p>
&lt;ul>
&lt;li>往左滑放左半螢幕、往右放右半、往上全螢幕、往下置中浮動&lt;/li>
&lt;li>對角線放四分之一角落&lt;/li>
&lt;li>外圈再包一層：丟到下一個螢幕、移到上一個 Space&lt;/li>
&lt;/ul>
&lt;p>底層用 simulate hotkey 去觸發 Rectangle 或 yabai。練熟後完全盲操作，不用記「左半邊是哪組三鍵組合」這種反直覺對應。&lt;/p>
&lt;h3 id="2-瀏覽器內當前頁面接我的工作流">2. 瀏覽器內「當前頁面接我的工作流」&lt;/h3>
&lt;p>看 PR、issue、文件時手在滑鼠上，這時甩一下選單把當前頁面導進後續流程：&lt;/p>
&lt;ul>
&lt;li>複製當前 URL 成 Markdown 連結&lt;/li>
&lt;li>把選取文字丟進 AI（觸發 Raycast AI / ChatGPT 的 hotkey，或貼到剪貼簿）&lt;/li>
&lt;li>存進筆記軟體&lt;/li>
&lt;li>在編輯器開對應的 local repo&lt;/li>
&lt;/ul>
&lt;h3 id="3-開發環境一鍵啟動巢狀選單">3. 開發環境一鍵啟動（巢狀選單）&lt;/h3>
&lt;p>用 run command，適合放每天重複開的那幾個專案：&lt;/p>
&lt;ul>
&lt;li>外圈按專案分&lt;/li>
&lt;li>內圈每個專案：用 IDE 開、開 terminal 到該目錄、開 PR 頁、開 CI dashboard、&lt;code>docker compose up&lt;/code>&lt;/li>
&lt;/ul>
&lt;h3 id="4-常用-snippet--樣板貼上">4. 常用 snippet / 樣板貼上&lt;/h3>
&lt;p>用 paste text，放那些「記不得但常用」的東西：&lt;/p>
&lt;ul>
&lt;li>Email 簽名、PR 描述模板、commit message 前綴&lt;/li>
&lt;li>常用 emoji / 符號&lt;/li>
&lt;li>長的 shell one-liner&lt;/li>
&lt;/ul>
&lt;h3 id="5-系統狀態切換">5. 系統狀態切換&lt;/h3>
&lt;p>toggle 類，平常要進設定點半天的：&lt;/p>
&lt;ul>
&lt;li>勿擾模式、深色/淺色主題、防睡眠、切換音訊輸出裝置、螢幕錄製/截圖&lt;/li>
&lt;/ul>
&lt;h3 id="6-git--容器-context-切換">6. Git / 容器 context 切換&lt;/h3>
&lt;p>git 日常走 CLI，但&lt;strong>切 context&lt;/strong> 這種低頻又記不住名字的適合放選單：&lt;/p>
&lt;ul>
&lt;li>&lt;code>kubectl&lt;/code> context / namespace 切換&lt;/li>
&lt;li>AWS profile 切換&lt;/li>
&lt;li>docker 清理、重啟某個 compose service&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="建構自己模式的起步建議">建構自己模式的起步建議&lt;/h2>
&lt;p>別一次設計大選單。先只做視窗排版那組，因為方向對應最直覺、回報最快、最容易養成「想到就甩一下」的習慣。等這個習慣固定了，再依「這禮拜我重複做了什麼、又懶得記快捷鍵」逐步往其他組長。一開始就塞滿，反而會因為記不住結構而棄用。&lt;/p>
&lt;hr>
&lt;h2 id="設定範例視窗排版magnet-版">設定範例：視窗排版（Magnet 版）&lt;/h2>
&lt;p>底層用 &lt;code>hotkey&lt;/code> 型項目去打 Magnet 的預設快捷鍵（Magnet 的修飾鍵是 Control+Option，Option 在按鍵碼裡是 &lt;code>AltLeft&lt;/code>）。八個項目用 &lt;code>angle&lt;/code> 釘死在八個方向，方向語意對齊位置：左滑放左半、右滑放右半、上滑最大化、下滑置中、四個對角放四分之一角落。練熟後可以盲操作。&lt;/p>
&lt;p>Kando 的角度規則是 &lt;code>0&lt;/code> 在正上方、順時針遞增（&lt;code>90&lt;/code> 右、&lt;code>180&lt;/code> 下、&lt;code>270&lt;/code> 左）。每個 &lt;code>hotkey&lt;/code> 都設 &lt;code>delayed: true&lt;/code>，讓按鍵在選單關閉後才送出，這樣 Magnet 作用的是「開選單前那個聚焦視窗」而不是 Kando 的 overlay。&lt;/p>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;menus&amp;#34;&lt;/span>&lt;span class="p">:&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 class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;root&amp;#34;&lt;/span>&lt;span class="p">:&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="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;submenu&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;視窗排版&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;grid_view&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;children&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&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>&lt;/span>&lt;span class="line">&lt;span class="ln"> 11&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 12&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+Enter&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 13&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;最大化&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 14&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;fullscreen&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 15&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 16&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;angle&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 17&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 18&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 19&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 20&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyI&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 21&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;右上&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 22&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;north_east&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 23&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 24&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;angle&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">45&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 25&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 26&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 27&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 28&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+ArrowRight&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 29&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;右半&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 30&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;east&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 31&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 32&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;angle&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">90&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 33&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 34&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 35&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 36&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyK&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 37&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;右下&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 38&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;south_east&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 39&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 40&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;angle&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">135&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 41&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 42&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 43&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 44&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyC&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 45&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;置中&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 46&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;filter_center_focus&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 47&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 48&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;angle&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">180&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 49&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 50&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 51&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 52&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyJ&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 53&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;左下&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 54&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;south_west&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 55&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 56&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;angle&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">225&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 57&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 58&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 59&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 60&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+ArrowLeft&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 61&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;左半&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 62&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;west&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 63&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 64&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;angle&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">270&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 65&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 66&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 67&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 68&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyU&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 69&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;左上&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 70&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;north_west&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 71&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 72&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;angle&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">315&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 73&lt;/span>&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 74&lt;/span>&lt;span class="cl"> &lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 75&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 76&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;shortcut&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Control+Shift+Space&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 77&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;shortcutID&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 78&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;centered&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">false&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 79&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;anchored&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">false&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 80&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;hoverMode&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">false&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 81&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 82&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 83&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;root&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 84&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;submenu&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 85&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;視窗進階&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 86&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;view_column&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 87&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 88&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;children&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 89&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 90&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 91&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyD&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 92&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;左三分之一&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 93&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;first_page&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 94&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 95&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 96&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 97&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 98&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyF&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 99&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;中三分之一&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">100&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;vertical_align_center&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">101&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">102&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">103&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">104&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">105&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyG&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">106&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;右三分之一&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">107&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;last_page&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">108&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">109&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">110&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">111&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">112&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyE&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">113&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;左三分之二&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">114&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;align_horizontal_left&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">115&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">116&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">117&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">118&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">119&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+KeyT&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">120&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;右三分之二&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">121&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;align_horizontal_right&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">122&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">123&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">124&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">125&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">126&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+MetaLeft+ArrowLeft&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">127&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;上一個螢幕&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">128&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;arrow_circle_left&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">129&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">130&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">131&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">132&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">133&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+MetaLeft+ArrowRight&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">134&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;下一個螢幕&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">135&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;arrow_circle_right&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">136&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">137&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">138&lt;/span>&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">139&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">140&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;hotkey&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;ControlLeft+AltLeft+Backspace&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;delayed&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">141&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;還原&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">142&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;settings_backup_restore&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">143&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;iconTheme&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;material-symbols-rounded&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">144&lt;/span>&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">145&lt;/span>&lt;span class="cl"> &lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">146&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">147&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;shortcut&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Control+Shift+Alt+Space&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">148&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;shortcutID&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">149&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;centered&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">false&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">150&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;anchored&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">false&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">151&lt;/span>&lt;span class="cl"> &lt;span class="nt">&amp;#34;hoverMode&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">false&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">152&lt;/span>&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">153&lt;/span>&lt;span class="cl"> &lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">154&lt;/span>&lt;span class="cl">&lt;span class="p">}&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>套用方式：&lt;/p></description><content:encoded><![CDATA[<h2 id="kando-是什麼">Kando 是什麼</h2>
<p>Kando 是一個跨平台的**圓盤選單（pie menu / marking menu）**工具：綁一個快捷鍵後，選單會在游標位置彈出，用滑鼠往某個方向滑動或點擊就能選到項目。每個項目可以執行指令、模擬快捷鍵、開啟網址/檔案、貼上文字或串成巨集。</p>
<ul>
<li>專案：<a href="https://github.com/kando-menu/kando">https://github.com/kando-menu/kando</a></li>
<li>使用說明：<a href="https://kando.menu/usage/">https://kando.menu/usage/</a></li>
</ul>
<p>它最關鍵的特性是<strong>標記模式（marking mode）</strong>：選單結構固定後，可以靠肌肉記憶往某個方向「甩」一下盲選，不需要看著選單找項目。這跟「打字找東西」的啟動器（Raycast / Alfred / Spotlight）是不同的互動範式。</p>
<hr>
<h2 id="適用判準先判斷再設計">適用判準（先判斷再設計）</h2>
<p>Kando 補的是一個特定空缺：<strong>手已經在滑鼠/觸控板上、不想切回鍵盤、而且動作有空間對應</strong>。它跟鍵盤快捷鍵或啟動器是並存關係，不是替代。判斷一個動作該不該交給 Kando，用以下三條：</p>
<ol>
<li><strong>動作數量超過快捷鍵好記的上限</strong>。同類動作一旦超過七八個，組合鍵就開始互相打架、記不住；圓盤選單用空間位置取代記憶。</li>
<li><strong>當下手在滑鼠、切回鍵盤是中斷</strong>。瀏覽、看文件、看設計稿時，打字啟動器反而要先把手移開；圓盤選單原地彈出。</li>
<li><strong>動作有方向語意，盲操作就能命中</strong>。例如「左半邊視窗」往左滑、「下一個螢幕」往外圈滑。有方向對應的動作練熟後可以完全不看選單。</li>
</ol>
<p>三條不必同時滿足，但命中越多越適合。反過來說，低頻、無方向語意、又需要打字輸入參數的動作，留在啟動器或 CLI 比較好。</p>
<hr>
<h2 id="macos-工程師的應用場景">macOS 工程師的應用場景</h2>
<p>以下幾組依「契合 Kando 的程度」排序，越前面方向語意越強、回報越快。</p>
<h3 id="1-視窗排版最契合">1. 視窗排版（最契合）</h3>
<p>方向天然對應位置，這是 Kando 比 Rectangle 純快捷鍵更直覺的地方：</p>
<ul>
<li>往左滑放左半螢幕、往右放右半、往上全螢幕、往下置中浮動</li>
<li>對角線放四分之一角落</li>
<li>外圈再包一層：丟到下一個螢幕、移到上一個 Space</li>
</ul>
<p>底層用 simulate hotkey 去觸發 Rectangle 或 yabai。練熟後完全盲操作，不用記「左半邊是哪組三鍵組合」這種反直覺對應。</p>
<h3 id="2-瀏覽器內當前頁面接我的工作流">2. 瀏覽器內「當前頁面接我的工作流」</h3>
<p>看 PR、issue、文件時手在滑鼠上，這時甩一下選單把當前頁面導進後續流程：</p>
<ul>
<li>複製當前 URL 成 Markdown 連結</li>
<li>把選取文字丟進 AI（觸發 Raycast AI / ChatGPT 的 hotkey，或貼到剪貼簿）</li>
<li>存進筆記軟體</li>
<li>在編輯器開對應的 local repo</li>
</ul>
<h3 id="3-開發環境一鍵啟動巢狀選單">3. 開發環境一鍵啟動（巢狀選單）</h3>
<p>用 run command，適合放每天重複開的那幾個專案：</p>
<ul>
<li>外圈按專案分</li>
<li>內圈每個專案：用 IDE 開、開 terminal 到該目錄、開 PR 頁、開 CI dashboard、<code>docker compose up</code></li>
</ul>
<h3 id="4-常用-snippet--樣板貼上">4. 常用 snippet / 樣板貼上</h3>
<p>用 paste text，放那些「記不得但常用」的東西：</p>
<ul>
<li>Email 簽名、PR 描述模板、commit message 前綴</li>
<li>常用 emoji / 符號</li>
<li>長的 shell one-liner</li>
</ul>
<h3 id="5-系統狀態切換">5. 系統狀態切換</h3>
<p>toggle 類，平常要進設定點半天的：</p>
<ul>
<li>勿擾模式、深色/淺色主題、防睡眠、切換音訊輸出裝置、螢幕錄製/截圖</li>
</ul>
<h3 id="6-git--容器-context-切換">6. Git / 容器 context 切換</h3>
<p>git 日常走 CLI，但<strong>切 context</strong> 這種低頻又記不住名字的適合放選單：</p>
<ul>
<li><code>kubectl</code> context / namespace 切換</li>
<li>AWS profile 切換</li>
<li>docker 清理、重啟某個 compose service</li>
</ul>
<hr>
<h2 id="建構自己模式的起步建議">建構自己模式的起步建議</h2>
<p>別一次設計大選單。先只做視窗排版那組，因為方向對應最直覺、回報最快、最容易養成「想到就甩一下」的習慣。等這個習慣固定了，再依「這禮拜我重複做了什麼、又懶得記快捷鍵」逐步往其他組長。一開始就塞滿，反而會因為記不住結構而棄用。</p>
<hr>
<h2 id="設定範例視窗排版magnet-版">設定範例：視窗排版（Magnet 版）</h2>
<p>底層用 <code>hotkey</code> 型項目去打 Magnet 的預設快捷鍵（Magnet 的修飾鍵是 Control+Option，Option 在按鍵碼裡是 <code>AltLeft</code>）。八個項目用 <code>angle</code> 釘死在八個方向，方向語意對齊位置：左滑放左半、右滑放右半、上滑最大化、下滑置中、四個對角放四分之一角落。練熟後可以盲操作。</p>
<p>Kando 的角度規則是 <code>0</code> 在正上方、順時針遞增（<code>90</code> 右、<code>180</code> 下、<code>270</code> 左）。每個 <code>hotkey</code> 都設 <code>delayed: true</code>，讓按鍵在選單關閉後才送出，這樣 Magnet 作用的是「開選單前那個聚焦視窗」而不是 Kando 的 overlay。</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="ln">  1</span><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="ln">  2</span><span class="cl">  <span class="nt">&#34;menus&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln">  3</span><span class="cl">    <span class="p">{</span>
</span></span><span class="line"><span class="ln">  4</span><span class="cl">      <span class="nt">&#34;root&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">  5</span><span class="cl">        <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;submenu&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">  6</span><span class="cl">        <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;視窗排版&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">  7</span><span class="cl">        <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;grid_view&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">  8</span><span class="cl">        <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">  9</span><span class="cl">        <span class="nt">&#34;children&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln"> 10</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 11</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 12</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+Enter&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 13</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;最大化&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 14</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;fullscreen&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 15</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 16</span><span class="cl">            <span class="nt">&#34;angle&#34;</span><span class="p">:</span> <span class="mi">0</span>
</span></span><span class="line"><span class="ln"> 17</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 18</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 19</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 20</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyI&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 21</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;右上&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 22</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;north_east&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 23</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 24</span><span class="cl">            <span class="nt">&#34;angle&#34;</span><span class="p">:</span> <span class="mi">45</span>
</span></span><span class="line"><span class="ln"> 25</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 26</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 27</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 28</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+ArrowRight&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 29</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;右半&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 30</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;east&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 31</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 32</span><span class="cl">            <span class="nt">&#34;angle&#34;</span><span class="p">:</span> <span class="mi">90</span>
</span></span><span class="line"><span class="ln"> 33</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 34</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 35</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 36</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyK&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 37</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;右下&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 38</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;south_east&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 39</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 40</span><span class="cl">            <span class="nt">&#34;angle&#34;</span><span class="p">:</span> <span class="mi">135</span>
</span></span><span class="line"><span class="ln"> 41</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 42</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 43</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 44</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyC&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 45</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;置中&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 46</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;filter_center_focus&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 47</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 48</span><span class="cl">            <span class="nt">&#34;angle&#34;</span><span class="p">:</span> <span class="mi">180</span>
</span></span><span class="line"><span class="ln"> 49</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 50</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 51</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 52</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyJ&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 53</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;左下&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 54</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;south_west&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 55</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 56</span><span class="cl">            <span class="nt">&#34;angle&#34;</span><span class="p">:</span> <span class="mi">225</span>
</span></span><span class="line"><span class="ln"> 57</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 58</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 59</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 60</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+ArrowLeft&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 61</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;左半&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 62</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;west&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 63</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 64</span><span class="cl">            <span class="nt">&#34;angle&#34;</span><span class="p">:</span> <span class="mi">270</span>
</span></span><span class="line"><span class="ln"> 65</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 66</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 67</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 68</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyU&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 69</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;左上&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 70</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;north_west&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 71</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 72</span><span class="cl">            <span class="nt">&#34;angle&#34;</span><span class="p">:</span> <span class="mi">315</span>
</span></span><span class="line"><span class="ln"> 73</span><span class="cl">          <span class="p">}</span>
</span></span><span class="line"><span class="ln"> 74</span><span class="cl">        <span class="p">]</span>
</span></span><span class="line"><span class="ln"> 75</span><span class="cl">      <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 76</span><span class="cl">      <span class="nt">&#34;shortcut&#34;</span><span class="p">:</span> <span class="s2">&#34;Control+Shift+Space&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 77</span><span class="cl">      <span class="nt">&#34;shortcutID&#34;</span><span class="p">:</span> <span class="s2">&#34;&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 78</span><span class="cl">      <span class="nt">&#34;centered&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 79</span><span class="cl">      <span class="nt">&#34;anchored&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 80</span><span class="cl">      <span class="nt">&#34;hoverMode&#34;</span><span class="p">:</span> <span class="kc">false</span>
</span></span><span class="line"><span class="ln"> 81</span><span class="cl">    <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 82</span><span class="cl">    <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 83</span><span class="cl">      <span class="nt">&#34;root&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 84</span><span class="cl">        <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;submenu&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 85</span><span class="cl">        <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;視窗進階&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 86</span><span class="cl">        <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;view_column&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 87</span><span class="cl">        <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 88</span><span class="cl">        <span class="nt">&#34;children&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln"> 89</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 90</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 91</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyD&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 92</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;左三分之一&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 93</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;first_page&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 94</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln"> 95</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 96</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 97</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 98</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyF&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln"> 99</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;中三分之一&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">100</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;vertical_align_center&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">101</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln">102</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln">103</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln">104</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">105</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyG&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln">106</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;右三分之一&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">107</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;last_page&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">108</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln">109</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln">110</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln">111</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">112</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyE&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln">113</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;左三分之二&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">114</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;align_horizontal_left&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">115</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln">116</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln">117</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln">118</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">119</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+KeyT&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln">120</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;右三分之二&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">121</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;align_horizontal_right&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">122</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln">123</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln">124</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln">125</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">126</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+MetaLeft+ArrowLeft&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln">127</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;上一個螢幕&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">128</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;arrow_circle_left&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">129</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln">130</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln">131</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln">132</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">133</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+MetaLeft+ArrowRight&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln">134</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;下一個螢幕&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">135</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;arrow_circle_right&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">136</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln">137</span><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="ln">138</span><span class="cl">          <span class="p">{</span>
</span></span><span class="line"><span class="ln">139</span><span class="cl">            <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;hotkey&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">140</span><span class="cl">            <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;hotkey&#34;</span><span class="p">:</span> <span class="s2">&#34;ControlLeft+AltLeft+Backspace&#34;</span><span class="p">,</span> <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">true</span> <span class="p">},</span>
</span></span><span class="line"><span class="ln">141</span><span class="cl">            <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;還原&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">142</span><span class="cl">            <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;settings_backup_restore&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">143</span><span class="cl">            <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln">144</span><span class="cl">          <span class="p">}</span>
</span></span><span class="line"><span class="ln">145</span><span class="cl">        <span class="p">]</span>
</span></span><span class="line"><span class="ln">146</span><span class="cl">      <span class="p">},</span>
</span></span><span class="line"><span class="ln">147</span><span class="cl">      <span class="nt">&#34;shortcut&#34;</span><span class="p">:</span> <span class="s2">&#34;Control+Shift+Alt+Space&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">148</span><span class="cl">      <span class="nt">&#34;shortcutID&#34;</span><span class="p">:</span> <span class="s2">&#34;&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">149</span><span class="cl">      <span class="nt">&#34;centered&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">150</span><span class="cl">      <span class="nt">&#34;anchored&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">151</span><span class="cl">      <span class="nt">&#34;hoverMode&#34;</span><span class="p">:</span> <span class="kc">false</span>
</span></span><span class="line"><span class="ln">152</span><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="ln">153</span><span class="cl">  <span class="p">]</span>
</span></span><span class="line"><span class="ln">154</span><span class="cl"><span class="p">}</span></span></span></code></pre></div><p>套用方式：</p>
<ol>
<li>先<strong>完全結束 Kando</strong>（Kando 會在離開時把記憶體裡的設定寫回檔案、開著編輯會被覆蓋）。</li>
<li>編輯 macOS 的設定檔 <code>~/Library/Application Support/kando/menus.json</code>。若已有自訂選單，把 <code>menus</code> 陣列裡的兩個物件貼進去、不要整檔覆蓋。</li>
<li>重新開 Kando。觸發鍵 <code>Control+Shift+Space</code>（進階組 <code>Control+Shift+Alt+Space</code>）若跟既有快捷鍵衝突，直接在 Kando 設定 GUI 改最保險。</li>
</ol>
<p>對照表（方向 → Magnet 動作 → 快捷鍵）：</p>
<table>
  <thead>
      <tr>
          <th>方向</th>
          <th>動作</th>
          <th>Magnet 快捷鍵</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>上</td>
          <td>最大化</td>
          <td>⌃⌥↵</td>
      </tr>
      <tr>
          <td>右</td>
          <td>右半</td>
          <td>⌃⌥→</td>
      </tr>
      <tr>
          <td>下</td>
          <td>置中</td>
          <td>⌃⌥C</td>
      </tr>
      <tr>
          <td>左</td>
          <td>左半</td>
          <td>⌃⌥←</td>
      </tr>
      <tr>
          <td>右上</td>
          <td>右上角</td>
          <td>⌃⌥I</td>
      </tr>
      <tr>
          <td>右下</td>
          <td>右下角</td>
          <td>⌃⌥K</td>
      </tr>
      <tr>
          <td>左下</td>
          <td>左下角</td>
          <td>⌃⌥J</td>
      </tr>
      <tr>
          <td>左上</td>
          <td>左上角</td>
          <td>⌃⌥U</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="設定範例自訂腳本叫出-ghostty-執行command-型">設定範例：自訂腳本叫出 Ghostty 執行（command 型）</h2>
<p><code>command</code> 型項目直接把指令交給作業系統執行，它本身不開終端機視窗。要「叫出 Ghostty 並在裡面跑腳本」，得用 Ghostty 的 <code>-e</code> 旗標開一個新視窗執行指定指令。下面這組放兩個需要看畫面的磁碟工具：<code>mole</code>（互動式清理 TUI）跟 <a href="/blog/other/macos-%E7%A3%81%E7%A2%9F%E7%A9%BA%E9%96%93%E8%A2%AB%E5%90%83%E5%85%89%E7%9A%84%E8%A8%BA%E6%96%B7%E6%B5%81%E7%A8%8B/" data-link-title="macOS 磁碟空間被吃光的診斷流程" data-link-desc="Mac 空間莫名歸零、清 cache 沒救、或空間掉了又回來時的排查順序。避開 sparse 假大小和本地快照浮動的誤判。含 disk-report 腳本。"><code>disk-report</code></a>（印出硬碟空間報告，安裝方式見該篇）。</p>
<p>兩個寫法的共同骨架是 <code>ghostty -e zsh -lc &quot;&lt;腳本&gt;; exec zsh&quot;</code>：</p>
<ul>
<li><strong><code>zsh -lc</code></strong>：用 login shell 執行，載入 <code>.zprofile</code> / <code>.zshrc</code> 的 PATH（<a href="/blog/other/macos-%E6%96%B0%E6%A9%9F%E5%9F%BA%E7%A4%8E%E5%BB%BA%E8%A8%AD%E5%A5%97%E4%BB%B6%E7%AE%A1%E7%90%86%E8%88%87%E5%80%8B%E4%BA%BA-bin-%E7%9A%84%E8%A8%AD%E5%AE%9A%E9%A0%86%E5%BA%8F/" data-link-title="macOS 新機基礎建設：套件管理與個人 bin 的設定順序" data-link-desc="重灌或換機後底層基礎建設的依賴順序，免得後面工具裝不起來或路徑互相找不到。">PATH 設定見新機基礎建設</a>），<code>mole</code> 跟 <code>~/.local/bin</code> 底下的腳本才解析得到。少了這層，Kando 走 <code>/bin/sh</code>、沒有自訂 PATH，會找不到指令。</li>
<li><strong><code>; exec zsh</code></strong>：腳本結束後把視窗留在一個互動 shell。mole 退出或 disk-report 印完，畫面都還在，不會瞬間關掉。</li>
</ul>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">  <span class="nt">&#34;root&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">    <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;submenu&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">    <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;磁碟工具&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">    <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;hard_drive&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">    <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">    <span class="nt">&#34;children&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">      <span class="p">{</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">        <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;command&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">        <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl">          <span class="nt">&#34;command&#34;</span><span class="p">:</span> <span class="s2">&#34;/Applications/Ghostty.app/Contents/MacOS/ghostty -e zsh -lc \&#34;mole; exec zsh\&#34;&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">          <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl">          <span class="nt">&#34;isolateProcess&#34;</span><span class="p">:</span> <span class="kc">false</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl">        <span class="p">},</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl">        <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;mole 清理&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl">        <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;cleaning_services&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl">        <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">      <span class="p">},</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl">      <span class="p">{</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl">        <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;command&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl">        <span class="nt">&#34;data&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl">          <span class="nt">&#34;command&#34;</span><span class="p">:</span> <span class="s2">&#34;/Applications/Ghostty.app/Contents/MacOS/ghostty -e zsh -lc \&#34;disk-report; exec zsh\&#34;&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl">          <span class="nt">&#34;delayed&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl">          <span class="nt">&#34;isolateProcess&#34;</span><span class="p">:</span> <span class="kc">false</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl">        <span class="p">},</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl">        <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;硬碟空間報告&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">27</span><span class="cl">        <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;monitoring&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">28</span><span class="cl">        <span class="nt">&#34;iconTheme&#34;</span><span class="p">:</span> <span class="s2">&#34;material-symbols-rounded&#34;</span>
</span></span><span class="line"><span class="ln">29</span><span class="cl">      <span class="p">}</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl">    <span class="p">]</span>
</span></span><span class="line"><span class="ln">31</span><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl">  <span class="nt">&#34;shortcut&#34;</span><span class="p">:</span> <span class="s2">&#34;Control+Shift+KeyD&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">33</span><span class="cl">  <span class="nt">&#34;shortcutID&#34;</span><span class="p">:</span> <span class="s2">&#34;&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">34</span><span class="cl">  <span class="nt">&#34;centered&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">35</span><span class="cl">  <span class="nt">&#34;anchored&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="ln">36</span><span class="cl">  <span class="nt">&#34;hoverMode&#34;</span><span class="p">:</span> <span class="kc">false</span>
</span></span><span class="line"><span class="ln">37</span><span class="cl"><span class="p">}</span></span></span></code></pre></div><p>把上面這個物件加進 <code>menus.json</code> 的 <code>menus</code> 陣列（跟前面視窗那兩個並排，逗號分隔）。</p>
<p>兩個延伸調整：</p>
<ul>
<li><strong>純背景、不用看畫面的腳本</strong>：不必開 Ghostty，<code>command</code> 直接寫 <code>zsh -lc &quot;$HOME/.local/bin/某腳本&quot;</code> 就好，腳本在背景跑完無聲結束。</li>
<li><strong>若 <code>ghostty</code> 二進位路徑直接呼叫沒反應</strong>（Ghostty 已在執行時偶有此狀況）：改用 <code>open -na Ghostty --args -e zsh -lc &quot;mole; exec zsh&quot;</code>，強制由 <code>open</code> 帶起一個新視窗。</li>
</ul>
<hr>
<h2 id="我的自訂模式紀錄">我的自訂模式紀錄</h2>
<p>（待補：實際用了一段時間後保留與淘汰的項目、其他組選單的 JSON、踩到的坑。）</p>
]]></content:encoded></item></channel></rss>