Plugin Widget
Plugin 宣告它要哪些控制項,排版由主程式決定。這是寫 Plugin 介面的建議方式。

為什麼不是 Plugin 自己畫
因為 Plugin 不知道、也不該知道自己會被放在多大的面板裡、終端機版還是視窗版、 字有多寬。它只宣告「我要一個按鈕、一個核取方塊、一個 32 列的數值清單」, 主程式把它擺進去——同一份宣告在兩個版本都能用,而且面板縮小時會依序隱藏 標了「可省略」的控制項,而不是被裁掉。
視窗版的 widget 全部自繪(沒有任何系統原生控件),外觀與行為和終端機版對齊。
操作
Tab 在控制項之間移動子焦點,Space/Enter 觸發,Esc 把輸入權交還指令列。
掛上一顆 Plugin
plugin switch widget_demo @p0@p<N> 不可省略——不指定面板的話它會掛到別的面板上,而被你看著的那一個
會顯示「no plugin mounted」。
Plugin 失敗時
Plugin 載入失敗(init 或 probe 失敗)或執行中崩潰時,面板不會消失:
- 標題尾端出現
[FAILED](視窗版為紅色),例如p1 PLUGIN · it6616 [FAILED];面板太窄時,先捨去 Plugin 名稱、再捨去PLUGIN,[FAILED]最後才會被擠掉。 - 已宣告的控制項變灰,不再回應。原因寫在 Log 裡,
plugin指令也會列出。 - 視窗版:標題列右端多一顆 ↻,點它就對這個面板執行
plugin restart,不會跳確認框。面板窄到標題放不下PLUGIN [FAILED](Canvas 面板的PLUGIN CANVAS名稱較長,會先縮成[FAILED])時,這顆鈕會整個隱藏。 也可以用選單Plugin > Restart plugin on panel N(作用於目前有焦點的面板)。 - 終端機版:標題只有
[FAILED]標記,沒有按鈕;打plugin restart @p<N>。
重啟會卸載後把同一顆 Plugin 掛回同一個面板,再走一次 init、probe;Plugin 正常運作時也可以用同一個指令(或選單)手動重新載入。
終端機版
