顏色
關於終端機模擬中顏色的各種資訊。
Ghostty 模擬完整的 256 色調色盤,以及 5 種特殊顏色和 3 種動態顏色。
特殊顏色在被指定後,用於為具有特定樣式的儲存格著色——粗體、底線、閃爍、反轉和斜體。它們可以分別透過 OSC 4(索引 256 到 260,含端點)或 OSC 5(索引 0 到 4,含端點)查詢或變更。未指定時,會改用一般調色盤顏色。
動態顏色由終端機用於在不考慮儲存格自身樣式的情況下為其著色,例如選取、醒目提示等情境。它們也應在終端機初始化後由程式動態更新,這也是其名稱的由來。Ghostty 目前支援其中三種:前景色、背景色和游標顏色,分別透過 [OSC 10 到 12] 查詢或修改。
終端機中的每種顏色都用顏色表示法指定。這源自 xterm,它允許任何能被 X11 標準 XParseColor 函式解析的字串作為顏色。然而,由於 Ghostty 支援 X11 之外的平台,我們有自己的顏色解析器,相容但不保證與 xterm 完全一致,以下予以說明。
- 0x72 0x67 0x62 0x3A
- rgb:
- ____
- r
- 0x2F
- /
- ____
- g
- 0x2F
- /
- ____
- b
- 0x23
- #
- ____
- r
- ____
- g
- ____
- b
其中 r、g、b 各可以是 1 到 4 個十六進位數字,分別對應 4、8、12 或 16 位元顏色通道。
Note
使用
#語法時,每個通道必須具有相同位數的數字。此外,使用
#語法時,Ghostty 尚無法辨識 16 位元顏色通道。這是未來可能解決的限制。
另一種格式使用每個通道的數值強度,如下所示:
- 0x72 0x67 0x62 0x69 0x3A
- rgbi:
- ____
- r
- 0x2F
- /
- ____
- g
- 0x2F
- /
- ____
- b
其中 r、g、b 各是介於 0 與 1 之間的十進位數。
某些顏色也可以用名稱指定。可接受的名稱清單由實作定義,但 Ghostty 使用 X11 自身所用的
X 顏色名稱資料庫。顏色名稱對 ASCII 大小寫不敏感,即 red 與 RED
對應同一種顏色。