カラースキーマを変更する
カラースキーマとは16色のカラーパレットとデフォルトの文字色(forground)、背景色(background)、カーソル色(cursorColor)が定義されたもの。ただし文字色、背景色、カーソル色は、プロファイル側でも定義できるため、デフォルト値である。
基本的には、カラースキーマはカラーパレットの選択に利用し、文字色などは個別のプロファイルで設定したほうが、プロファイルごとに文字色などを指定しやすいだろう。面倒でなければ、逆にプロファイルごとにカラースキーマを定義して文字色などを定義してもよい。
標準のカラースキーマは、すべてdefaults.json側にある。デフォルトで定義されているのは、以下の9種類である。
Campbell
Campbell Powershell
Vintage
One Half Dark
One Half Light
Solarized Dark
Solarized Light
Tango Dark
Tango Light
Campbell(キャンベル)といえばスープ缶か悪い宇宙人ぐらいしか思い浮かばないが、アメリカでは何か色の組合せを思い出させる名前なのだろうか? ただ、定義はいたって普通に16色が指定してあるだけだ。ただし、各色ともRGB値がどれもゼロにならない「中間色」である。たとえば「高輝度の赤」(brightRed)は、RGB値が「#E74856」になっている。これに対してvintageは、「純色」が指定してあり、brightRedは「#FF0000」である。
設定したカラースキーマを確認するには、Windows Terminal内で、colortoolを使うといいだろう(記事冒頭画面)。
colortoolは、本来は、cmd.exeで、カラーパレットを設定するアプリだが、Windows Terminal内で表現できる色の組合せを形式で表示してくれる。以下のURLに実行ファイルを含むzipファイルがあるので適当なフォルダーに解凍して使う。
●Color Tool
https://github.com/microsoft/terminal/releases?after=experiment-rel-windows-inbox
ここでは、グリーンモニターを想定してGreenというカラースキーマを定義してみた。
{
"name": "Green",
"foreground": "#00FF00",
"background": "#000000",
"selectionBackground": "#004f00",
"black": "#000000",
"red": "#002F00",
"green": "#003F00",
"yellow": "#004F00",
"blue": "#005F00",
"purple": "#006F00",
"cyan": "#007F00",
"white": "#008F00",
"brightBlack": "#4F8F4F",
"brightRed": "#5F9F5F",
"brightGreen": "#6FAF6F",
"brightYellow": "#7FBF7F",
"brightBlue": "#8FCF8F",
"brightPurple": "#9FDF9F",
"brightCyan": "#AFEFAF",
"brightWhite": "#BFFFBF"
},
緑一色だと16色の設定もちょっと苦労する。リストに挙げたのは現時点での設定だが、いまでも時々修正して使っているものだ。高輝度の8色は中間色として輝度を上げておき、通常輝度の8色は純色とするが、黒と違いが分かりにくい領域は使うのを避けている。ただし、黒のRGB値には#000000を定義している。前述のcolortoolで表示させたのが、以下の画面である。
プロファイルにこのカラースキーマを使うように指示しておくと、グリーンモニターのような表示が可能になる(といっても見たことがない人もいるかもしれないが)。
Windows Terminalは、設定GUIはないものの、カスタマイズの幅が広く、従来のconhostに比べると高機能になっている。GUI設定は、ユーザーには便利だが、作るのが面倒だし、開発途中で機能が安定しないと作り直しが発生しやすく、開発側の負荷が高い部分だ。しかも、設定はアプリのメイン機能には決してならないため、「やる気」を出させる要素も少ない。筆者などもできればあんまりやりたくない部分だと思っていて、ついつい手抜きになってしまう。
そういう意味ではJSON化し、外部エディターに任せてしまうというのは、今後のアプリケーションでは主流になりそうな気もする。とりあえずはVS Codeでも入れて、JSONスキーマとJSON設定になれておくのもいいかもしれない。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ












