Top
Best
New

Posted by mfiguiere 22 hours ago

Libghostty 1.0(mitchellh.com)
986 points | 173 commentspage 4
orliesaurus 18 hours ago|
is mitchell hashimoto literally one of the main tanks carrying all of open source right now? what a neat contribution!!!
brcmthrowaway 20 hours ago||
What's better, iTerm2 or Ghostty?
topaz0 19 hours ago||
Foot ( https://codeberg.org/dnkl/foot )
em-bee 47 minutes ago||
what makes foot interesting? i don't see anything that stands out in the list of features.
dmerrick 19 hours ago|||
iTerm2 has way more features and configuration options

Ghostty is simpler and faster

goodmythical 19 hours ago|||
What's better? Only works for some or works for anyone?
loeg 20 hours ago|||
What's better, an apple or an orange?
doubled112 19 hours ago||
Depends.
solyin 19 hours ago||
My grandma uses those!
turadg 19 hours ago|||
I used iTerm2 until I noticed that Ghostty’s New Tab opens at the current working directory.

Haven’t gone back since.

paradox460 18 hours ago|||
You can set that in iterm 2. I've had it that way for ages
turadg 18 hours ago||
Oh right, it didn’t work for me because it 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.

soraminazuki 1 hour ago||
> it depends on edits to my shell config files

No, it doesn't.

What you're describing is a Gnome Terminal issue.

https://bugzilla.gnome.org/show_bug.cgi?id=697475

But OSC 7 is a standard supported across virtually all widely used terminal emulators anyway, so configuring your shell to emit it is a sensible thing to do regardless.

https://ghostty.org/docs/vt/osc/7

gbear605 5 hours ago||||
Hah, I actually just switched to Ghostty and had to turn that feature off. Yay for configuration.
sorahn 19 hours ago|||
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.

sick_of_slop 19 hours ago|||
I think Ghostty is great for the most part but I keep going back to iTerm2, personally.

iTerm just feel less buggy. For example I was running Claude in a container the other day and the slash command complete wasn’t rendering properly with Ghostty but worked perfectly fine with iTerm.

I want to switch to Ghostty because I prefer how simple Ghostty is overall and I think the project itself is very cool and an important piece of software (libghostty) but it doesn’t quite get there for _for my use cases_.

olavgg 12 hours ago||
[dead]
Decabytes 20 hours ago||
I’m curious why they chose to use C for this as opposed to Zig with a c like interface.
nektro 20 hours ago||
it's Zig with a C ABI
ximm 18 hours ago|||
Does that mean that it won't be packaged for Debian until zig is also stable? (see https://gracefulliberty.com/articles/four-months-of-zig/#bet...)
ivaniscoding 1 hour ago||
Zig can be packaged for Debian, but there are two obstacles. The first one was bootstrapping, but that has been solved by Guix. The second obstacle is unvendoring all the libc for multiple platforms vendored by Zig.

If you are interested, please DM. I am happy to chat about it.

Zambyte 17 hours ago||||
And a C API

https://lib.ghostty.org/vt/files.html

devy 18 hours ago|||
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.
ksec 10 hours ago||
I came to check and say the same as well. I was thinking if they used AI to convert Zig to C.

And that is with me and everyone else knew it was coded in Zig in the first place. Had anyone not knew what Ghostty were I seriously think they would have thought it was a "C Library".

minraws 20 hours ago|||
It's Zig
trollbridge 20 hours ago||
It’s Zog with a C ABI. Zig bindings are a bit of a moving target still.
neomantra 10 hours ago||
When he first announced Ghostty, I was thrilled. Not about a new terminal emulator, there were plenty of those. I was excited about the vision of libghostty-vt, a portable high-performance terminal emulation component.

But I wasn't entirely sure, but Mitchell kept evangelizing it and his podcast interviews sealed it for me. I was going to use libghostty, along with Kitty Graphics Protocol to realize my vision.

It's been a pretty amazing 9 months. I've been as deep as assembly language trampolines and garbage collector debugging and as high as fixing cursive connections in Arabic script, with a lot of BubbleTea and hardening in between.

Here's some of the libghostty warez:

ntwebterm [1] , originally Coder's ghostty-web, is an xterm.js compatible browser embedder. I've added WebGPU rendering and soooo many UX enhancements; I finally forked it to keep it cohesive with our platform.

booba [2] uses ntwebterm to remote Golang programs over WebTransport or embed them in browser. All the demos on NimbleTerminal.com use it.

ntrecord [3] uses go-libghostty to make an improved version of Charm's vhs. The most important difference is it supports Kitty Graphics Protocol, but of course has all the compatibility that libghostty provides.

gloss [4] is 'less' for graphics. The hardest part of 'gloss' is forgetting to type 'less'. If you have Rex, run "gloss skill install rex" and you'll have a new "grex" command to view files in a side block, also command-shift-G will open a Gloss block. There's too much to write about, including how agents can use it... coincidentally released a new version yesterday.

I made a Golang 3D game engine that targets Kitty Graphics [5]. Started at 4fps but got it to 120fps! And once you are there, you can add yummies like Gaussian Splatting.

Our fuzzing dash/orchestrator [6] uses this platform in several ways, including OSC 7501-driven web GUI via booba.

Everything in the Nimble Terminal Platform is layered, so you can grab the parts that fit your needs.

Thank you Mitchell and the libghostty team for empowering and inspiring us!!!

[1] https://nimbleterminal.dev/ntwebterm

[2] https://nimbleterminal.dev/booba

[3] https://nimbleterminal.dev/ntrecord

[4] https://nimbleterminal.github.io/gloss

[5] https://nimbleterminal.dev/nt3d

[6] https://fuzz.nimbleterminal.com

alexpadula 6 hours ago||
What is Ghosty? Why should I use it?
hit8run 15 hours ago||
Related, from the foot side: I've been porting foot (dnkl's Wayland terminal) natively to macOS: AppKit, CoreText, Core Animation, CPU rendering like upstream. On top of it I added native tabs, a Quake-style drop-down terminal and Ghostty-style splits.

What I'm working on now is close to what libghostty enables: a daemon that runs foot's terminal core headless, so programs keep running when the app quits or crashes, and windows come back with their scrollback. Next I want to attach to sessions on other machines over SSH.

https://github.com/gobijan/foot-macos

cpendery 15 hours ago||
libghostty has been awesome for tui-test, excited for the stable api
WhereIsTheTruth 14 hours ago||
Used it to for a terminal emulator plugin for sublime text, works flawlessly, better than Terminus, tmux and interactive programs works out of the box, only limitation came from the poor sublime text plugin API related to mouse events (there is none, so you have to hack)

If you thought building a terminal emulator too hard to add for your project, you no longer have an excuse, libghostty makes it very easy to implement

akshaysharma108 15 hours ago|
good one!
More comments...