Windows Terminalで背景を透過させる


こんにちは,yourilです.
Windows Terminalで色々設定して遊んでいたところ,背景の透過でハマったのでメモとして残します.

TL;DR

Windowsの設定 -> 個人用設定 -> のところで透明効果がオフの場合,Windows Terminalの背景の透過が効かないので,透過させたい場合はオンにする.

Windows Terminalの設定方法

Microsoft Storeからインストールするだけなので,インストール方法は省略します.
Windows Terminalの設定はsettings.jsonというJSONファイルに直書きで行います.
Windows Terminal上でCtrl ,で開けます.
詳しい設定内容はMicrosoftのドキュメントに書かれているので,ここを参考にします.
キーバインドの変更や背景に好きな画像を設定できたりと,カスタマイズ性は高いと感じました.

ハマったこと

アクリルの設定という項目があり,いわゆる背景を透過させる機能ということで,試しに設定してみました.
profiles -> list -> [対象シェルのプロファイル]に以下を追記します.

settings.json
            {
                "guid": "{hogehoge}",
                "name": "fugafuga",
                "useAcrylic": true,
                "acrylicOpacity": 0.5
            }

これで背景が透過して後ろのソフトの画面が見えるはず......なのですが,何故か見えず.
色々原因を調べていると,githubのIssuesで以下の文言を発見(原文ママ).

Also make sure you actually have transparency effects enabled in Windows itself
(under the Colours section of the the Personalisation settings).

Windows自体の透明効果を有効にしろ,とのこと.どこのことを言っているのかというと...

上図の赤枠で囲っている部分です.
デフォルトでオンだったかどうかも覚えていないですが,恐らくWindowsの初期設定時に自分でオフにしたような気がします.実際,参照していたMicrosoftのドキュメントの説明にも特に書かれていなかったので,この設定の存在そのものが盲点でした.
これをオンにしたことで,以下のように無事に(?)背景の透過が効くように......

......何か思っていたのと違う(背後にQiitaの本記事を置いています).
MacのiTerm2の透過のように,背後のウィンドウの文字がうっすら読めるのかと思いましたが,どうもそうではないようです.
透明度をMAXにしても,背後のウィンドウのぼんやり具合が強くなるだけで,とても文字は読めませんでした.
ここまで苦労して設定できたものの,これならTerminalの背景に画像を表示させた方がまだ良さそうです......
ちなみに背景画像は透明度(明るさ)が指定でき,こちらはとてもきれいに表示されていました(背景画像と文字色の組み合わせを気にする必要はありますが).

終わりに

WSL2が正式にリリースされたので,Ubuntuを入れて色々と遊んでいました.
WSL2自体は既に色々記事が出ているので特に困ることなく設定できましたが,操作用のTerminalがデフォルトだと貧弱なのでWindows Terminalを試したところ,上記のところでハマってしまいました(他のアプリを透過させる理由は特に無いので,初期設定時にオフにしたあと記憶からも消える).
JSON直書きの設定はVSCodeならプロパティ名を補完してくれるので,ドキュメントをそれほど真面目に見なくても何となく書けたりします.
設定の反映も保存と同時に行われるので,カスタマイズはとてもやりやすいと感じました.

最後まで読んで頂きありがとうございました.