Ghostty got a lot of hype (I cover this in my reflection below), but I want to make sure I call out that there is a good group of EXCELLENT terminals out there, and I'm not claiming Ghostty is strictly better than any of them. Ghostty has different design goals and tradeoffs and if it's right for you great, but if not, you have so many good choices.
Shout out to Kitty, WezTerm, Foot in particular. iTerm2 gets some hate for being relatively slow but nothing comes close to touching it in terms of feature count. Rio is a super cool newer terminal, too. The world of terminals is great.
I’ve posted a personal reflection here, which has a bit more history on why I started this, what’s next, and some of the takeaways from the past two years. https://mitchellh.com/writing/ghostty-1-0-reflection
Missing damage tracking, always painting everything (even when the window is a full 4k monitor), etc. kills performance and input latency when dealing with realistic redraw workloads like text editing, blinking cursors and progress bars. Much too often to terminals worry only about the performance of `cat /dev/urandom`...
Now, the one thing I've coveted for years is a linux term with tmux control mode support, ever since I used iterm2 during my short tenure as a Mac user. I can see from your github issues that this is in the works(https://github.com/ghostty-org/ghostty/issues/1935), which is great. It looks like a lot of the necessary UI elements are already in place, as well as partial support for the control mode protocol. Do you have any idea how far off this is from being completed? I don't wanna make demands or anything, I know this is a passion project with lots of things still to work on. As far as I know(and I look around quite often) control mode support is still something no existing term for linux supports. Being the first could drive a lot of adoption! I'd also like to offer my help in pushing it over the goal line. I haven't touched Zig, but I'm a polyglot with plenty C experience and Im highly motivated to bring this feature to my Linux systems. Some guidance on things I might do to help would be welcome. The final 3 points of the checklist don't have much detail provided.
Again, no pressure, thanks for all your amazing work, and good luck with continued development!
https://ghostty.org/docs/about
Clear, friendly, modest, respectful and with the right balance of detail vs overview.
Congratulations on your launch.
The terminal is good. I don't have any issues with the stock mac os terminal app but I'll give yours a go for a bit. I can't tell exactly how, but it does feel faster - I'm not sure exactly how it is but it looks like it renders text faster.
I thought I needed search but as Mitchell put it, not a 1.0 feature. Ripgrep was always the answer.
Very happy to share the ghostty experience with the world!
Chances are, it will become my default terminal in 2025!
The only nitpicking is the doc does not seem to have a search function. It would be great if I can search color or ssh and find the relevant page address that immediately, without navigating the tree or relying on external search engines.
Personally, I've used Terminal.app (for a bit), iTerm (for a long while), Konsole (in the past, on Linux) and more recently I standardized on Alacritty (macOS) and Kitty (Linux). GPU acceleration puts it in the same general bin as my current toolchain, but your comment alludes to it pulling in some concepts from iTerm, possibly -- is that the case?
If anyone cares to search through Github, they will see loads and loads of Issues and PRs created by Mitchell in many of the related Open Source projects that Ghostty uses/references. From zig to kitty to supporting libraries, Mitchell has been trying to get the terminal community working together and have some sort of standards. A lot of them are like "X does this, Y does that, why are you doing it this way? Can we all do it this way?" and then having Ghostty follow the most reasonable solution (or supporting several!).
I'm extremely excited to give Ghostty a whirl.
I was looking on the website to try and understand this more but couldn’t find any information. Perhaps I missed it?
Does it have a way to do tabs, and split terminal vertical and horizontal? Those are the only features keeping me on Terminator.
I've tried Tmux, but it isn't the same, so please commenters, avoid from the suggestion.
I’ve been a very happy iTerm2 user and support the dev on GitHub Sponsors (and I’ll continue to do that), but I love your commitment to making a fast, native app (and cross platform, no less) and really appreciate this very obvious labor of love that has also been really interesting to watch from afar as the development has progressed!
kitty has been my default for a few years now— highly superficial, but my designer side landed on kitty as it was one of the few that supports ligatures by default, specifically for the fira code font for my bias.
does ghostty support ligatures?
On the cross-platform library, I wonder why "libGhostty" and not libTerminal. Which seems like a more appropriate in term of library?
Congrats for the release and happy new year.
I know everyone will say but tmux and/or native multiplexing bla, but I'm kind of old school and only do screen remotely if needed, and I just like a lot of terminal tabs in my workflow with a quick mod left/right arrow to navigate between (and if native multiplexing in Ghostty is simple and easy I'd probably do some of that too). Perhaps this is why I've never left iterm2.
I'm just having a bit of fun, but it is a fun terminal every once in a while. https://github.com/Swordfish90/cool-retro-term
EDIT: WOOOW, for me this is going to be a game changer. I was just working at Redis stuff outputting a ton of debugging info and results, and normally the terminal was the bottleneck, and here instead it printed half million of results in the blink of an eye. And then I could go back in the history without any performance degradation. I love this: for development of systems it makes a big difference.
It's also some very well-written Zig code. We use some of the code for graphemes in Bun for `Bun.stringWidth`.
Nicely done.
During the beta I had it configured like this on macOS:
keybind = global:cmd+space=toggle_quick_terminal
quick-terminal-animation-duration = 0.1
There isn't an option to set the default height of the "quick terminal" window that I'm aware of but you can drag the bottom of the window after it opens and it will persist between toggles.Currently I am using Wezterm and iTerm2 for the quake style terminal, but using two different terminals is quite annoying. I really miss Visor and TotalTerminal.
In yakuake they have to register the Open/Retract shortcut with KGlobalAccel [1] and I don't think global shortcuts are implemented otherwise
[1] https://github.com/KDE/yakuake/blob/164d24b8bad1175199260c62...
keybind = global:ctrl+grave_accent=toggle_quick_terminal
It was the first thing I made sure ghostty supported it before trying it.Setting the initial height of the quick terminal is under development: https://github.com/ghostty-org/ghostty/issues/2384
Lack of tab support in the quick terminal is a bummer, but it should come eventually: https://github.com/ghostty-org/ghostty/issues/2329#issuecomm...
For now, splits are the way to go in the quick terminal.
Also, why cmd+space? That's the MacOS spotlight search binding.
Ghostty 1.0 Is Coming - https://news.ycombinator.com/item?id=41914025 - Oct 2024 (32 comments)
Ghostty Devlog 004 - https://news.ycombinator.com/item?id=37709113 - Sept 2023 (2 comments)
Talk: Ghostty and Some Useful Zig Patterns - https://news.ycombinator.com/item?id=37491031 - Sept 2023 (2 comments)
Mitchell Hashimoto's Ghostty Devlog - https://news.ycombinator.com/item?id=36736686 - July 2023 (1 comment)
edit: alas, it doesn't support bitmap fonts..
I've noted before in issues I'm open to supporting bitmap fonts if someone contributes it, but not interested in adding it myself. The workaround above is very good.
It seems fast and really nice otherwise, so I'll keep fiddling with it, but so far I still prefer, for example, the "non-fancy" tabs in WezTerm (where the tabs are just rendered as line of terminal cells at the top or bottom of the window rather than GUI elements), and the way that modals ("Really quit WezTerm?" etc.) are also rendered within the terminal.
I'd also struggle to live without quick select mode[0].
Very disappointing. Not sure why people are trying to kill off bitmap support in everything these days. Will stick with foot.
A commenter in this thread mentioned sifting through log / debug output… but why wouldn‘t you pipe it to a file instead?
1. Create a file with 1 million lines:
for i in {1..1000000}; do echo "Line $i: This is a test of terminal performance."; done > bigfile.txt
2. cat the file and see how much time it takes: time cat bigfile.txt
RESULTS:- iterm2: 3.5s
- Default macOS terminal: 2.3s
- Ghostty: 1.8s
Rendering huge stdout/stderr can be a bottleneck. Try running a program that writes half a million lines of text to stdout without file redirects and a lot of terminal emulators will struggle to keep up.
Together with Bun I believe that is two high profile open source software made with Zig.
I'm very new to Ghostty and went looking for my favorite theme "Solarized Light"; it's listed as "iTerm2 Solarized Light" -- in contrast (heh) to "Solarized Dark"
$ ghostty +list-themes
/solari
<... lists 7 options ...>
And then in the ghostty config i could: theme = dark:Builtin Solarized Dark,light:Builtin Solarized Light missing or unsuitable terminal: xterm-ghostty
Connection to xxx.xxx.xxx.xxx closed.
(IP address removed by me.)It turned out that this is associated with how I automatically run tmux by having the following kind of config for how I connect to that server.
Host server3000
IdentityFile ~/.ssh/host_specific/foo/bar/server3000/id_ed25519_baz
RequestTTY yes
RemoteCommand /usr/bin/env tmux new-session -A -s '%L'
Whereas if I outcomment the RemoteCommand setting in my ~/.ssh/config of the laptop I'm connecting form, I can connect fine even using Ghostty as my terminal and from env | grep ^TERM=
I get output TERM=xterm-256color
in the initial normal shell.And if I run tmux, then inside of it from
env | grep ^TERM=
I get output TERM=tmux-256color
So there seems to be some termcap stuff I'd have to figure out if I want to use Ghostty and still be able to run tmux automatically in the way I'm currently doing without problem when using the Terminal that ships with macOS and ssh'ing into my servers.Took a bit of tinkering to set a theme and my favourite Pragmata Pro, but what ultimately annoys me is the lack of 'turnkey' selecting for text.
When I run `Cmd + A`, I want my terminal to make a full text selection of an entered command, not of the screen content. Or when I run `Option + Shift + Arrow left/right`, I want to select words from an entered command, not to type '4D;4C;4D;4C'.
I'm not a vimer or emacser, I want to have normal macos experience. For this reason alone I thought it's too early to switch and Warp is still great for me.
You could try:
- Ctrl+A: Move to the beginning of the line.
- Ctrl+E: Move to the end of the line.
- Ctrl+K: Cut the command from the cursor position to the end.
- Ctrl+U: Cut the command from the cursor to the beginning of the line.
- Ctrl+Y: Paste the text back.
This should work in all terminals.
I like where we're headed with tools like this and Ladybird[0] for hope of a subscriptionless future.
Thank you, Mitchell!
That's a weird statement. I've been running a free, open-source and subscription-less browser (firefox) and terminal emulator (many) for close to 20 years.
Actually I like what ladybird is doing in the browser space, given firefox is quite dependent on google cash. But this is just yet another terminal emulator in a sea of them. The only two distinguishing features I can see are hype and native UI (which mac users care about for some reason -- my native UI is a borderless rectangle in tiling WM).
That feels like an exaggregation. L High quality open source software is uploaded daily to GitHub.
See this other user's comment: https://news.ycombinator.com/item?id=42518033
I don’t like the “feel” of the new Windows Terminal “app” but it is more “modern” and “capable” (running a newer conhost under the hood).
But if you’re willing to use non-standard software then WezTerm, Alacritty, and Kitty (WSL with an XServer) are all good options.
This really does aim to be the terminal for all.
I believe window state recovery has some approximate equivalent in GNOME and KDE, but maybe not exactly the same (and I don't know how easy it is to integrate with).
There's an ongoing standardization effort to provide equivalent functionality for Wayland: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m...
KDE Plasma provides a "fake session restore" for the time being: https://invent.kde.org/plasma/plasma-workspace/-/merge_reque...
Thanks for this. After 7 years of using iterm2 I still don't know what will happen with the ambiguous "Split Horizontally | Split Vertically". I know the issue is I'm thinking about it and should just learn it, but it would be more helpful if it was named "Split A | Split B".
(might be a non-native language problem)
$ cd ghostty
$ zig build -Doptimize=ReleaseFast
$ ./zig-out/bin/ghostty
Anyways, I eventually learned this was about a terminal emulator (which is awesome), but the ghost on the front page really inspired my imagination. I think it would be a good thing to have some kind of companion like that, when it's me, by myself, constantly surrounded by terminals all day. Is the choice of having the ghost be rendered in a text-mode terminal important? I think it is for me.
So what I am asking, if you are making a GPU-based rendering toolkit, please write also SIMD software fallback without shaders. Remember how fast Windows 95 was and make it a little bit faster.
A few things that keep me from switching to it full time:
- Missing search scrollback (cmd+f). This appears to be coming soon: https://github.com/ghostty-org/ghostty/issues/189
- More of a nitpick than anything, but the only way to disable cursor blinking is to disable shell integration. Unfortunately, this means taking away things like native scrolling and likely some other things I don't know about. I see there is a discussion here to possibly address this: https://github.com/ghostty-org/ghostty/discussions/2812
I feel like this would be a no-brainer switch for me once the above are addressed.
Ghostty feels like a Mac app like iTerm2 while being fast and having fewer features. Wezterm feels more like an app ported from Linux, but has a much richer config system and features like build-in multiplexing which means it's replaced tmux for me - while keeping all my tmux keybinds.
I tried using their toggle_visibility keybind but it's a bit wonky since it doesn't return focus back to another window when you toggle away.
- some visual artifacts with the gtk menu
- sometimes prompt got clear when openning 2nd / 3rd windows
- cant get keybinding quick toggle to work
You need a compositor. picom works.
For a proper "native i3 experience" I recommend setting gtk-titlebar=false and unbinding tab/pane management keybinds. I already have a window manager, I don't need a second one.
I also had to disable adwaita because when it's enabled closing a shell with ^D closes all open windows, sometimes it leaves an empty window instead.
> - xterm still feel faster to me.
lxterminal also launches 6 times faster, I guess on a slow laptop without a dedicated GPU these terminals are not the most efficient option.
keybind = global:ctrl+grave_accent=toggle_quick_terminalThe only things I miss are (1) right click to copy paste selection (akin to Putty), and (2) profiles (I work with different shells depending on my projects and use Profiles frequently on iTerm2)
I was hoping 1.0 would mean CMD+F search would work, but looks like that was pushed back to a later release unfortunately.
https://github.com/ghostty-org/ghostty/issues/189#issuecomme...
I installed on linux inside WSL, then launched it, and it looks/works great. Clipboard also works.
https://github.com/microsoft/wslg/issues/1008 https://github.com/microsoft/wslg/issues/633
I've grown so sick of tools/TUIs that output unreadable text (like Debian's ls that defaults to dark-blue-on-black for directories). I look forward to never manually theming a terminal app again!
[0] e.g. `keybind = alt+f=esc:f`
[1] Which affects both option keys, sadly.
There's never a time when I wouldn't want this to work, may as well enable it everywhere.
Edit: It looks like I misunderstood what that setting in iTerm does. But hey if you do want left option to send Esc by itself, that's how to get it.
iTerm2 isn't instant either, but they feel about the same[0], although with iTerm2 the full screen Quake-mode (Quick Terminal equivalent) hides the MacOS menu bar, and Ghostty doesn't.
For my taste, I want a full screen terminal, with no menu bar, no delay, and no animations, which I can toggle with a global hotkey.
[0]: Actually, scratch that. I tested again, and iTerm2 opens more quickly.
https://ghostty.org/docs/config/reference#macos-non-native-f...
Unfortunately the "tabs not working in non-native fullscreen" thing is a dealbreaker for me, so I will be switching back to iTerm 2.
But Ghostty as a whole looks promising. I like zig, zig-objc, MIT license, libghostty, config via text file. I will check back every month or so because I really want to use this. But my hate for macOS native fullscreen outweighs everything else.
Edit: Ok here we go, this is why it's not implemented: https://github.com/ghostty-org/ghostty/issues/392#issuecomme...
There's more than one workaround which is superior in my opinion: https://i.imgur.com/iWoqrM0.png
IIRC you can even use AppKit to remove the close/minimize/fullscreen buttons, so it would just be a blank bar.
You could go a step further and use private APIs / objc runtime voodoo to set the height of the titlebar to 0. That might outside your design philosophy though.
Also, FYI, clicking the green fullscreen button still uses macOS native fullscreen, so you definitely want to disable that button (which is a public AppKit API) when you have that option enabled
$ brew install ghostty
Launch it, don't configure anything, in the new terminal window then enter:
$ lazydocker
Response: 2024/12/28 09:04:42 An error occurred! Please create an issue at https://github.com/jesseduffield/lazydocker/issues
*exec.ExitError exit status 1 /home/runner/work/lazydocker/lazydocker/main.go:96 (0x9397d7) /opt/hostedtoolcache/go/1.21.13/x64/src/runtime/internal/atomic/types.go:194 (0x43bc1b) /opt/hostedtoolcache/go/1.21.13/x64/src/runtime/asm_amd64.s:1650 (0x46b9e1)
Which does not happen with fresh out of the box Mac Terminals, iTerm.
Probably it would be good to have less specific default options for people who just want to try it out before starting to configure it.
Maybe contribute to https://github.com/jesseduffield/lazydocker/issues/610 ?
I'm on Linux, and first impression is ghostty is really good. Speed in particular is impressive.
info: ghostty version=1.0.1-main+a8e5eef1
info: ghostty build optimize=ReleaseFast
info: runtime=apprt.Runtime.gtk
info: font_backend=font.main.Backend.fontconfig_freetype
info: dependency harfbuzz=8.4.0
info: dependency fontconfig=21402
info: renderer=renderer.OpenGL
info: libxev backend=main.Backend.io_uring
info(os): setlocale from env result=en_US.utf8
info(gtk): GTK version build=4.6.9 runtime=4.6.9
info: optional config file not found, not loading path=/home/xxxx/.config/ghostty/config
info(config): default shell source=env value=/usr/bin/bash
"vulkan-disable" is only available when building GTK with G_ENABLE_DEBUG. See GDK_DEBUG=help
info(gtk): libadwaita version build=1.1.7 runtime=1.1.7
(process:164888): Adwaita-WARNING **: 19:33:13.357: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.
error(gtk): unable to get current color scheme: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such method “ReadOne”
info(grid): loaded OpenGL 3.2
warning(grid): OpenGL version is too old. Ghostty requires OpenGL 3.3
error(gtk_surface): surface failed to realize: error.OpenGLOutdated
info(sentry): sentry envelope does not contain crash, discarding
System: OS: Pop!_OS 22.04 LTS x86_64
Host: 20QVCTO1WW ThinkPad X1 Extreme 2nd
Kernel: 6.9.3-76060903-generic
Uptime: 2 hours, 20 mins
Packages: 5314 (dpkg), 22 (flatpak)
Shell: bash 5.1.16
Resolution: 3840x2160
DE: Plasma 5.25.5
WM: KWin
WM Theme: Breeze
Theme: [Plasma], Adwaita-dark [GTK2/3]
Icons: Papirus-Dark [Plasma], Papirus-Dark [GTK2/3]
Terminal: konsole
Terminal Font: JetBrains Mono 11
CPU: Intel i7-9750H (12) @ 4.500GHz
GPU: NVIDIA GeForce GTX 1650 Mobile / Max-Q
GPU: Intel CoffeeLake-H GT2 [UHD Graphics 630]
Memory: 6307MiB / 31738MiBBut my main point here would be that the lack of explorable configuration, and the docs not having any search, make it quite challenging search for this.
Qt-based desktop environments: KDE, LXQt
Iced-based desktop environments: COSMIC
By going GTK, you support 5 desktop environments. If you really don't like GTK, just build a Qt app runtime with libghostty. Lots of people want a Qt version.
KDE is standard on what, Steam deck? Every enterprise-y distro ditched it some time ago...
Slightly more CPU heavy than Kitty.
in MacOS yabai tiling manager has problems dealing with native tabs, that's gonna annoy me like with Finder.
also in MacOS try pressing "Cmd + Shift + \", also works in Finder, it's there, it's cool, but I never use it.
I mostly appreciate Alacritty's simplicity and use tmux to manage multiple windows/panes.
I styled Wezterm's tabs to look just like my tmux tab bar too, there's no visual difference for me between a Wezterm window with Wezterm tabs, and a Wezterm window with tmux tabs. If you're more of a terminal native than a Mac native, I think you'd enjoy it.
My wezterm config: https://github.com/justjake/Dotfiles/blob/new/config/wezterm...
I tried a few searches ('line height', 'vertical spacing') on the GH issues for the project [1], but didn't see anything. I'm sure it's a simple config option or something with my font, but it works out-of-the-box on Alacritty + xterm and others.
I might file an issue if I can nail it down a bit more.
I've been using Kitty since just about the beginning and didn't know it did that!
Edit. Oh I see it's a really recent addition. I'll definitely be taking that for a spin.
A lot of people are claiming that ghostty is "faster." I watched the lightning talk where the author claims that catting files and binaries is faster.
I tried this against ghostty itself after building with zig build -Doptimize=ReleaseFast, using: time cat ghostty.
In GNOME terminal, it took 3.340s. In ghostty, it took 16.947s. I must be doing something wrong?
- "Seamless" cut & paste with paste on "2 X right click" + "Trim trailing LF"
- Quadruple click "Smart selection"
- Brillant search with highlighting in text and scrollbar
- Support for OSC-1 "icon titles" in tabs, as opposed to OSC-0 "header title"
[1] https://github.com/ghostty-org/ghostty/blob/main/TODO.md
Anyways this is a great piece of software. I've never been this hyped for a software ever before. Great work team.
The only thing I’m eagerly waiting for now is the implementation of search [1], but otherwise, it’s absolutely stellar.!
I set Ghostty as my default terminal emulator now.
I’ve been using Ghostty for a day now and it simply works. Smooth, seamless and perfectly integrated to the point where this should just be the default terminal in macOS.
P.S.: If you want to port your iterm color scheme, set:
window-colorspace = display-p3
for the colors to match.
(And bold-is-bright = true if you set this option in iterm)
i'd rather use a nice-looking and well designed (UX) terminal than have to use a clunky ai native one.
Congrats on 1.0! It's been a joy to use I wish everyone can enjoy this wonderful piece of software as much as I have!
Given all the time and hype, I'd have hoped that wrinkles like this would've been ironed out by launch time.
Back to Wezterm for now, but I'll certainly be checking back in at some point.
I really appreciate the levelheadedness of your responses regarding Ghostty, and how clear you are to be speaking positively for your thing instead of negatively about anyone else's.
Going to build it at lunch today and give it a shot :)
I did not realize it would be THAT much faster. I guess I should have started using better terminals earlier
The fact it does its own window decoration is a bit of a turn-off, but:
A quick test of speed against wezterm and gnome-terminal show ghostty (on my laptop) to be around 3 times faster than both of the other.
Will definitely try it for a couple of weeks.
Switched from WezTerm which was working cross platform but not quite as good.
Both are low latency and written in Rust.
also how to set color\name to the particular tab?
gtk-adwaita = falseAny particular/strong reason for choosing Zig for this?
> error(gtk): unable to get current color scheme: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files
A terminal is so dear to us software engineers, and this seems like such a love declaration to the terminal.
Time to spend hours tuning my config!
I'm sorry what?
- created by Mitchell (founder of HashiCorp)
- it’s developed in Zig (and Mitchell recently pledge $300k to Zig foundation)
- uses native UI (which is super rare for cross platform app)
- amazingly performant. e.g. https://hachyderm.io/@mitchellh/111919642467789362
- has lots of amazing small details like below
https://hachyderm.io/@mitchellh/113330304084905500
https://hachyderm.io/@mitchellh/113443002518588524
https://hachyderm.io/@mitchellh/113166930440000852
This has been a passion project of his for the past 2-years and he’s completely MIT open sourced it. He’s spent a lot of time thinking and ensuring this project can persist in the future even without him.
Many people have tremendous respect for Mitchell’s technical abilities, as well as hugely respect how he operates (genuinely nice person and thinks about things long-term and does the hard work for sustainability).
Lots more to read at: https://mitchellh.com/writing/ghostty-is-coming
- picture or gif is worth a thousand word
- it mentioned its cross-platform but I don't see support for Windows or Android - its better make it explicit it's only for macOS and Linux. Yesterday was looking for some nicer terminal on Android and was hoping ghostty could work.
- I like simple landing pages but this... is too simple and not much useful (only 2 buttons and ASCII image. Why even bother with such landing page and not just stick with github README?
- it doesn't provide me any fast information how to compares to different terminals and why I should switch from Warp
- Alacritty (https://github.com/jwilm/alacritty)
- waveterminal (https://github.com/wavetermdev/waveterm)
- Hyber (https://github.com/zeit/hyper)
- Kitty (https://github.com/kovidgoyal/kitty)
- Rio (https://github.com/raphamorim/rio)
- Tabby (https://github.com/Eugeny/tabby)
- Wezterm(https://github.com/wez/wezterm)
- Contour (https://contour-terminal.org)
- Extraterm (https://github.com/sedwards2009/extraterm)
- Warp (https://www.warp.dev/)
I didn't like that Warp is VC product as I don't like essential tool like a terminal in my workflow to be dependent on proprietary VC product.
https://terminaltrove.com/terminals/ghostty/
You can find all terminals for comparison below and also the list of terminals (including Ghostty)
As a terminal emulator, running and building it from source in Wayland as a passive process that exists in the shell, while being a method of input-output system call management.
Having my terminal session available on a hotkey has become a critical part of my workflow
Doesn't have a binary for Windows so it's not "cross-platform" yet.