1
0
Fork 1
mirror of https://github.com/wezm/wezm.net.git synced 2025-04-03 02:10:42 +00:00

post: ghostty-config

This commit is contained in:
Wesley Moore 2025-01-10 09:04:56 +10:00
parent 161cc81f7f
commit 5b26d49a44
No known key found for this signature in database
5 changed files with 76 additions and 0 deletions

View file

@ -0,0 +1,7 @@
+++
title = "2025"
sort_by = "date"
paginate_by = 5
transparent = true
+++

Binary file not shown.

After

(image error) Size: 159 KiB

Binary file not shown.

After

(image error) Size: 122 KiB

Binary file not shown.

After

(image error) Size: 61 KiB

View file

@ -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/