[[WezTerm]]は画像が、[[kitty]]はフォントが弱いというデメリットがあり、[[WezTerm]]や[[kitty]]ならではの機能はメリットにならない。また、[[Ghostty]]はv1.0がリリースされたばかりであり、今不足している機能も実装が進んでいることから将来性もある。時が問題を解決してくれそう。 ## 経緯 [[Windows]]から[[macOS]]への移行を行い、[[Windows Terminal]]の代わりとなる[[ターミナル]]を選ぶ必要があった。取り急ぎ、最近登場した[[Ghostty]]を利用していたが、他にも[[kitty]]や[[WezTerm]]といった選択肢があるため、どれがベストな選択かを見極めることにした。 ### 要件 以下をすべて満たすことが望ましい。 - [[kitty (プロトコル)|kitty]]プロトコルが使えること - [[Neovim]]で画像が開けること - ドキュメント内で画像が表示されること - サクサク動くこと - [[Cascadia Code Nerd Font]]が使えること - KEと親和すること - 背景画像を設定できること - 必要な操作があること - [[SSH]]ログインで動くこと - タブが見やすいこと - 表示が見やすいこと - 将来性があること [[Ghostty]]にはある程度満足しており、以下の不満点を解消できるかがポイント。 - 背景画像を設定できない - タブの色が見にくい - タブの横幅が長い - タブがリネームできない ## 提案内容 [[macOS]]の[[ターミナル]]として[[Ghostty]]を使用する。 ## 承諾した場合の結果 比較すると以下のようになる。 `?` になっているのは未調査。途中で切り上げたため。 | 要件 | Ghostty | WezTerm | kitty | | ----------------------------- | ------- | ------- | ----- | | Neovimで画像が開けること | ◎ | △ | ◎ | | ドキュメント内で画像が表示されること | ◎ | △ | ◎ | | サクサク動くこと | ◎ | ◎ | ◎ | | Cascadia Code Nerd Fontが使えること | ◎ | ◎ | ✗ | | KEと親和すること | ○ | ○ | ○ | | 背景画像を設定できること | ✗ | ◎ | ? | | 必要な操作があること | ◎ | ? | ? | | SSHログインで動くこと | ○ | ? | ? | | タブが見やすいこと | ✗ | ◎ | ? | | 表示が見やすいこと | ○ | ○ | ? | | 将来性があること | ◎ | ? | ? | ### WezTerm採用のメリット・デメリット - メリット - タブや背景画像を含む様々なカスタマイズが可能 - デメリット - **画像サポートが弱い** #### 画像左オートについて [[snacks.image]]ではドキュメント内に表示できない > wezterm Wezterm has only limited support for the kitty graphics protocol. Inline image rendering is not supported. > *[snacks.nvim/docs/image.md at main · folke/snacks.nvim](https://github.com/folke/snacks.nvim/blob/main/docs/image.md) * 画像リンクにカーソルをあわせれば[[フローティングウィンドウ (Neovim)|フローティングウィンドウ]]?に表示されるが、それが消えた後にその部分が描画されなかったり問題がある。また、[[snacks.picker]]で表示して開いた時も、縮小された画像と重なってしまう。(これはそこまで実害なさそう) ### Kitty採用のメリット・デメリット - メリット - 画像サポートは完璧 (さすが本家) - 設定もそれなりにカスタマイズできそう (調べていないけど) - デメリット - **フォントが等幅フォントしか使えない** - 日本語が縦方向に潰れた印象を受けてしまう #### 等幅フォント以外のフォントサポートについて サポートの予定もなさそう。 > kitty achieves its stellar performance by caching alpha masks of each rendered character on the GPU, and rendering them all in parallel. This means it is a strictly character cell based display. As such it can use only monospace fonts, since every cell in the grid has to be the same size. Furthermore, it needs fonts to be freely resizable, so it does not support bitmapped fonts. > *[Frequently Asked Questions](https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font) * ### Ghostty採用のメリット・デメリット - メリット - フォント・画像ともにサポートが安定している - v1.0が出たばかりで勢いがある (不安定さというデメリットもある?) - デメリット - **背景画像やタブのカスタマイズができない** - **v1.1.3時点での話であり今後サポートされる予定がある** - [[📝Ghosttyで背景画像を設定したい]] - [[📝Ghosttyでタブの名前を変更したい]] - これはキツそうかも... - [[📝Ghosttyでタブの横幅を最小限にしたい]]