[–] jdorfman 1 day ago
[–] raglof 23 hours ago
[–] norman784 20 hours ago
[–] WD-42 15 hours ago
[–] exitb 12 hours ago
[–] 9dev 22 hours ago
[–] jazzypants 15 hours ago
[–] r_lee 15 hours ago
there's a big market for "makes your life easier" tools both in B2C and B2B
maybe not that big of a market but who knows
[–] limagnolia 15 hours ago
Note, I am deliberately using a generic example, I use Ghostty but I haven't tried Rex yet and I have no idea how much value it provides over competing widgets)
[–] r_lee 14 hours ago
I'd say the whole "lower cost" thing is less of a problem when it comes to ergonomics, we know that many devs buy all kinds of fancy split keyboards and things like that to make their workflow smoother, so I wouldn't be surprised if people easily forked over money to this
question is if it will actually take off or actually provide/slot into workflows that people actually like etc. if it's heavily opinionated or not really innovative, I don't see how people would "move over"
just my take though.
[–] transitorykris 7 hours ago
[–] cpuguy83 14 hours ago
[–] 9dev 13 hours ago
[–] tough 13 hours ago
[–] dash-44 19 hours ago
[–] k9294 19 hours ago
[–] guessmyname 10 hours ago
[1] https://www.google.com/search?q=%22blob.superlogical.com%20A...
[–] k9294 10 hours ago
[–] qaz_plm 17 hours ago
[–] Graziano_M 17 hours ago
[–] postepowanieadm 22 hours ago
[–] veidr 15 hours ago
Rex is a more serious challenger to iTerm, for me, but atm has similar flaws (Mac only, for most functionality) without coming close on a feature basis. (Nobody uses all of iTerm's features, but most iTerm fans use a subset of them that still exceeds what less-featureful terminal apps (i.e., all of them) can do).
But libghostty is fuckig amazing. Do you have some internal/personal bespoke app that needs a terminal pane somewhere? Ask your clanker to use libghostty.
Do you have a professional, commercial product that needs a terminal somewhere? Direct your team of highly-paid experienced human software engineers to evaluate libghostty.
It's the fucking business.
[–] mijoharas 19 hours ago
I'm still interested to check it out though none of these things have ever interested me too much so far.
[–] dcre 15 hours ago
[–] howunfortunate 1 day ago
[–] jdorfman 23 hours ago
[–] nsonha 1 day ago
[–] jdorfman 23 hours ago
[–] 9dev 22 hours ago
[–] yurishimo 19 hours ago
Does this mean Apple might nuke those capabilities next year? It would not surprise me, but for right now, it’s really freaking good what they managed to put together.
It’s worth downloading the beta just to study their onboarding flow.
[–] aroman 23 hours ago
[–] mgrandl 17 hours ago
[–] violinist 17 hours ago
It doesn’t replicate the “remote authentication” part of ssh, and leaves that to Tailscale instead.
[–] dcre 15 hours ago
[–] cellu 12 hours ago
[–] bullfightonmars 12 hours ago
[–] aroman 11 hours ago
[–] smj-edison 1 day ago
What really caught my attention was this: "So from the start, I took inspiration from C libraries I enjoyed working with and designed the API to have a strong, stable ABI that allows for future additions." What are good examples of this? I feel like I just don't have enough experience with well-designed C libraries to know what to look for.
[–] spacechild1 22 hours ago
If you have structs that might need to be extended, you can use "versioned structs". One popular technique is to include the struct size as the first field. The struct size is set to `offsetof(mystruct, lastmember) + sizeof(lastmember)` and the receiver of the struct can use this to check if a member exists. The ARA API is a good example: https://github.com/Celemony/ARA_API/blob/65ec5c43b943a48cb54...
[–] agosz 11 hours ago
It also helps if you only append to the end of the struct for newer fields.
[–] sigbottle 9 hours ago
[–] zem 19 hours ago
[–] JuniperMesos 1 day ago
[–] shoobiedoo 1 day ago
[–] chuckadams 1 day ago
[–] iLemming 1 day ago
[–] 9dev 22 hours ago
[–] biorach 20 hours ago
[–] iLemming 21 hours ago
[–] ephaeton 20 hours ago
[–] tasuki 15 hours ago
[–] iLemming 12 hours ago
[–] nigehban 21 hours ago
PS: FMPOV Mitchell is a relentless performance addict. I have been seeing this since the vagrant days (this also makes me sad because it reminds me I am getting old)
[–] cavoirom 12 hours ago
- kitten, a lot, they are useful. I will name a few. kitten ssh, keep a long lived connection so that you need to authenticated once for the whole kitty window. kitten tranfer, transfer files between remote and local when you are inside the remote host. kitten clipboard, take data on the remote host to the local clipboard.
- customize your keyboard shortcuts to be more efficient on creating new tab, moving between tab, keep the current working directory when creating new tab, split panel (even you are on the remot host).
- tune the performance configuration.
- on macOS, you can hide the title bar of the window, give more minimal look.
- take time to learn from their documentation, a lot of useful things to be known.
- the author is uncompromised on the performance, e.g. https://github.com/kovidgoyal/kitty/issues/884
- don't ask the author to change kitty icon (but you can change it yourself, I did): https://sw.kovidgoyal.net/kitty/faq/#i-do-not-like-the-kitty...
[–] nigehban 10 hours ago
[–] spudlyo 1 day ago
[–] larodi 22 hours ago
[–] ximm 1 day ago
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.
[–] pekim 18 hours ago
libvte provides terminal emulation complete with a gtk UI.
In terms of terminal emulation, libghostty implements several protocols that libvte does not. For example kitty keyboard, kitty graphics, and desktop notification.
[–] amterp 1 day ago
[–] swyx 21 hours ago
can i just get you people to slow down a bit and explain: why are you guys building your own terminal? whats the deep pain here?
(i'm not at all being skeptical, i respect you guys enough to understand that there's something here I don't get and it's my skill issue, so I am trying to learn)
[–] azertify 20 hours ago
It's like a better alternative to xterm.js, and better than existing terminal emulator libraries.
[–] amterp 7 hours ago
[–] zem 19 hours ago
similarly, a terminal conceptually consists of a terminal engine, which handles text rendering and interaction, and then a terminal which handles tabs, splits, sessions, etc.
now one key point is that you can get a terminal engine right according to a bunch of reasonably objective criteria, so it's a problem well worth solving once and for all. the terminal itself is a lot more subjective and idiosyncratic; different people want different things out of their terminals and the reason is very often that it fits the way they work, or they enjoy some particular features, and even the absence of other features. it is wonderful that libghostty can solve the part that everyone agrees needs to be objectively correct, and lets people concentrate on building the subjective part in the way they like best.
[–] dizhn 9 hours ago
[–] paradox460 1 day ago
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
[–] rafram 16 hours ago
- iTerm started pushing a ton of updates to add features that absolutely no one wanted. AI chat in the terminal emulator (not within the terminal), integrated web browser, etc.
- Some of those features turned out to introduce major vulnerabilities, so they had to push even more frequent updates to patch them. It’s extremely annoying to have your work interrupted by multiple update prompts in a day from your terminal.
- iTerm has visual glitches (line artifacts appearing when windows are opened/closed) on non-Retina monitors.
That said, I miss the GUI for changing settings. Ghostty’s settings file format requires looking up keys every time you want to change something, and it isn’t nearly as powerful as iTerm profiles.
[–] williamdclt 17 hours ago
I wouldn't even need panes and tabs if I used tmux, but I can't be arsed: I used to but now much prefer using a GUI and not have to do tabs/scroll/selection differently than every other application.
[–] paradox460 7 hours ago
All your tabs, splits, etc become tmux equivalents. It's very nice
[–] AdamGibbins 11 hours ago
[–] tdgunes 17 hours ago
[–] Myrmornis 13 hours ago
[–] ashton314 1 day ago
[–] isomorphic 1 day ago
- Font rendering (and cell size control) is still better on iTerm2, although Ghostty has been rapidly gaining
- Compact theme with thin titlebar tabs
- Profiles
- Window arrangements
- In-terminal API (which Mitchell has acknowledged as a useful feature)
The iTerm2 settings/preferences are a mixed bag. On the one hand, discoverability and settings search. On the other hand the panel is insane. Also iTerm2 doesn't have Ghostty's straightforward prefs file. I guess I want the best of both worlds: A well-organized settings UI, with search; and a file I can easily neovim.[–] rkoten 1 day ago
No shade to ghostty btw, it's an amazing product that I use every day. I just have to accept the lack of some of this usability polish.
[–] wafngar 22 hours ago
[–] sdevonoes 19 hours ago
[–] IlikeMadison 1 day ago
[–] lioeters 1 day ago
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.
[–] veqq 1 day ago
[–] arikrahman 10 hours ago
[–] vladde 14 hours ago
not only hilarious, but also very impressive!
[–] CrimsonCape 1 day ago
[–] JdeBP 1 day ago
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.
[–] impizulu 12 hours ago
[–] jwr 19 hours ago
Thank you, Mitchell!
[–] KolmogorovComp 10 hours ago
Most migrations are painful but typically very mechanical, stuff that agents excels at.
On the other end the emphasis on distribution is great! Typically because it involves trust and that for now mean human curation/involvement.
[–] markstos 1 day ago
[–] blactuary 15 hours ago
[–] rvz 1 day ago
1) A non-profit company that has full-time employees but supported via sponsorships: (gnu project, mastodon, omarchy, zig)
2) Multiple for-profit companies that each have full-time employees contributing to an open source project that they all use: (ocaml, linux, rust)
3) An ultra high net worth individual that has full-time contributors to open source and supported via a non-profit (signal, ghostty)
4) A for-profit company that has dedicated full-time employees that have full support and own the direction of the open source project (go, swift, java)
5) VC funded open source projects (Herdr, Bun, Deno, Burno, Atuin)
All other options such as low donations like "buy me a coffee", ko-fi, are completely unsustainable, now that AI agents exist.
[–] Hendrikto 19 hours ago
I think this has not been the case for Java in quite a while. It is a community project now.
[–] gbear605 13 hours ago
[–] 9dev 21 hours ago
[–] zem 19 hours ago
[–] tmtvl 16 hours ago
[–] zem 10 hours ago
[–] rirze 15 hours ago
[–] melodyogonna 19 hours ago
[–] semiinfinitely 12 hours ago
[–] regexorcist 18 hours ago
[–] Sparkle-san 1 day ago
[–] xiaoyu2006 1 day ago
[–] matrixhelix 1 day ago
[–] __MatrixMan__ 9 hours ago
[–] fhub 1 day ago
- Noctty (~517 stars)
- GhosttyWin3
- ghostty-windows (~79 stars)
[–] rmunn 1 day ago
[–] jamius19 11 hours ago
Many basic features are missing, but I'll be keeping a close eye on this project.
[–] bpbp-mango 23 hours ago
[–] rmunn 22 hours ago
(I have formed no opinion, positive or negative, on WinTTY yet, BTW, so don't take this as either an endorsement or a... whatever the right word for anti-endorsement would be).
[–] rirze 15 hours ago
[–] pmarreck 1 day ago
[–] vladkens 12 hours ago
[–] orliesaurus 1 day ago
[–] brcmthrowaway 1 day ago
[–] topaz0 1 day ago
[–] em-bee 8 hours ago
[–] topaz0 5 hours ago
[–] goodmythical 1 day ago
[–] turadg 1 day ago
Haven’t gone back since.
[–] paradox460 1 day ago
[–] turadg 1 day ago
I suppose my accolade is that Ghostty just does what I want without hunting through config screens and managing file edits.
[–] soraminazuki 9 hours ago
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.
[–] gbear605 13 hours ago
[–] sick_of_slop 1 day ago
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_.
[–] cat-whisperer 9 hours ago
[–] Decabytes 1 day ago
[–] nektro 1 day ago
[–] ximm 1 day ago
[–] ivaniscoding 9 hours ago
If you are interested, please DM. I am happy to chat about it.
[–] devy 1 day ago
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 19 hours ago
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".
[–] trollbridge 1 day ago
[–] neomantra 18 hours ago
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
[–] hit8run 23 hours ago
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.
[–] WhereIsTheTruth 22 hours ago
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 23 hours ago
[–] hujun236 1 day ago
[–] jherskovic 16 hours ago
[–] hiccuphippo 21 hours ago
[–] alexpadula 14 hours ago
[–] redeeming 13 hours ago
[–] didip 22 hours ago
why won’t people write their own subset of terminal emulators, just for their own need?
Probably faster without waiting for 3rd party to fix bugs and merge patches, no?
[–] gls2ro 21 hours ago
I do agree in case of terminals this subset of people might overlap a lot with the entire market -> developers.
I see the future a bit different as in many people/companies will offer to the market some kind of building blocks that will be extra configurable by agents and then we are combining them.
In this case libghostty is such a component that can be integrated in a lot of things and people building those things want to work at a higher level of abstraction than building the terminal emulator. To be honest is among the best example of such a component that I see in the future that I think about.
[–] zem 19 hours ago
[–] 9dev 21 hours ago
It’s time for the industry to realize that the weights may have shifted toward build vs. buy, but the general SaaS calculus is still in effect.
Mitchell could have easily snuck his competing product Rex in there but resisted. Respect.