diff --git a/v2/content/posts/2025/_index.md b/v2/content/posts/2025/_index.md new file mode 100644 index 0000000..d7e21f1 --- /dev/null +++ b/v2/content/posts/2025/_index.md @@ -0,0 +1,7 @@ ++++ +title = "2025" +sort_by = "date" +paginate_by = 5 +transparent = true ++++ + diff --git a/v2/content/posts/2025/ghostty-config/alacritty-fastfetch.png b/v2/content/posts/2025/ghostty-config/alacritty-fastfetch.png new file mode 100644 index 0000000..8496fbd Binary files /dev/null and b/v2/content/posts/2025/ghostty-config/alacritty-fastfetch.png differ diff --git a/v2/content/posts/2025/ghostty-config/ghostty-fastfetch.png b/v2/content/posts/2025/ghostty-config/ghostty-fastfetch.png new file mode 100644 index 0000000..177cf88 Binary files /dev/null and b/v2/content/posts/2025/ghostty-config/ghostty-fastfetch.png differ diff --git a/v2/content/posts/2025/ghostty-config/ghostty-mdcat.png b/v2/content/posts/2025/ghostty-config/ghostty-mdcat.png new file mode 100644 index 0000000..250b8aa Binary files /dev/null and b/v2/content/posts/2025/ghostty-config/ghostty-mdcat.png differ diff --git a/v2/content/posts/2025/ghostty-config/index.md b/v2/content/posts/2025/ghostty-config/index.md new file mode 100644 index 0000000..4928841 --- /dev/null +++ b/v2/content/posts/2025/ghostty-config/index.md @@ -0,0 +1,69 @@ ++++ +title = "Replicating My Alacritty Appearance in Ghostty" +date = 2025-01-10T08:54:40+10:00 + +[extra] +#updated = 2024-07-26T09:58:10+10:00 ++++ + +[Ghostty] by Mitchell Hashimoto is the new hotness in the terminal emulator +world. It recently came out of private beta launching publicly as 1.0. It's +similar to other GPU accelerated terminal emulators like [Alacritty] and +[Kitty], but differs in that it uses the native toolkit on macOS and Linux +(GTK). For nerds it's also interesting because it's implemented in [Zig]. + +<!-- more --> + +Initially I dismissed Ghostty as not offering me anything over my current +terminal emulator, [Alacritty]. Largely because of my use of the [Awesome window +manager][awesomewm]. Using a tiling window manager means I have no need for tabs in my +terminal emulator, and I have Awesome configured to show no window decorations +on most windows. I thought this meant that Ghostty using a native UI offered me +very little. However, after some recent discussions I noted that Ghostty did +support two longstanding missing features in Alacritty: + +1. Text rendering with ligatures +2. Bitmap image support, such as sixel + +This prompted me to take another look at Ghostty. I set about tweaking the +settings to remove all the UI chrome and get the theme to match my Alacritty +config. This is the result: + +{{ figure(image="posts/2025/ghostty-config/ghostty-fastfetch.png", + link="posts/2025/ghostty-config/ghostty-fastfetch.png", + width="700", + alt="Screenshot of the output of fastfetch in Ghostty.", + caption="fastfetch output in Ghostty.") }} + +Compared to Alacritty: + +{{ figure(image="posts/2025/ghostty-config/alacritty-fastfetch.png", + link="posts/2025/ghostty-config/alacritty-fastfetch.png", + width="700", + alt="Screenshot of the output of fastfetch in Ghostty. It's slightly narrower than the Ghostty output.", + caption="fastfetch output in Alacritty.") }} + +For some reason Ghostty is rendering PragmataPro slightly wider than Alacritty +despite them both being set to the same font size. + +Finally here's a sample document in [mdcat] showing image and ligature support: + +{{ figure(image="posts/2025/ghostty-config/ghostty-mdcat.png", + link="posts/2025/ghostty-config/ghostty-mdcat.png", + width="700", + alt="Screenshot of the output of mdcat rendering a showcase Markdown file that includes formatting, images, and ligatures.", + caption="mdcat rendering a sample Markdown document.") }} + +With the visuals out of the way, now I just need to spend some time with +Ghostty to see how it compares in practice. My configuration for both terminal +emulators can be found in my dotfiles repo: + +- [Alacritty](https://github.com/wezm/dotfiles/blob/master/config/alacritty/alacritty.yml) (I need to migrate this one to TOML) +- [Ghostty](https://github.com/wezm/dotfiles/blob/master/config/ghostty/config) + +[Alacritty]: https://alacritty.org/ +[awesomewm]: https://awesomewm.org/ +[Ghostty]: https://ghostty.org/ +[Kitty]: https://sw.kovidgoyal.net/kitty/ +[mdcat]: https://github.com/swsnr/mdcat +[Zig]: https://ziglang.org/