このページの本文へ

前へ 1 2 次へ

Windows Info 第229回

Windows Terminalのカスタマイズを研究【キーボード編】

2020年06月21日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

カラースキーマを変更する

 カラースキーマとは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で表示させたのが、以下の画面である。

作成したカラースキーマのGreenでcolortoolを起動したところ

 プロファイルにこのカラースキーマを使うように指示しておくと、グリーンモニターのような表示が可能になる(といっても見たことがない人もいるかもしれないが)。

 Windows Terminalは、設定GUIはないものの、カスタマイズの幅が広く、従来のconhostに比べると高機能になっている。GUI設定は、ユーザーには便利だが、作るのが面倒だし、開発途中で機能が安定しないと作り直しが発生しやすく、開発側の負荷が高い部分だ。しかも、設定はアプリのメイン機能には決してならないため、「やる気」を出させる要素も少ない。筆者などもできればあんまりやりたくない部分だと思っていて、ついつい手抜きになってしまう。

 そういう意味ではJSON化し、外部エディターに任せてしまうというのは、今後のアプリケーションでは主流になりそうな気もする。とりあえずはVS Codeでも入れて、JSONスキーマとJSON設定になれておくのもいいかもしれない。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン