Skip to Content
選單View

☰ → View

外觀

Theme 是子選單,游標停在某個主題上就先預覽,點下去才真的套用;離開子選單、 按 Esc、或整個選單被關掉都會還原。六種主題(依選單順序):github-dark、 dracula、nord、mono-dark、github-light、nexus-hud——只有 github-light 是亮色,其餘五種都是暗色。終端機版:theme <名稱>,六種都能切。

字級

Font size 也是子選單,7 個字級可選:8/9/10/11/12/14/16 pt, 目前的字級打 ●。這一項只有視窗版有,沒有對應指令——終端機版的字型是終端機 模擬器在管的。

不開選單也能換:按住 Ctrl 捲滾輪、或 Ctrl+=/Ctrl+-(數字鍵盤的 +/- 也可以) 放大縮小一級,Ctrl+0 回到預設的 10 pt。有對話框或選單開著時不作用。

Log 字型

Log font... 只換 Log 面板訊息列的字形,不影響格線與其他面板。對應指令 logfont [<字型>] [<pt>],只有視窗版接受——終端機版沒有對應,它的字型是 終端機模擬器在管的。

Log 等級過濾

Log level filter... 逐等級勾選要顯示哪些訊息。

Log level filter 浮動視窗,逐等級的核取清單
上下鍵移動、Space 勾選、Apply 套用

終端機版:log <等級清單>。

Log 解碼

Log decode... 打開一個小視窗,選 On 或 Off,按 Apply 套用。

開啟後,wr、set、clr 寫入成功時,如果目標暫存器在目前載入的 regdef 裡有定義, Log 會在那筆寫入下面多一行,列出這次真的改變了的欄位,有列舉名稱的直接顯示名稱:

WR SUCCESS: Addr 0x58 Bank 0x00 Offset 0x10 ... → PWR_EN=1 MODE=HDMI

沒有列舉名稱的欄位,1 位元的印 0 或 1,更寬的印十六進位,例如 GAIN=0x3。

  • 沒載入 regdef、或那個位址沒有定義時,不會多出任何一行。
  • 位址超過 0xFF 的寫入(自動切 bank,例如 wr 0x110 ...)一樣會解碼,依切換後的 bank 查定義。
  • 暫存器有 1.2 的 view 條件、而條件暫存器目前沒有讀過(讀不到)時,那個暫存器不解碼,不會用預設欄位猜。
  • rd 不解碼;wr16 與 16-bit 位址的裝置也不解碼。
  • 一次寫多個 byte 時,只解碼前 4 個,每個暫存器一行,前面標 [0x..]。
  • 匯出的 .txt 與 CSV 也會帶上這一行(CSV 併在 msg 欄)。
  • 這個設定會記住,下次啟動仍然有效。

終端機版:log decode on/log decode off;只打 log decode 會顯示目前狀態。

面板型別

Panel type for panel N 是子選單,列出這個面板可以顯示的型別,目前的型別打 ●。沒有任何面板拿到焦點時整項是灰字,右邊寫 no focused panel。 終端機版:layout @p<N> <型別>,例如 layout @p0 reg_table;可選的型別見 面板總覽。

面板自己的右鍵選單,以及版面配置器裡的面板型別清單,用的是同一種串接式彈出 視窗元件,行為一致。

版面配置器

F9 開啟。一頁就能完成一個分頁的設定:版面、每個面板掛哪顆 Plugin、I2C 位址與 Offset 寬度、Dongle、bank 設定(暫存器面板)、UART 參數(UART 面板),以及影響所有 分頁的 Regdef 檔。

F9 開啟的版面配置器浮動視窗,上方是版面,下方是這個分頁的設定
F9:版面配置器

操作方式:

  • F6 換選中的區域;Tab 依序走過版面欄位(按四次進入下方的設定段)。
  • 左右鍵切換下拉選項;文字欄位直接打字,第一個字會取代原本的值。
  • 右欄可以用滾輪捲動。
  • Regdef(左欄 ALL TABS)用 Browse... 選檔,或選 None 清除;它套用到所有分頁。

選到暫存器面板或 Plugin 面板時會出現位址、Offset 寬度、Dongle 與 bank 設定(Plugin 面板的 bank 欄位唯讀);選到 UART 面板時會出現序列埠參數。

版面配置器的設定段,顯示位址、Offset、Dongle 與 bank 欄位
暫存器面板的設定
版面配置器的設定段,顯示 UART 序列埠參數
UART 面板的設定

按 Enter(或 Apply)才會套用;Esc 或再按一次 F9 放棄,草稿不會保留。

套用時分兩種情形:

  • 設定本身有誤(例如參數不合法):全部還原,對話框保持開啟,出錯的欄位標紅並寫出原因,鍵盤焦點直接跳到第一個出錯的欄位。
  • 硬體還沒接好(Plugin 偵測不到、Dongle 沒插、序列埠不存在):照常套用,對話框關閉,狀態列提示哪些項目還沒就緒;Plugin 載入失敗時([FAILED]),面板標題會出現 ↻ 鈕可重試;Dongle 或序列埠不存在,則接上後再套用一次。
清空主 IC 位址後按套用,欄位標紅並顯示原因,對話框仍開著
設定有誤:紅框標出欄位,焦點移到該欄,對話框不關閉

已知限制:只剩一個主 IC 的分頁,主 IC 的位址不能清空;Offset 寬度要先在指令列用 mount 綁定之後才能改。

浮動面板與具名版面(僅視窗版)

視窗版的面板可以從鋪滿的版面浮起來,疊在其他面板上面:拖面板標題列的空白處浮起、 移動;拖到別的面板邊緣或視窗外緣會顯示放開後的落點預覽,放開就停靠;八個縮放把手 調大小;Ctrl+Shift+Z 放大/還原焦點面板。浮動面板與鋪底面板合計最多 64 個, 最後一片鋪底面板不能浮起。

也可以用指令操作(目標 @p<N> 省略時是焦點面板):

指令作用
layout float [@p<N>]浮起面板
layout dock [@p<N>]把浮動面板停靠回浮起前的位置
layout max [@p<N>]放大面板;已放大則還原
layout lock/layout unlock鎖定/解除鎖定版面(鎖定時擋標題列拖曳、縮放把手與分隔線拖曳,不擋指令與 F9)
layout save <名稱>把目前分頁的版面(鋪底+浮動面板)存成具名版面;同名覆寫
layout load <名稱>把具名版面套用到目前分頁(鋪底與浮動面板一起換掉)
layout delete <名稱>刪除具名版面
layout list列出已存的具名版面
  • 名稱是指令名稱後面的整行,可以含空白,最長 23 個位元組,不能和內建 preset 同名;最多存 16 個,滿了要先刪一個。
  • float/dock/max/load 在 F9 或其他浮動視窗開著時不會執行,先關掉再下。
  • 具名版面存在 config.ini,所有分頁共用;套用只影響目前分頁。載入後這個分頁的版面標籤是空的(因為它已不是內建 preset)。
  • 具名版面裡的浮動面板清單若損壞,layout load 只套用鋪底版面並在回應中說明,不會失敗。

在版面配置器(F9)裡:

  • 左欄 PRESETS 底部的 Save as... 與 Load... 並排。Save as... 把目前草稿(含浮動面板)存成具名版面;Load... 開清單選一個載入,只換掉草稿,按 Apply 才生效、Cancel 全部作廢。清單中 Esc 或點方塊外會回到版面配置器。
  • 右欄最下方的 FLOATING 列出目前的浮動面板,每列右端的 Dock 在草稿上把它停靠回去。若草稿剛套用過內建 preset,Apply 會清空浮動面板,標題改為 FLOATING (cleared on Apply),不給 Dock。
  • 上方 PREVIEW 會把浮動面板的外框疊畫在鋪底版面上。
  • 面板數(含浮動面板與分頁組內的面板)已達 64 時再切分會被擋下,提示顯示在按鈕列左側。

已知限制:F9 沒有刪除或重新命名具名版面的按鈕(用 layout delete,或刪掉再存);終端機版沒有浮動面板與具名版面。

分頁組(僅視窗版)

幾個面板可以疊成一個分頁組:它們共用同一塊版面位置,同一時間只顯示其中一個(作用中分頁),其他分頁留在背景,資料與連線照常運作(例如背景的終端機面板仍然連著)。分頁組的內容跟著版面一起存進 config.ini,也會被具名版面存取。

分頁組的作用中面板,標題列左側是分頁列,取代原本的標題文字:

  • 每個分頁顯示面板名稱;作用中的分頁以強調色粗體顯示、帶圓角底,面板取得焦點時底下有一道焦點色細線。作用中面板原本標題裡的即時資訊(例如 UART 的埠名、終端機的大小與 [REC]、Plugin 的 [FAILED])會跟在作用中分頁後面,空間不夠時最先被省略。
  • 組內有兩個以上同型別的面板時,分頁名稱後面會多一個 p<N> 徽章,用來分辨是哪一個(N 就是指令裡的 @p<N>);型別不重複時不顯示。
  • 每個分頁右側有一個 x:只在作用中分頁或滑鼠停在其上的分頁才畫出來,位置固定,標籤不會跳動。
  • 分頁後面依序是 [+](新增分頁)與 [▾](分頁太多放不下時出現,列出被收起的分頁)。原本標題列右側的按鈕與標示(例如 REG 表格的 chip、Log 的濾鏡)仍在,只是整體往右讓出分頁的位置。
  • 滑鼠停在分頁上,狀態列會顯示 @p<N> 與該分頁的標題。

滑鼠操作

動作作用
點分頁按下就切換成作用中分頁
拖分頁左右移動在分頁列內重排,放開時落實;拖曳中會畫出插入位置,Esc 取消
把分頁拖出分頁列把這個分頁從組裡取出,變成浮動面板,接著照浮動面板的方式移動、停靠
把分頁拖到別的面板中央,或另一個分頁組的分頁列併入那一組;拖到分頁列上時插在游標指的位置。放開前會顯示落點預覽
點 x關閉分頁。第一次點到(或滑鼠在 x 上停留片刻)會先「武裝」x(變亮),再點一次才關;以放開滑鼠鍵為準
按中鍵直接關閉分頁(放開時觸發)
點 [+]開型別選單,選一個型別就在這一組新增分頁;不合法的型別灰顯(例如這個分頁已有終端機、面板總數已達 64)
點 [▾]列出被收起的分頁,選一個就切過去
右鍵點分頁選單:關閉、移出分頁組、浮起此分頁、浮起整組(Float group);浮動組則是停靠整組(Dock group)
  • 關閉的分頁如果是連線中(或正在連線)的終端機,或已掛載 Plugin 的面板,會先跳出確認;其他分頁直接關閉。
  • 版面鎖定(layout lock)時,拖曳重排、拖出與併入都被擋下,點擊切換、關閉與選單照常可用。
  • [+]、[▾]、x 都是放開滑鼠鍵才觸發;按著拖出按鈕範圍再放開則取消。

鍵盤

Ctrl+Tab 切到組內下一個分頁,Ctrl+Shift+Tab 切到上一個(最後一個再往後會回到第一個)。只在焦點面板屬於某個分頁組時才生效;焦點不在分頁組時,這兩個鍵維持原本的行為。文字欄位正在編輯時,會先提交內容再切換;下拉清單展開時會先收起再切換。Plugin 若自己處理這個組合鍵,會比分頁切換優先收到。終端機(TERM)或 RAW 模式的 UART 面板只要屬於分頁組,Ctrl+Tab 與 Ctrl+Shift+Tab 也會用來切換分頁,不會送給遠端。

浮動分頁組

整個分頁組可以浮起來變成浮動面板,浮動組一樣有分頁列,操作和鋪在版面上的分頁組相同:點分頁切換、拖曳重排、拖出分頁、[+]、[▾]、x、右鍵選單與 Ctrl+Tab。

  • 整組浮起:按標題列的浮起(窗口)鈕、在標題列空白處按住拖曳、layout float,或右鍵點分頁選 Float group。
  • 整組停靠:按浮動組的停靠鈕、layout dock,或右鍵點分頁選 Dock group;整組回到浮起前的位置。
  • 只動單一分頁:layout float @p<N> 把那個分頁浮起成獨立面板;layout dock @p<N> 只把浮動組裡那個分頁拆出來放回原位。
  • 併入浮動組:把分頁拖到浮動組的分頁列(插在游標指的位置)或浮動組的中央,就會併入那一組;把整個分頁組拖到另一組(鋪底或浮動)的中央,整組的分頁一起併入,原本作用中的分頁成為作用中分頁。
  • 拖出:把浮動組裡的分頁拖出分頁列,會變成新的浮動面板。
  • 浮動組縮成只剩標題列(收合)後,切換分頁仍維持收合;浮動組的尺寸下限依目前作用中分頁的型別決定,切換分頁時視窗可能被撐大。
  • 版面鎖定(layout lock)時拖曳被擋下,浮起、停靠與選單項目照常可用。

空間不夠時

面板很窄或分頁很多時,分頁列依序這樣擠壓:先把標題右側的專屬按鈕與標示收掉(連最精簡的形態都放不下才整段省略);再縮短分頁名稱,結尾加上 …,每個分頁至少保留 4 格;仍然放不下就出現 [▾],把後面的分頁收進選單。作用中分頁永遠看得到,[+] 也優先保留。極窄的面板會再依序放棄 [▾]、作用中分頁、[+]。

指令

分頁組也可以完全用指令操作,回應文字會列出整組(* 標出作用中分頁),例如:

Layout: p9 active (tabs: p3 p9* p12)
指令作用
layout stack @p<N> @p<M>把面板 N 併入面板 M 的分頁組,成為作用中分頁;M 原本單獨一個面板時會建立新組。兩個 @p 都必須指定
layout unstack [@p<N>]把分頁移出所屬的組。能回到原位時就回到原位,否則切開所屬組的版面位置,放在它旁邊;省略 @p 時是焦點面板
layout tab add <型別> [@p<N>]在面板 N 所在的組新增一個指定型別的分頁(面板 N 原本單獨時會建立新組),並成為作用中分頁;省略 @p 時是焦點面板所在的組
layout tab close [@p<N>]關閉面板 N 這個分頁;省略 @p 時關閉焦點組的作用中分頁。不會要求確認;組只剩一個分頁時組就撤銷
layout tab next [@p<N>]切到組內下一個分頁,最後一個再往後會回到第一個;省略 @p 時是焦點面板所在的組
layout tab prev [@p<N>]切到組內上一個分頁,第一個再往前會回到最後一個
  • 目前的限制:單一面板(還沒組成分頁組)的標題列沒有 [+],要建立分頁組請把面板拖到另一個面板的中央,或用 layout tab add/layout stack;F9 版面編輯器目前只能唯讀看到浮動組(面板名稱後面標示 +N tabs),組的併入、拆開與改順序之後的版本才會提供。
  • 每個分頁(Tab)最多一個終端機(TERM)面板,分頁組裡的終端機也算在內;鋪底、浮動與背景分頁的面板合計最多 64 個。
  • 被併入的面板在組內只顯示作用中的那一個;背景分頁用 @p<N> 仍然定位得到(例如 mount、layout max @p<N> 會先切到該分頁再放大)。
  • layout float(不指定 @p)會把焦點所在的整個分頁組浮起;layout float @p<N> 對分頁組裡的成員,只把那一個分頁移出組再浮起來。layout dock(不指定 @p)把整個浮動組放回原位;layout dock @p<N> 只把浮動組裡那一個分頁拆出來放回原位,其餘分頁留在浮動組。分頁沒有記住自己的原位時,會用整組原本的位置。
  • layout stack @p<N> @p<M> 一律只搬指名的那一個分頁;整組併入另一組只能用拖曳。M 可以是浮動組。
  • 組裡面的面板不能用 F9 的刪除鈕單獨刪掉,改用 layout tab close 或 layout unstack。
  • 這些指令在 F9 或其他浮動視窗開著時不會執行,也只作用於目前顯示的分頁(Tab),終端機版沒有分頁組。

釘選到側欄

指令作用
layout pin [@p<N>] [top|bottom|left|right]把面板釘進側欄:面板從版面收起,其餘面板縮到側欄條以內(該邊留出一條空白)。省略邊時選離面板最近的邊,省略 @p 時是焦點面板。鋪底、浮動、分頁組成員(作用中或背景)都能釘;最後一個鋪底面板不能釘
layout unpin @p<N>把面板放回釘上前的位置(原本在分頁組裡就回到那一組並成為作用中分頁,原位置已不存在時放在版面最外緣)。必須用 @p 指定:收起的側欄面板不會是焦點面板
layout window [@p<N>]把面板搬進新的獨立視窗(最多 8 個):獨立視窗有自己的版面、浮動面板與指令列,沒有 Tab 列、標頭列與狀態列,釘在目前的 Tab。分頁組成員代表整組;側欄裡的面板要先 layout unpin
layout window close在獨立視窗裡下:關閉它並把面板併回主視窗(只剩拖出時那個面板時回原位,否則整個版面停靠到主視窗靠近它的那一邊)。關閉鈕與 Alt+F4 相同;結束程式不算關閉,下次啟動會還原

釘選會寫進設定檔,重新啟動後仍在。釘選中的面板仍在背景運作,Plugin、UART 與終端機的綁定都保留。釘選中的面板不能再浮起、停靠、放大或併入分頁組,要先 layout unpin。這兩個指令在 F9 或其他浮動視窗開著時不會執行,終端機版沒有側欄。

側欄的操作

面板釘進側欄後,面板區的邊緣會留一條標籤條,每個被釘的面板是一枚標籤。

  • 滑出:游標停在標籤上約 0.3 秒,面板會滑出疊在版面上;游標離開約 0.5 秒後收回。
  • 固定展開:點標籤,或點滑出面板的內部,面板就固定展開,不會因游標離開而收回。再點同一枚標籤、按 Esc 或點面板外面才收回。
  • pin 鈕:展開的側欄面板的窗口鈕列有 unpin 鈕,一鍵放回原位;一般面板的窗口鈕列(放大、浮起旁)有 pin 鈕,一鍵釘到最近的邊。
  • 提示框:已有面板固定展開時,游標停在其他標籤上會顯示該面板的名稱。
  • 鍵盤:F6/Shift+F6 的焦點循環可以停到展開中的側欄面板;收起的側欄面板不在循環內。焦點離開時展開的面板會收回。
  • 拖曳:拖標籤可以換順序、換到別的邊、拖回版面(取消釘選)或拖成浮動面板;把面板拖到視窗最外緣的一條就是釘選;展開面板靠版面一側的邊有把手,拖動可調整滑出的深度。版面鎖定時標籤只能點擊,不能拖曳。
  • 動畫:在 D2D 繪圖模式且特效為完整時,面板以約 0.12 秒滑出與收回,收回途中游標回到標籤上會從目前位置滑回;GDI 繪圖或特效關閉時直接出現與消失。

獨立視窗(僅視窗版)

面板可以搬出主視窗,變成獨立的視窗(整個程式最多 8 個獨立視窗,各分頁合計),方便放到另一個螢幕。獨立視窗有自己的版面、浮動面板與指令列,沒有 Tab 列、標頭列與狀態列,固定顯示建立它的那個分頁。

動作作用
拖面板標題列的空白處,拖到主視窗外游標一離開主視窗就建立獨立視窗,視窗跟著游標走(游標維持在你抓住的那一點);放開就留在那裡
拖著時按 Esc取消:新視窗消失,面板回到拖曳前的位置
把面板拖到另一個 nexus 視窗的停靠區停靠進那個視窗(拖到葉的邊緣、中央或分頁列,與視窗內停靠相同,放開前有落點預覽)
拖到另一個 nexus 視窗上、不在停靠區放開後變成那個視窗裡的浮動面板
獨立視窗只有一個面板時拖它的標題列移動整個視窗;拖進別的視窗的停靠區就併進去
拖獨立視窗本身的標題列(Windows 外框)一般的移動與 Snap;放開在別的視窗的停靠區才併入,其他地方都留在原地
獨立視窗的關閉鈕、Alt+F4 或 layout window close把面板併回主視窗(只有拖出時那一個面板時回原位)
  • 已經開了 8 個獨立視窗(各分頁合計)或建不出視窗時,這次拖曳改成主視窗裡的浮動面板,並在回應列說明。
  • 主視窗最大化佔滿整個螢幕時拖不出去,可以改用 layout window。
  • 版面鎖定(layout lock)時,面板的拖出與停靠都被擋下。結束程式不算關閉,下次啟動會還原獨立視窗;原本的螢幕不在了時,會嘗試把視窗放到看得到的螢幕上,位置可能和原本不同。
  • 給 AI 工具(MCP)的 get_status 會標出每個面板在哪個視窗。

回復預設

選單項目範圍
Reset layout (this tab)只回復目前這個分頁
Reset layout (all tabs)全部分頁

回復預設是使用者明示的動作,所以會寫回設定檔——和「硬體暫時不在線就自動 降級」那種不持久化的狀況不同。

版面比例

兩條分割線的比例可以調,但限制在 25%–75% 之間,所以單一面板不可能佔滿整個 視窗。終端機版:layout <水平%> <垂直%>。