はじめに
ターミナルエミュレーターのGhosttyにはCustom shaderという機能があるらしい。
glslという拡張子のファイルを設定ファイル(.config/ghostty/config)に読み込むだけで見た目がかっこよくなるらしい。せっかくGhosttyを使っているのだから設定してみよう。
参考リポジトリ
人気リポジトリが3個くらいあるようだった。
Quote
- GitHub - 0xhckr/ghostty-shaders: A repository containing many free shaders to use with ghostty (the terminal)
- GitHub - sahaj-b/ghostty-cursor-shaders: Custom cursor shaders for ghostty (trails and ripple/pulse effects)
- GitHub - KroneCorylus/ghostty-shader-playground: Personal space for learn and develop shaders
3番人気のリポジトリはローカルにcloneするとプレビューを見ながら比較できるようになっていたのでここから選ぶことにする。

このリポジトリのうち、WIP.glslを使用することにした。このglslのファイルを設定ファイルの何処かに保存しておく。
設定する
設定ファイルに下記のように一行加える(pathは一例)。
custom-shader = ~/dotfiles/ghostty/shader/WIP.glsl
すると、下のようになる。

shaderは複数重ねがけすることもできるようだが、重くなりそうなのでこれだけにしておく。
おわりに
Ghosttyのcustom shader機能を使うことで、ターミナルの見た目を手軽にカスタマイズできた。カーソル追従のエフェクトは視覚的にも面白く、作業中のカーソル位置が分かりやすくなるという実用的な効果もある。
shaderファイルは自分で作成することもできるようなので、glslを学んでオリジナルのエフェクトを作ってみるのも良いかもしれない。