Live data from Hacker News

We rewrote the Ghostty GTK application

mitchellh.com

151–160 of 228 posts

Re: We rewrote the Ghostty GTK application

#151

Earlier quoted context omitted.

> Updating terminfo is easy. lol. sure, very easy to do this on order of magnitude 1000 remote machines whose various OS's are entirely managed by automation.

no need for the bitchy response.

> no need for the bitchy response.

Says the man who accuses others of lack of expertise without a shred of evidence.

Re: We rewrote the Ghostty GTK application

#152
post #87
post #79

Biggest issue I have with Ghostty is that on the mac with Nano.. you can't copy and paste multiple lines into the editor. It's something about how the terminal handles "bracketed pasting".. but yet this isn't an issue with iterm2 and term.

I've used Ghostty as my default terminal since I set up my new computer a couple of months ago. The only issue I have is the missing search which I often reach for to look through output that I didn't pipe anywhere. Bit it's also the most mentioned issue: https://github.com/ghostty-org/ghostty/issues/189

Agreed. This is the only thing stopping it from being the undisputed best terminal for me. I’ve referred 2 people to it in the last few months, both like it but didn’t adopt it because of this.

Re: We rewrote the Ghostty GTK application

#153
post #2

I don't get the hype around this application. The only UI Ghostty has is tabs and the context menu, is it really worth the integration pain and now this rewrite? Maybe they're planning for more, like those GUI configuration dialogs that iterm2 has? Kitty uses OpenGL for everything and draws its own tabs, they're fully customizable and can be made to look however you want. By not wasting time on integrating with massi…

> The only UI Ghostty has is tabs and the context menu - Tabs - Splits - "this process has exited" banner - Close confirmation dialogs - Change title dialog - Unsafe paste detection dialogs - Context menus - Animated bells (opt in) - "Quake-style" dropdown terminals (cross platform but different mechanisms) - Progress bars (ConEmu OSC 9;4) - macOS: Apple Shortcuts Integration - macOS: Spotlight Integration Probably m…

> including having more escape sequences result in more native GUI elements.

That’s how you invent HTML forms (those were modeled on IBM 3270)

Re: We rewrote the Ghostty GTK application

#154
post #98

Earlier quoted context omitted.

Windows is becoming less and less of a platform every year

I remember the days when "cross-platform" meant it worked on both operating systems: Windows 95 and Windows NT!

I remember Silverlight being advertised as a cross-platform solution (in small print: works on all supported Microsoft(R) Windows™ platforms!). To this day there are things written for Electron which are „cross-platform” in the sense that Windows and macOS are supported, but none of Linux or *BSD.

Thus I have some warm fuzzies when something new is cross-platform, but not on Windows. (But hey I heard WSL supports Wayland?) Even more warm fuzzies if Windows users come to whine about availability. Happy to have lived to see this turning of tables come.

I’m not a good person, I guess.

Re: We rewrote the Ghostty GTK application

#155
post #100

Earlier quoted context omitted.

2025, still cannot have taskbar on left or right side in Windows 11. I can do that on GNOME and macOS. And yes, with 21:9 it is very nice. With a vertical monitor or a 3:2 (Surface), not so much.

You have to install an extension to do that on GNOME, likewise on Windows 11 you can use Explorer Patcher. Both "monkey patch" the shell.

While I prefer tiling windows manager, GNOME’s approach is sensible. Restrain your features to a restricted default and allow users to extend it if they want to. The code is open and well organized as far as I can see. So it’s very easy to see where to extend from.

Re: We rewrote the Ghostty GTK application

#156

Earlier quoted context omitted.

While pulling in a library just for window decorations is insane, the same could make sense for a full UI toolkit - after all, that's how standard UI components have worked on e.g. Windows. In a way, Qt can already fulfill that role because by default it tries to adapt to the look and feel of the platform it runs on, including using GTK themes. Too bad that it's a bloated pig without a stable ABI that would allow you…

> after all, that's how standard UI components have worked on e.g. Windows Standard UI components on Windows are in user32.dll, and that's guaranteed to exist on each Windows installation all the way back to Windows NT. And to just get an empty decorated window all I need to do is call CreateWindowEx() (which will always look consistent), all the rendering inside that window can then be done through one of the 3D API…

AFAIK, both KDE and GNOME had an architecture already where they changed only the base layer to adapt to wayland. Wlroot have a different architecture. And that’s why you have three mainstream implementations.

Re: We rewrote the Ghostty GTK application

#157

Earlier quoted context omitted.

no need for the bitchy response.

> no need for the bitchy response. Says the man who accuses others of lack of expertise without a shred of evidence.

Well you seem to think automating update of terminfo on a fleet of machines is too difficult so...

Re: We rewrote the Ghostty GTK application

#158

Earlier quoted context omitted.

> after all, that's how standard UI components have worked on e.g. Windows Standard UI components on Windows are in user32.dll, and that's guaranteed to exist on each Windows installation all the way back to Windows NT. And to just get an empty decorated window all I need to do is call CreateWindowEx() (which will always look consistent), all the rendering inside that window can then be done through one of the 3D API…

AFAIK, both KDE and GNOME had an architecture already where they changed only the base layer to adapt to wayland. Wlroot have a different architecture. And that’s why you have three mainstream implementations.

Slightly unrelated, but I wonder why the "Linux desktop maintainers" (whoever that is - and that this is even a question is probably the main problem) haven't come up yet with a minimal shared 'interface library' that's mandatory on each Linux desktop installation, and which provides a standard API (but no implementation) to create a window, get input events and probably also a set of simple UI widgets (buttons, sliders, checkboxes, lists - basically what Win32 or X11 provides).

KDE, GTK or any other concrete UI toolkit register 'drivers/plugins' with this interface library to do the actual work.

Minimal 'framework-agnostic' UI apps can then use this standard shim library and always look fully native, while applications which require the full KDE or GTK feature set can still use those frameworks directly.

Call it Common Desktop Environment or something idk...

Re: We rewrote the Ghostty GTK application

#159
post #73
post #3

Nice example of how good programming is often about meeting systems where they are: Whatever your feelings are about OOP and memory management, the reality is that if you choose GTK, you're forced into interfacing in some way with the GObject type system. You can't avoid it. Well you can avoid it and we did avoid it. And it leads to a mess trying to tie the lifetimes of your non-reference-counted objects to the refer…

Giving in a bad system is more pragmatic rather than good

No, it is about doing what you can, with what you have, where you are. That is good.

Re: We rewrote the Ghostty GTK application

#160
post #73

Earlier quoted context omitted.

Giving in a bad system is more pragmatic rather than good

No, it is about doing what you can, with what you have, where you are. That is good.

Since you can do both (you're reading a post about a RE-write) your 1-dimensional framework doesn't help deciding what is good
Post reply on HN