【Alacritty】ダークモードでウィンドウの境界線が消える問題、あまりにも単純な結末だった

【Alacritty】ダークモードでウィンドウの境界線が消える問題、あまりにも単純な結末だった

導入

フルリモート環境での開発効率を極限まで高めるため、M3 MacBook Airのターミナル環境を「Alacritty + tmux」という最速・最小構成に落ち着かせた。
タイトルバーの装飾も消し去り(decorations = "Buttonless")、完璧なミニマリズムを手に入れた……はずだった。

しかし、ここで一つの問題が発生する。
ダークモードの海で、Alacrittyの境界線が完全に迷子になる」のだ。

迷走の始まり(ターミナルハックの沼へ)

背景が純黒(#000000)のAlacrittyの後ろに、同じくダークモードのブラウザやエディタが重なると、どこからどこまでがターミナルなのか全くわからない。

この境界線を取り戻すため、私はAIアシスタントと激しい議論を交わしながら、あらゆるハックを試みた。

  • JankyBordersの導入検討: 「特定のアプリだけに1pxの枠線を強制描画する」という外部ツールに手を出しそうになる。
  • tmuxでの擬似タイトルバー作成: tmuxのステータスバーを一番上に持ってきて境界線代わりにしようとしたり、pane-border-status bottom で下に線を引こうと試行錯誤。
  • 背景色の微調整メソッド: 「Alacritty側の背景を #050505 の極暗グレーにして padding を取り、内側をtmuxの純黒で塗りつぶせば、padding部分が1pxの枠線になるのでは!?」という天才的なひらめき(ハック)まで飛び出す。

衝撃の結末(灯台下暗し)

試行錯誤の末、設定ファイルを整理していた時にふと気づいてしまった。

あれ? 色の設定全部消しても、なんか綺麗な1pxの線が出てない?

そう、原因は複雑な設定でもなんでもなかった。
過去に設定していた「透過(opacity = 0.9)とすりガラス効果(blur = true」がすべての元凶だったのだ。

最近のmacOSは、ダークモード時にウィンドウが同化しないよう、OS側で標準の「1pxの極細ハイライトライン」をこっそり描画してくれている。
しかし、透過やすりガラス効果をオンにしていると、そのエッジ部分が背景に溶け込んでしまい、境界線が見えなくなってしまう仕様だったのだ。

結論

[window]
decorations = "Buttonless"
opacity = 1  # ← これを1(不透明)にするだけ!!!

[window.padding]
x = 5
y = 5

透過をやめて不透明にし、テキストが壁に張り付かないように心地よい padding を設定する。
たったこれだけで、macOS純正の美しい1pxラインと、息苦しくない余白を併せ持つ「最強のターミナル」が完成した。

まとめ

あれこれ外部ツールを入れたり、複雑な設定をこねくり回す前に、「自分が過去に書いた設定(opacity)がOSの標準機能を打ち消していないか」を疑うべきだった。
AIと一緒にハッカー気取りで大回りをしてしまったが、結果的に一番ミニマルで美しい alacritty.toml に辿り着けたので良しとしたい。
皆さんも透過設定にはご注意を。