> Every bug any libghostty-vt embedder reports makes everyone else in the ecosystem better. Every feature we ship in libghostty-vt becomes available to everyone quickly and safely. Terminals can move faster with less fragmentation.
Can anyone give a comparison to libvte? There are many terminals that are just thin wrapper around that (gnome-terminal, xfce4-terminal, mate-terminal, lxterminal, sakura, …). It is tied to GTK, so it has a much narrower scope. But still it feels related in spirit.
Libghostty is a very cool project, this is an exciting release, kudos to mitchellh for spearheading this as well as all the people who have made contributions to the project. I use ghostty as my primary terminal emulator today and a few months ago I was experimenting with using libghostty in an android project that I plan to jump back to someday when I have the time, so I personally benefit from this work.
Indeed it is. It feels like libghostty was only announced yesterday and already there are things like ghostel for emacs that are imo far above and beyond the other emacs terminal options.
ghostel makes vterm feel so sad!
As of recently, the embedded terminal in Jetbrains IDEs is also based on libghostty.
And it has been such an upgrade.
There was so many little things that bugs me with JediTerm, unsupported escape sequences, bugged visualization, truncated output, you name it.
Now it just work, like it supposed to.
Yesss! Finally I can run nvim +term inside the Emacs frame and then call emacs -nw in there. Matryoshkamacs is the dream. We all live in a simulation.
One area where Ghostty really shines is with fancy TUI programs like the pi agent. Pi has a relatively recent tuiMode "fullscreen" feature, and it's been exceptional. Showing inline images with the Kitty graphics protocol has been a huge improvement too -- I love it when a model calls `read` on an image file and I get to see the results in my terminal. The OSC-8 hyperlink support very handy too. Viewport scrolling is super fast, and pi can hide/show the scrollbar as you need it.
Libghostty is such an awesome project, I didn't myself understand the vision a year ago but I've since then been working on my own terminal project using Libghostty and it really does just work and save me such a tremendous amount of work. Kudos to all the contributors!
The documentation for libghostty is great, I'm reading through the guides and examples. It feel like a fun way to build your own terminal emulator GUI in C, Zig, or other languages with C bindings.
https://lib.ghostty.org/vt/example-programs.html
It also looks useful for testing and developing text interfaces (TUI), like file navigator, editor, dashboard, etc.
I'm still on iTerm2, simply because it just seems to work and has all the features I want
Occasionally I'll check out other terms people rave about. Tried kitty, wezterm, and a few others a while back, but wound up coming back to iterm.
Still, really happy to see things like this gaining traction. An easy way to implement high performance terminals in any application is a boon
Libghostty made the best terminal for Emacs possible (Ghostel). Thank you Mitchell.
does anyone have a terminal setup with gorgeous colors/background/etc over ssh without a display manager? Looking for a lightweight server side environment. I keep searching for headless / framebuffer / DRM setups and there seems to be a few out there, wondering if these exist in a practical workflow.
This is a confusing question. If the terminal emulator is using the server's frame buffer, then it is running on the server end. If the terminal emulator is 'over SSH', then the actual terminal emulator runs on the client end.
They are two very different setups, the former being covered by the likes of zhcon, jfbterm, fbpad, and my virtual terminal system; and the latter being a wide range of things depending from what one's desires are on the client.
Wow. This is how you write a library.
I’m curious why they chose to use C for this as opposed to Zig with a c like interface.
Yeah, Mitchell's description is very confusing.
libghostty-vt 1.0 is here. libghostty is a portable, high-performance C library for terminal emulation, extracted directly from the core of Ghostty.
It’s Zog with a C ABI. Zig bindings are a bit of a moving target still.
I wonder how the author makes the work financially sustainable.
He's a billionaire, has sponsors and has a startup.
is mitchell hashimoto literally one of the main tanks carrying all of open source right now? what a neat contribution!!!
In the age of perpetual 0.x software, it's nice to see a well-known project get to 1.0
Agreed. I feel like too much projects are too reluctant to take the responsibility to say "this is production ready".
Software is either 0.0.12 or 20x6.99
The only thing I miss from WezTerm is the super configurable cursor (because of course I need a pulsating one)
And we still don't have Ghostty for Windows
I use it on Windows all the time, just use a community solution or roll your own
There are several third-party Windows ports:
- Noctty (~517 stars)
- GhosttyWin3
- ghostty-windows (~79 stars)
There's also https://wintty.io/ which I just learned about. MIT licensed, binary downloads restricted to project sponsors, but buildable from source, allegedly easily (I haven't tried it). Currently 120 stars on GitHub.
Use Windows Terminal. Nearly a match for Ghostty on Windows. Well, it's Windows
congrats to mitchell and team!
an early christmas present, thanks mitch and team
What's better, iTerm2 or Ghostty?
I used iTerm2 until I noticed that Ghostty’s New Tab opens at the current working directory.
Haven’t gone back since.
You can set that in iterm 2. I've had it that way for ages
Oh right, it supposed to but depends on edits to my shell config files that didn’t work in my setup.
I suppose my accolade is that Ghostty just does what I want without hunting through config screens and managing file edits.
You can configure iterm2 to do whatever you want in new tabs or panes. This feature has been available for over a decade.
I have it reuse the same directory in a new pane. And my home directory in a new tab.
What's better? Only works for some or works for anyone?
What's better, an apple or an orange?
iTerm2 has way more features and configuration options
Ghostty is simpler and faster