夏真っ盛りのこの時期、屋外では水分や塩分取得に気を配りながら、屋内においては空調、扇風機、排熱状況も考えながらPCに向かう人も多いだろう。夜間の書斎部屋の一室、複数台のPCとプレイステーションを稼働しながら、節電よろしく控えめの空調と扇風機、新規購入したネッククーラーで"涼"を調整していた。ファンとプレートで首から上を冷却するネッククーラーは、かなり有効なアイテムであることを知ったが、やはりこの時期は灼熱が勝る。

クーラーの無い時代は、冷やし中華やざる蕎麦にそうめん、かき氷、スイカなどなど食卓でも"涼"を工夫していたし、風鈴の音や蚊取り線香の香りにもノスタルジックに"涼"を感じてしまう。そうえいば、色にも体感温度を変える効果があるそうだ。調べるとさまざまな論文が出てくるが、やはり寒色系は涼しく感じられるというから、夏の暖簾に青や水色が映えるのも納得である。アスファルトを見れば灼熱を感じるが、真っ青な空に白く膨らむ入道雲を見ると、"涼"を感じてしまう。

そうだPCにも清涼感を漂わせてみよう。

以前、作成したcontコマンドは、設定アクセシビリティ>コントラスト テーマを即座に開く。これを入力して、同画面を開きテーマの[編集]からオリジナルの色を用いたコントラストテーマが作成できる。

  • アクセシビリティからコントラスト テーマを開く

    アクセシビリティからコントラスト テーマを開く

  • [編集]からは、背景やテキスト、リンクなどの設定色を変えられるので、背景に爽快で涼しげな色を設定する

    [編集]からは、背景やテキスト、リンクなどの設定色を変えられるので、背景に爽快で涼しげな色を設定する

  • 名前を付けて保存でオリジナルコントラストテーマとして設定できる

    名前を付けて保存でオリジナルコントラストテーマとして設定できる

  • 再度、コントラストテーマから自身が作成したテーマ(涼)を選ぶと一気に涼しくなった気がするデスクトップ画面に

    再度、コントラストテーマから自身が作成したテーマ(涼)を選ぶと一気に涼しくなった気がするデスクトップ画面に

PowerShellの色を清涼にしたい

PowerShell 7以降では、ANSIエスケープコード(Wikipedia)が使える。$PSStyle(PowerShellv7.2以降)と入力すれば、おおよその色見本を俯瞰できるが、ここでは常時表示するプロンプトの色を変えてみたいので、

  • $PSStyleと入力するとANSIエスケープコードの色の概要を確認できる

    $PSStyleと入力するとANSIエスケープコードの色の概要を確認できる

PowerShell上でnotepad $PROFILEと入力すると開くプロファイルにprompt関数(Microsoft公式)にANSIエスケープコードを加えるとそれができる。たとえば、以下のように水色の`e[38;5;39mとロケーションを返す$executionContext.SessionState.Path.CurrentLocationを入れておくと


function prompt {
"`e[38;5;39mPS $($executionContext.SessionState.Path.CurrentLocation)> "
}

シンプルだが清涼感あるプロンプトになる

  • プロンプト関数に`e[38;5;39mを設定

    プロンプト関数に`e[38;5;39mを設定

プロンプト関数にカスタマイズを重ねている筆者の場合、以下のように末尾のreturnに`e[38;5;39mを追加してみたところ、


function prompt {

    # リアルタイム取得
    $C = (Get-Location).Path
    $U = $env:USERNAME
    $F = (ls).Count
    $T = (Get-Date -Format "HH:mm")
    $D = (Get-Date -Format "yyyy/MM/dd")
    $Temp = Get-Content "C:\Users\●●●\Desktop\log.txt" -Tail 1
    $Forcast = Get-Content "C:\Users\●●●\Desktop\temp.txt" -Tail 1

    # リアルタイム記号列
    $Realtime = "File:$F / $C / U:$U / T:$T / D:$D / 気温:$Temp / 週間予報:$Forcast"

    # SetPrompt で設定した固定パート
    $Fixed = $global:PromptText

    # 合成して返す
    return "`e[38;5;39m$Fixed $Realtime > "

}

  • カスタムしているprompt関数内にANSIエスケープコードを織り交ぜると気温表示も涼しげに

    カスタムしているprompt関数内にANSIエスケープコードを織り交ぜると気温表示も涼しげに

あくまで限られた環境でのカスタマイズなので、全部をブルーにはできないが、基本搭載機能だけでここまで涼しくできるとは思わなかった。ANSIエスケープコードの色合いや設定方法を研究すると、デフォルトのPowerShell環境でもかなり面白いビジュアルができるのではないだろうか。カスタマイズの醍醐味ともいえるビジュアルの変更は面白いものである。