本頁譯自英文文件。指令、識別名稱與範例保持原樣。執行環境 7.24.4 · SDK 2.6.7。 英文原文
終端機繪製
狀態:現行 範圍:TUI 終端機設定檔選擇、覆寫,以及視覺能力邊界 上次審閱:2026-10-03 負責人:AX Code TUI 維護者
AX Code 啟動時會依環境選擇終端機設定檔。設定檔控制終端機設定,而不是螢幕解析度或字型銳利度。
| 終端機環境 | 自動設定檔 | 識別方式 |
|---|---|---|
| Windows Terminal,包括 WSL 中的 Ubuntu | 進階 | 非空的 WT_SESSION,且沒有衝突的 TERM_PROGRAM |
| GNOME Terminal 與其他 VTE 主機 | 進階 | 正的十進位 VTE_VERSION、TERM=xterm 或 xterm-256color,且沒有衝突的 TERM_PROGRAM |
| Ghostty | 進階 | TERM_PROGRAM=ghostty 或 TERM=xterm-ghostty |
| macOS Terminal.app | 相容 | TERM_PROGRAM=Apple_Terminal |
| 未知終端機、SSH/mosh、tmux、screen 與 Zellij | 相容 | 保守退回 |
明確的 TERM_PROGRAM 優先於繼承的外層終端機標記。dumb、linux 與 vt100 這類受限的終端機類型也維持相容。只有 Ubuntu 或 WSL 身分並不會啟用進階設定檔。
進階設定檔使用替代畫面、原生繪製執行緒,以及終端機能力偵測。相容設定檔使用主畫面,沒有原生繪製執行緒。兩者都啟用滑鼠互動(見滑鼠擷取)與鍵盤協定協商,並以 60 FPS 為目標;實際幀率取決於工作負載與終端機。
當 Windows Terminal 的直接工作階段被識別時,任一設定檔都保留 24 位元視覺效果。色彩支援並不表示像素圖形或 Nerd Font 支援。進階模式不會改變字型、字型大小或顯示縮放。
滑鼠擷取
AX Code 預設擷取終端機滑鼠輸入,使 TUI 內的控制項可以按:頁尾捷徑標籤(快速模型、自主、沙盒)、對話框與自動完成選項、按一下以聚焦、拖曳選取,以及 TUI 內的滾輪捲動。擷取開啟時,終端機把滑鼠交給正在執行的程式,因此不會顯示終端機自己的右鍵選單與原生文字選取。許多終端機仍可用修飾鍵露出它們——通常是 Shift 加右鍵,有時是 Option 或 Alt——取決於終端機,以及中間是否有 tmux、screen 或 Zellij。
把 mouse 設為 false,寫在 tui.json 中,即可把滑鼠交還終端機:
{
"mouse": false
}
AX_CODE_DISABLE_MOUSE=1 會停用擷取,不論 tui.json 為何。它存在是因為專案層級的 tui.json 檔案是不受信任的輸入:儲存庫不得違背使用者意願,持續抑制終端機自己的滑鼠行為。此變數只會停用擷取;它絕不能強制開啟。
選擇退出是一種取捨,不是純粹的好處:
- 取回:終端機的原生右鍵選單、原生文字選取,以及複製/貼上。在相容設定檔中,終端機自己的回捲緩衝處理滾輪。
- 失去:頁尾捷徑標籤、按一下以聚焦、可按的對話框與自動完成選項、拖曳選取,以及——在進階(替代畫面)設定檔中,它沒有終端機回捲緩衝——TUI 內的滾輪捲動。那些動作仍可用鍵盤控制。
擷取開啟時,右鍵開啟的是 TUI 自己的內容功能表,而不是終端機的:在點擊位置出現小型的複製/貼上選單。畫面上有選取時啟用複製,文字輸入聚焦時啟用貼上——包括提示與對話框內的輸入。選單會在 Escape、任何按鍵、捲動,或在選單外點擊時關閉。一旦擷取關閉,改由終端機處理點擊。
覆寫設定檔
把 AX_CODE_TUI_ADVANCED_TERMINAL=1 設為要求進階模式,或把 0 設為要求相容模式。明確覆寫優先於自動偵測,包括遠端與多工工作階段。移除該變數即可恢復自動選擇。也接受 true/false、yes/no 與 on/off。
PowerShell,適用於目前 shell 及其子行程:
$env:AX_CODE_TUI_ADVANCED_TERMINAL = "1"
ax-code
# Use compatible mode if startup or rendering has problems.
$env:AX_CODE_TUI_ADVANCED_TERMINAL = "0"
ax-code
# Restore automatic selection.
Remove-Item Env:AX_CODE_TUI_ADVANCED_TERMINAL -ErrorAction SilentlyContinue
Bash 或 Zsh,適用於單次啟動:
AX_CODE_TUI_ADVANCED_TERMINAL=1 ax-code
AX_CODE_TUI_ADVANCED_TERMINAL=0 ax-code
若 shell 啟動檔匯出了該變數,請移除該匯出並執行 unset AX_CODE_TUI_ADVANCED_TERMINAL,以恢復自動選擇。
像素動畫
開場與結束動畫只有在繪製器確認 Kitty 圖形、有效像素尺寸、本機 TTY、替代畫面,且沒有多工器時才使用像素。缺少能力或圖形失敗時使用文字退回。自動進階模式不會繞過這些檢查。
所有像素動畫幀——Digital Code、Foliage 與地標場景——都限制在 1920x1080。這些動畫幀以 20 FPS 的排程更新,與繪製器的 60 FPS 目標分開。預覽見 TUI 開場與結束動畫。
已確認支援 Sixel(且沒有 Kitty 圖形)的 Windows Terminal 工作階段會顯示一幀靜態 Sixel 啟動畫面,限制在 640x360 與 256 KiB,而不是文字退回。AX_CODE_SIXEL_SPLASH=0 會停用它;=1 允許任何 Sixel 終端機顯示它(測試路徑)。結束清理會用覆蓋層背景重繪啟動畫面區域,因為 Sixel 沒有影像 id 刪除。
Windows Terminal 字型
AX Code 無法更改終端機字型。檔案類型圖示(Nerd Font 私用區字形)只有在安裝修補過的字型時,才會在 Windows Terminal 中繪製。建議字型是 Cascadia Code NF:安裝它,然後在設定 > 設定檔 > 外觀 > 字型中把它設為設定檔字型。一次性的應用程式內提示會把 Windows Terminal 使用者指向此設定;圖示已經能繪製,或 AX_CODE_NERD_FONT=0 選擇退出時,它絕不會顯示。