色
ターミナルエミュレーションにおける色に関する各種情報。
Ghostty は完全な 256 色パレットに加え、5 つの特殊色と 3 つの動的色をエミュレートします。
特殊色は指定されると、太字・下線・点滅・反転・斜体といった特定のスタイルのセルを着色するために使われます。これらは OSC 4(インデックス 256〜260、両端を含む)または OSC 5(インデックス 0〜4、両端を含む)で照会・変更できます。指定されていない場合は通常のパレット色が代わりに使われます。
動的色は、セルが選択・ハイライトされたときなどに、セル自身のスタイルとは無関係にターミナルがセルを着色するために使います。また、ターミナルの初期化後にプログラムによって動的に更新されることを想定しているため、この名前があります。Ghostty は現在 3 つをサポートしています:前景色、背景色、カーソル色で、それぞれ [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 桁の 16 進数で、4・8・12・16 ビットの色チャンネルに対応します。
Note
#構文を使う場合、各チャンネルは同じ桁数でなければなりません。また、
#構文を使う場合、Ghostty はまだ 16 ビットの色チャンネルを認識しません。これは将来解決される可能性のある制限です。
別の形式では、各チャンネルの数値的な強度を使います:
- 0x72 0x67 0x62 0x69 0x3A
- rgbi:
- ____
- r
- 0x2F
- /
- ____
- g
- 0x2F
- /
- ____
- b
ここで r、g、b はそれぞれ 0 から 1 の間の 10 進数です。
一部の色は名前でも指定できます。受け付ける名前の一覧は実装定義ですが、Ghostty は X11 自身が使う
X 色名データベース を使用します。色名は ASCII の大文字小文字を区別せず、red と RED は同じ色を指します。