Search Explore
  • asadm · 9 months ago

    ooh a web version would be insanely cool.

    • jasonjmcghee · 9 months ago

      Such incredible news. I'm absolutely going to use this.

      • jrop · 9 months ago

        I've been keeping an eye on this in the hopes that text-reflow (edit: including for scrollback) could be solved in Neovim-based terminals [1]. I'm loving the innovation Ghostty is bringing to the terminal space.

        1. https://github.com/neovim/neovim/issues/33155

        • jez · 9 months ago

          Do you consider yourself a neovim terminal power user?

          I tried a while back to invert my workflow (from tmux driving neovim to neovim driving terminals) because I thought it might be easier to only ever have one buffer open for a given file, instead of attempting to open a file in a given pane only to realize that it's already open in a different neovim instance in a different pane.

          When I was testing that stuff out I don't think I noticed particular issues with text reflow that would benefit from being solved by swapping to libghostty, rather my pain points were just about how to adjust to the different paradigm. I'd be curious to hear more about someone who is all in on Neovim embedded terminals (and possibly how libghostty might make it better).

          • jrop · 9 months ago

            I do indeed live in the terminal (all day due to work), but tmux adds too much value for me to do all terminal management in Neovim (tmux session-management being what I use most). I've just encountered too many visual "glitches" in the Neovim terminal to rely on it for everything. That's not to say, however, that I never use the built-in Neovim :terminal.

            > I thought it might be easier to only ever have one buffer open for a given file, instead of attempting to open a file in a given pane only to realize that it's already open in a different neovim instance

            This is not a problem in my config:

                vim.api.nvim_create_autocmd({ 'FocusGained', 'BufEnter', 'CursorHold' }, {
                  pattern = '\*',
                  command = 'silent! checktime',
                })
            
            Since `'autoread'` is by default `on` in Neovim, this seamlessly reloads the buffer if the underlying file has been updated on disk.
            • jez · 9 months ago

              I think my problem is when I realize that I had unsaved changes open in a different neovim instance. If the file was not dirty in any other open neovim instances then I don't have the same problem.

              • khamidou · 9 months ago

                I'd be curious to hear more about how tmux helps you — I tried it and besides keeping a permanent session open on a remote server to me I didn't find much use for it compared to regular terminal tabs

                • jrop · 9 months ago

                  I use it daily locally, and find it amusing how many only think of it as being useful on remote servers (not to invalidate your use-case -- I'm just contrasting my own use). As a precursor, I view UNIX as my IDE, of which tmux is a part: this IDE runs on Windows (WSL2), macOS, Linux, and Android (Termux). That aside, here are a few reasons I find tmux to be useful in this concoction of tools:

                  - Session management. I've written custom scripts for myself around this (zoxide + fzf). If you want to see how this can be used, look at ThePrimagen's workflow. I don't use his scripts but he has a good demo of how he harnesses sessions.

                  - Unified scrollback management - easily search the scrollback, yank it, etc. My favorite thing to do is to yank part of the scrollback, then `Prefix+B,=` to list everything I've yanked (think of this like a "clipboard manager" specific to tmux), select an entry, and press `e` to edit it in `$EDITOR`.

                  - This one might be a stretch, but I tend to try and use only terminal tools (without being utterly insane) because then tmux can be my "tiling window manager" no matter what OS I'm on. Oh, I have to use Windows for work? Not to worry, tmux runs in WSL2, as do most of my preferred tools, so I feel mostly at home even though I normally really dislike Windows.

                  - It's scriptable. Read `man tmux` and use your imagination!

                  Notwithstanding any of that, there are cons, the most apparent one being that I am limited to text-based tools this way. An example of this: getting images to work in tmux, though many modern terminal emulators support them, is a huge pane, so I haven't bothered.

            • c-hendricks · 9 months ago

              I'm all in on Neovim terminals, having a remote development setup means it keeps my terminal with my neovim window (I use nvim-qt).

              Also not sure how ghostty would help, haven't noticed text reflowing issues.

              It's not bad, a little awkward getting used to:

              - you might want a plugin to give you a "persistent" terminal across all tabs

              - I still haven't found a way to clear scroll back while a command is running

              - I had to set up mappings for easier exiting terminal mode (c-\ c-n really sucks)

              - I had to set up events so whenever a terminal buffer is focused it immediately enters insert mode. While I love vim, I've never wanted modal editing in a terminal

          • iammrpayments · 9 months ago

            I wish they had used something like this in Shopify, instead they decided it was a good idea to embed VScode in the browser in case users want to make a small modification to theme files, it even has a 5 second boot time.

            • ComputerGuru · 9 months ago

              What’s a user-friendly mouse friendly modeless cli text editor you can compile to wasm?

              • Wingy · 9 months ago

                micro?

                • Imustaskforhelp · 9 months ago

                  You literally, and I mean literally read my mind dear random stranger down to the wording. Micro is definitely underrated.

                  Micro is a truly goated software. I mean, it can genuinely replace vscode for small scale editing in the context of shopify that the parent comment was referring to.

                  https://micro-editor.github.io/

                  It also helped me in physics when I had to remember the units like 10^-6 being micro, 10^-9 being nano etc. and the funny thing is that I used to remember it in the start by seeing I am not sure if it was on micro's github or something but it was a comment on how micro has more features than nano and thus it's name.

                  So like for some time I definitely felt like I was thinking of micro software, then nano and making the feature comparison to find micro to be larger than nano.

                  Might seem kinda niche but I ABSOLUTELY LOVE MICRO. Its the one software that I install everywhere, even on my android phone by using UserLand[1] with alpine linux.

                  I tried writing python code on my phone and it was definitely pleasant thanks to micro.

                  [1]:https://github.com/CypherpunkArmory/UserLAnd

                • cultofmetatron · 9 months ago

                  I don't think its really practical to do so. wasm can't directly access the canvas or webgpu contexts. it has to route date through js anyways so you will always have js code in the loop here.

              • bigwheels · 9 months ago

                This is super cool, it will be so nice to have a truly omni-platform terminal emulator that can even conceivably extend to iOS and Android.

                Aside: I didn't realize Ghostty was written in Zig, wow. The first Zig-thing I'm aware of using on a regular basis. It's amusing the repository structure looks exactly like a Golang layout, haha.

                https://github.com/ghostty-org/ghostty

                • ldemailly · 9 months ago

                  It doesn’t (look like a go layout) and that’s a good thing because pkg/ src/ etc aren’t good go directories.

                  • metaltyphoon · 9 months ago

                    Since go 1.25 you can declare the what is the “root” of a go module, which is a good thing. Not everyone wants the top level directory filled with go files specially in a multi language repo. So this idea that /src is not good go directory will soon be outdated.

                  • keaaww · 9 months ago

                    Not omni-platform if you have macOS < 13. It's the author's prerogative to set minimum requirements, of course, but for something "basic" (note the quotes) like a terminal emulator, not having far-reaching backwards platform compatibility is a deal-breaker for many. Life's hard enough for macOS users who don't want to upgrade the OS every 6 months and/or replace hardware every 2 years. For people like me who prefer to run their systems as purchased until the hardware fails, the "move forward or get left behind" upgrade mentality is very troublesome.

                    Hopefully libghostty will be much more permissive. No dependencies (not even libC) is a good sign that will be true.

                    (written on a 2018 macbook pro running macOS 10.14.6, which still works great in every way)

                    • nixosbestos · 9 months ago

                      I would pay money to never have users like you, even if my software incidentally worked on your intentionally terribly out-dated system.

                      • keaaww · 9 months ago

                        What an odd sentiment from someone who supposedly values explicit, declarative, total control over their OS configuration, and not just the rolling-latest-and-greatest.

                        and p.s., way to take a neutrally stated, perfectly reasonable preference of system usage and make it personal. The perfect example of the type of person I'd pay money never to encounter.

                        • nixosbestos · 9 months ago

                          It's not an odd sentiment at all, you would be ridiculed widely for running an unsupported, out of date Linux distribution too.

                          You can do whatever you want, I left my true thoughts out, and kept it as impersonal as possible. As someone who ships and supports products and has to deal with curmudgeons like you, I would literally pay to not have you as a customer or user. People like you are a constant drain on attention, time, and focus. You know, like you basically expecting folks to bend over backwards, in this very thread, to support you, when there's a perfectly viable supported solution.

                          > perfectly reasonable preference

                          Whatever you say, friend.

                  • trial3 · 9 months ago

                    i desperately want to use ghostty but cmd+f support is just such a dealbreaker. excited about this development though!

                      • trial3 · 9 months ago

                        oh, incredible! i'll keep my eyes peeled and will be switching to it from iTerm the moment it's available

                      • esafak · 9 months ago

                        Can someone explain why this was not one of the first features added? Who doesn't want to search their history? There must be some complication.

                        Mitchell raised the issue himself two years ago: https://github.com/ghostty-org/ghostty/issues/189

                        • SG- · 9 months ago

                          probably because you never volunteered to code it up.

                          but really not all features can make it in 1.0

                          • przmk · 9 months ago

                            As someone who lives in the terminal, I can't say I've ever had the need to do that. It's only by reading the comments that I've realised that there's no search in Ghostty.

                            • swah · 9 months ago

                              Guessing its "hard to do it right".

                            • nhumrich · 9 months ago

                              I have heard this from a lot of people, yet here I am, using a terminal that supports this, and have yet to ever do it. Can you help me understand what workflows you depend on Ctrl+f for? I wonder if I am missing something big.

                              • esafak · 9 months ago

                                Don't you ever need to search through a program's output; e.g., to find what failed? Otherwise you'll have to remember to tee everything to a file every time you run a command.

                                • SSLy · 9 months ago

                                  forever i've been doing the grug brain way of copying the output to notepad++/sublime-text

                                  • ludsan · 9 months ago

                                    I guess that's what I always do. or grep or awk or sed.. Maybe if a program takes hours to return it's helpful to be able to search the terminal, but otherwise i'm just pushing up with my arrow and `| grep -v UGLY | grep BEAUTIFUL`

                                    • OskarS · 9 months ago

                                      You know, I can't remember ever doing this in a terminal. Not because it doesn't sound useful (it sounds VERY useful), it just sort-of never occurred to me as a thing you could do. It's just muscle memory at this point to rerun the command with a pipe to a pager and search there.

                                      • badosu · 9 months ago

                                        I get ya, but this would be more of my case if my terminal didn't have scrollback search available (or if I really wanted to scrutinize the output carefully).

                                        In foot I just ctrl+shift+r and search back the references one-by-one in a mode, which I guess is 90% of my use case for scrollback.

                                      • Geezus_42 · 9 months ago

                                        |grep or |less

                                        • esafak · 9 months ago

                                          Not after it's run you don't.

                                          • Geezus_42 · 9 months ago

                                            You just run it again.

                                            • esafak · 9 months ago

                                              It could take a long time to run, and my time is not free. The native MacOS terminal has a buffer search, why doesn't ghostty? It is a rudimentary feature.

                                              • saagarjha · 9 months ago

                                                I can’t always do this.

                                                • ninkendo · 9 months ago

                                                      $ rm -rfv huge_dir
                                                      (A zillion removed files scroll past)
                                                  
                                                  Now check if any of the removed files that were dumped out contain “foo.txt”.

                                                  No, “just run it again” doesn’t work.

                                        • Tossrock · 9 months ago

                                          You could run tmux inside it and bind cmd f to copy-mode + /

                                          • timeon · 9 months ago

                                            > i desperately want to use ghostty

                                            Is there any particular reason?

                                            • Imustaskforhelp · 9 months ago

                                              Curiosity?

                                              • trial3 · 9 months ago

                                                iterm2 is slow, uses a ton of memory, and keeps adding weird bloat/AI garbo

                                              • yankcrime · 9 months ago

                                                You can map something like cmd+shift+f to open the entire buffer in your default text editor, this has been sufficient for a lot of folks - myself included - while we wait for native scrollback search to land.

                                                • trial3 · 9 months ago

                                                  wow yankcrime describing a literal vi yank crime. i'll give it a try this week, that's helpful

                                                • sionisrecur · 9 months ago

                                                  I started using it months ago and don't miss that so much, if I really can't rerun the command and pipe it to less/grep. I'll just use the mouse to copy it to the clipboard and then run `xclip -o` (linux) or `pbpaste` (mac) and pipe it to grep. I know there's a keybinding for putting the buffer in a file, but copying with the mouse is faster than finding it.

                                                  Also, not sure if this is by default or it picked it up from my old iTerm2 configuration, but cmd+shift+up/down navigates through prompt lines so it's easy to find the start of a long command. My PS1 in zsh is:

                                                      PS1='%1~ %F{green}»%f '
                                                • hackitup7 · 9 months ago

                                                  I love how this guy founds + takes public + sells a multibillion company and then just goes right back to hacking. Legend.

                                                  • rwmj · 9 months ago

                                                    And hacking on tty software too, the geekiest corner of the Unix tech stack.

                                                    • buildbot · 9 months ago

                                                      I love ghostty and use it daily, somehow I missed it was by Mitchell Hashimoto! Very cool to see.

                                                      • krferriter · 9 months ago

                                                        I had tried it briefly previously but in the last couple months I think I have made the permanent switch from iterm2. It's so much snappier and simpler and also reliably handles text reflowing when a long line wraps, which was a constant problem I had in iterm2, where it would insert fake newlines when copying out text that was wrapped.

                                                        I also like that I can have my config in a little plaintext file and just drop it onto a new computer and get the same keybindings. I am using the terminator keybindings for creating and navigating between split panes.

                                                      • qaq · 9 months ago

                                                        100% Legend love Ghostty btw :)

                                                        • kortex · 9 months ago

                                                          Hashimoto is an absolute wizard, but what I find most compelling about him is his absolutely uncanny ability to segment and abstract systems and interfaces in a way for maximum composability and minimal entanglement. He's like the walking embodiment of Rich Hickey's Simple Made Easy philosophy. It's like he designs software systems in such a way that they have no choice but to operate correctly and predictably.

                                                          Also I just tried Ghostty for the first time. With iTerm2 and the Zsh/Powerlevel10k theme, there's an extremely brief but perceptible lag from running a command and the render. In ghostty it feels actually instant.

                                                          • alostpuppy · 9 months ago

                                                            I love ghostty. The only thing that is missing is a find feature which is such an odd omissions for an incredible piece of software.

                                                              • Geezus_42 · 9 months ago

                                                                1.3 is slated for release in March 2026.

                                                              • horsawlarway · 9 months ago

                                                                To add... The missing scrollbars feel painful to me. I don't even want them for scrolling, really. I want the visual reference for:

                                                                "How much content is in this window"

                                                                and

                                                                "Where am I in that content"

                                                                I still use it daily but it means I have to switch tools for certain things, and reading log files or log output is one of the more common reasons I switch.

                                                                I should probably look into trying to get the scrollback info into my statusline, No idea how easy or hard that is - so if someone has done it, feel free to shoot me pointers.

                                                                • jsrcout · 9 months ago

                                                                  Same here, scroll bars are literally the one missing feature keeping me from making Ghostty my daily driver. But the release notes roadmap mentions they will add them for 1.3. Waiting with anticipation.

                                                                  • j1elo · 9 months ago

                                                                    Suggestion to use Klogg (https://github.com/variar/klogg) for reading log files.

                                                                    I always was on the camp of "tail -f file.log" but since discovering this app, I saw the light.

                                                                      • fragmede · 9 months ago

                                                                        Centralized logging, a la Splunk is the gold (with what they charge, probably platinum) standard here. Watching someone who knows what they're doing at a Splunk console for a distributed system they understand is a thing of beauty. It's just a shame they charge so much.

                                                                      • godelski · 9 months ago

                                                                        Maybe I'm misunderstanding your request but do you not pipe outputs into a pager? (Less, more, batcat, etc) I feel like I'm probably not understanding the context though.

                                                                        • ec109685 · 9 months ago

                                                                          Sometimes you just have a command write output.

                                                                          • rorytbyrne · 9 months ago

                                                                            In that case are scroll bars even helpful for determining position?

                                                                            My terminal history is normally huge, and the log output would be some unknown percentage of the total scrollable history.

                                                                            • godelski · 9 months ago

                                                                              I'm still not quite sure what you mean. You can still {|,>} output from a program, so less and grep still help.

                                                                              Or do you mean when you inevitably forget? Well then yeah you're at the mercy of your terminal but as others mentioned ghostty has a hack to help as well as some other terminals. But this should also help reinforce why you should pipe more often and write to files (or tee). It sucks but not making the same mistakes in the future and learning better habits will help you write better code and use better practices.

                                                                              But that's the age old problem of "you can't analyze the data you didn't record" and that's a footgun you'll experience in every programming language, every experiment, and across many parts of life. Better to record and throw it away than not record and regret it.

                                                                              • horsawlarway · 9 months ago

                                                                                > "you can't analyze the data you didn't record"

                                                                                It IS recorded. It's right there in scrollback (Literally the default buffer to record). It's easily accessible with most tooling, including nice scrolling, mouse support, find/search, etc...

                                                                                Except in Ghostty, it's not so accessible. No find, no scrollbars.

                                                                                I end up having to dump it into another tool, which at least they make pretty easy (ex: https://ghostty.org/docs/config/keybind/reference#write_scro...).

                                                                                Although deciding when to do that would be easier if I had a better indicator for just how much scrollback content exists. Ex - if it's 3 pages... I'll just scroll through it. If it's 3000 pages... time to dump to file.

                                                                                So no - by default I use a pager... just about never. Why would I when I have absolutely everything in scrollback by default 99.9% of the time?

                                                                                ---

                                                                                Don't confuse your preferences with "correct" :P

                                                                                I'm doing just fine with code and best practices, I'm simply stating that this is a rough edge on an otherwise lovely tool.

                                                                                • godelski · 9 months ago

                                                                                    > Don't confuse your preferences with "correct" :P
                                                                                  
                                                                                  Don't overlook the point by fixating on a technicality

                                                                                    > I'm doing just fine with code and best practices
                                                                                  
                                                                                  Yet, you aren't following best practices

                                                                                    > So no - by default I use a pager... just about never. Why would I when I have absolutely everything in scrollback by default 99.9% of the time?
                                                                                  
                                                                                  Fewer capabilities. But those were already explained and not just by me. There really should be no need for such huge scrollbacks, you have history

                                                                                    > I'm simply stating that this is a rough edge on an otherwise lovely tool.
                                                                                  
                                                                                  No one has disagreed with this point. I think everyone even agrees
                                                                        • godelski · 9 months ago

                                                                          There's a few things like this but I'll give a pass because how new it is. Were this a mature project I'd be upset at incompetence, but given how young it is I think it's too early to be harsh.

                                                                          Plus, they're very open about what they're doing and prioritizing. As another commenter said, it's coming soon. For the rest, open feature requests, you might have needs that others didn't think of or even realize they needed

                                                                          • keyle · 9 months ago

                                                                            I find the search through a file actually makes sense.

                                                                            If you don't know, you can send the log to a file, and open that file to look through it. More powerful than just a search next, as you can have instance counts, search with regexp and all the bells and whistles and it virtually stops the logging.

                                                                            At first I thought the same as you, now I've become quite partial to this concept. I hope they don't remove this.

                                                                            • WD-42 · 9 months ago

                                                                              In the latest version Shift + ctrl + alt + j copies the entire screen and opens it in what I assume is $EDITOR (maybe this can be configured). Or just shift + ctrl + j to copy the screen to temp file and pate the path. Either way, it then just becomes configuring it to use a pager by default, or `shift+ctrl+j` and then | less. This is similar to how kitty does search, by essentially outsourcing it to an external pager. I was put off by it at first, but it's very much in the UNIX philosophy.

                                                                              • thayne · 9 months ago

                                                                                Kitty at least let's you control the program used, and even set up different bindings for different programs.

                                                                              • chamomeal · 9 months ago

                                                                                I honestly didn’t even realize it was missing until I was reading this thread, cause I’m always in a zellij session which has a “search in default editor” key.

                                                                                Pop the whole scrollback in helix, where I can search, select, jump around, paste stuff into a scratch buffer. It’s slick. It’s got a normal search too. But yeah I haven’t used a built in emulator search in a while I guess!

                                                                              • jauntywundrkind · 9 months ago

                                                                                The nerds would do sooo much better for ourselves if we could build a momentum behind comments like this.

                                                                                Finding mechanistic (& programmatic) sympathy counts for so so much! Shapes the arch of software so much! But it's such invisible unknown work to most people, not so overtly clear & obvious but something that constantly builds day after day, person after person, incremental 0.2% gains compounded by lack of friction.

                                                                                As well as just promoting good practioners, it feels like discourse about software architecture has really fallen off. We are deep inside rabbit holes specific to this framework or that, and there's only occasional popping out to free air to bring back some observations from the burrows. Ideally we'd have many more volumes of Architecture of Open Source Applications (2011), for example, to really dive into what is, to give us some common referents to learn from and talk about. https://aosabook.org/en/

                                                                                This is all so core, so worth getting deep on & looking how things are assembled, what the interfaces and modules and shapes look like, what the tradeoffs were. But it remains chiefly an arcane art, one that most developers much less most businesses haven't developed a refinement or taste for.

                                                                                • mattgreenrocks · 9 months ago

                                                                                  > As well as just promoting good practioners, it feels like discourse about software architecture has really fallen off.

                                                                                  My observations of 20+ years in tech is that tech, collectively, chases the easiest thing to do, then complains it doesn't work without the self-reflection to realize that the very pursuit of doing/understanding as little as possible dooms the result from the beginning.

                                                                                  They spend years of often-needless/excessive effort to avoid weeks of studying that would move them forward.

                                                                                • ksec · 9 months ago

                                                                                  I only wish after 1.3 he could hand over Ghostty to others for maintenance and move to improve other things.

                                                                                  The software world really needs people like him to drive things forward.

                                                                                  • WD-42 · 9 months ago

                                                                                    How is this not driving things forward? It's the best terminal emulator I've ever used.

                                                                                    • vincentkriek · 9 months ago

                                                                                      The person you replied to agreed, but the maintenance could be done by other people while Hashimoto could continue to improve other technologies.

                                                                                      • talideon · 9 months ago

                                                                                        It's Mitchell's hobby project. If he had an interest in improving other technologies, he would. People are allowed to have hobbies.

                                                                                        • hoppp · 9 months ago

                                                                                          They have things for contributors, so if somebody wants to jump on it, they can

                                                                                          • opan · 9 months ago

                                                                                            That sounds like what Drew DeVault does (did?). He made sway, aerc, and others but largely doesn't work on them now AFAIK, passing off work to other people such as emersion.

                                                                                          • stavros · 9 months ago

                                                                                            I just tried it, coming from Kitty, and I didn't notice many differences. What's good that I can try?

                                                                                          • talideon · 9 months ago

                                                                                            Ghostty is his hobby project: why would he do that?

                                                                                            • ArnoVW · 9 months ago

                                                                                              Because maintaining is not as fun as starting? Because other people can maintain a well structured project but not as many people can start something from scratch? Because his skills can be better used elsewhere?

                                                                                              • adrianmsmith · 9 months ago

                                                                                                That sounds like the Google philosophy though, where smart people come up with ideas and write the initial implementation (then get promoted) and other less smart people take over, and you end up with a mess that had great potential like Bazel?

                                                                                                • afiori · 9 months ago

                                                                                                  My understanding is that this is not a philosophy at all, it is an incidental result of a bad set of misaligned incentives, where to be promoted you need to start something new or drive growth and post launch maintenance/growth is weighted much less

                                                                                                  • koskanaiken · 9 months ago

                                                                                                    This could also end up like Fabrice Bellard's projects: yes he is no longer maintaining tinycc, but as a result we are now getting ffmpeg, qemu, and more.

                                                                                                  • robertlagrant · 9 months ago

                                                                                                    > Because maintaining is not as fun as starting?

                                                                                                    The previous commentor is hoping he'll move on because maintaining isn't as fun as starting? Why do you think he can't decide that for himself?

                                                                                                    • ArnoVW · 9 months ago

                                                                                                      Don't know his motivations. Just gave mine.

                                                                                                    • rowanG077 · 9 months ago

                                                                                                      Hmm I found the opposite to be true. Maintaining a well structured project is a much harder skill then starting green field.

                                                                                                • hoppp · 9 months ago

                                                                                                  He has the skills and the time to make the best possible software and he's doin it for free Respect for that.

                                                                                                • giancarlostoro · 9 months ago

                                                                                                  Basically MariaDB. He (original creator of MySQL) sold MySQL for a Billion dollars (iirc) forked it, created MariaDB and kept at it. It's been what 15 years now?

                                                                                                  • internetter · 9 months ago

                                                                                                    Wrong person. You're thinking of Michael “Monty” Widenius, not Mitchell Hashimoto

                                                                                                    • karimf · 9 months ago

                                                                                                      I think op is telling a similar story, not necessarily the same person.

                                                                                                      • giancarlostoro · 9 months ago

                                                                                                        You are correct. I tried to rewrite my statement after I was being downvoted. English is not my first language to the surprise of most.

                                                                                                  • deadbabe · 9 months ago

                                                                                                    Wow, I wonder what his everyday life must be like.

                                                                                                    • nosequel · 9 months ago

                                                                                                      Also, in real life, he's a genuine nice guy. I had lunch with him and Armon at a conference when they worked at Kiip, before they founded Hashicorp. Mitchell (to me) was the proper hacker. He just loved everything about computing. This particular conference was about distributed systems and he was just geeking out on everything.

                                                                                                      I walked away thinking that no matter what they did, they'd probably be successful. I was extremely happy to find Ghostty and have been using it ever since.

                                                                                                      • oblio · 9 months ago

                                                                                                        You made me look into HashiCorp again. It's a great company from a developers perspective, in terms of the many useful tools created: Vagrant, Packer, Nomad, Consul, etc

                                                                                                        However their financials are... LOL

                                                                                                        Revenue US$583 million (2024)

                                                                                                        Operating income US$−254 million (2024)

                                                                                                        50% loss margin :-)))

                                                                                                        • n4bz0r · 9 months ago

                                                                                                          This can't be right. How are they still afloat?

                                                                                                          Actually, that's the question (or rather the feeling) I had even before seeing these numbers. Just by reading the docs and looking at everything they built (and how they built it) made me wonder if they spend more than they make. That's a really funny feeling I never had before. Like, surely economies can't be that forgiving when it comes to polishing things. Is that what's happening to the company? Mere overspending?

                                                                                                          • ec109685 · 9 months ago

                                                                                                            They’re owned by IBM

                                                                                                            • pjmlp · 9 months ago

                                                                                                              More like IBM saved them.

                                                                                                        • godelski · 9 months ago

                                                                                                          I just want to say, what a dream. To have wealth and be able to create projects for the sake of going the projects. To not have to make the concessions of quality for profits.

                                                                                                          There's an old Knuth quote:

                                                                                                            > In fact what I would like to see is thousands of computer scientists let loose to do whatever they want. That's what really advances the field.
                                                                                                          
                                                                                                          And I think we're seeing more and more that these projects made with love are successful. That without the hyper fixation on money we can build good projects that make big changes in a world.

                                                                                                          In some sense I'm a bit envious of Mitchell but truthfully these types of things make me more question how we've constructed our society and economy. It shouldn't require one to start with wealth to be able to build things that have such an impact. What needs to be changed where we can live up to what Knuth proclaimed. I'm sure all of us have had experiences where were we given the time (and usually not much) we could make things so much better. But we make many sacrifices when we rush. Which leads to more good advice by Knuth

                                                                                                            > If you optimize everything, you will always be unhappy.
                                                                                                          
                                                                                                          At what point do we push back? We see that the people we really look up to did things so differently. Knuth himself expressed how detail obsessed he was, and such a claim is common among the grey breads. Of course, things change, but are we creating a world with no wizards? Are we creating a world where we reward people for solving problems and making our lives easier? Or are we just maximizing some score of a pointless game?

                                                                                                          I'd love to live in a world with a thousand more Mitchells, following their passions without the burden of needing to justify decisions to a board who has no interest in quality. How do we create that world?

                                                                                                          Like you said, what a legend. But, how do we make more legends?

                                                                                                          • mikestorrent · 9 months ago

                                                                                                            What we are missing is a sponsorship model that is able to fun this kind of thing. It's not infeasible - look at university grants dispersement as an example of the overwrought predecessor of this. A ton of money moves through such institutions, and funds a lot of interesting projects.

                                                                                                            One thing I've been envisioning is something like a "certified B corporation" style qualification that companies can get that indicates they contribute financially back to open source commensurate to the amount of it they consume to run their core business. If everything you do runs through open source software, in a moral sense, one can make the argument that you owe something back to it.

                                                                                                            • godelski · 9 months ago

                                                                                                              Having recently come out of grad school, tell me about it...

                                                                                                              But the same general problem exists in industry. Our fear of doing things non-optimally only results in a less optimal solution. It's a risky move to take no risks.

                                                                                                              In both academia and industry you see the same people doing the same things in the same way. It's no wonder things don't change. You can't have a paradigm shift by following the paradigm (playing it safe). I feel like this is a big shame in both tech and academia as the histories of these have always been made by those who rocked the boat. At some point we just have to admit we're not very good at predicting the future and instead of trying to predict what will be the most successful we should fund passion. I'm sure charlatans will get funded too, but its not like we're doing a good job at preventing that from happening now anyways...

                                                                                                          • ivanstepanovftw · 9 months ago

                                                                                                            Yeah, it is so hard to be born and raised in California.

                                                                                                            I cannot imagine what he went through.

                                                                                                            Hero.

                                                                                                            • johnisgood · 9 months ago

                                                                                                              Related: https://news.ycombinator.com/item?id=45056901

                                                                                                              From the author himself: "My company had an exit, I did well financially. This is not a secret. I'm extremely privileged and thankful for it.".

                                                                                                              Honestly, good for him [for doing well financially] and for admitting that he is privileged, and above all, being thankful for it.

                                                                                                            • loeg · 9 months ago

                                                                                                              The ghostty version probably doesn't write the entire scrollback buffer to disk (given its lack of dependencies).

                                                                                                              • Narushia · 9 months ago

                                                                                                                Vte is GTK-only, while libghostty aims to be cross-platform.

                                                                                                                • tristan957 · 9 months ago

                                                                                                                  libghostty will eventually export a Terminal widget that can be used in GTK as well, so in that regard they serve a similar purpose.

                                                                                                                    • mitchellh · 9 months ago

                                                                                                                      libvterm is great. Ghostty supports many more features, but the most important I hear from other libvterm users are that it's missing scrollback and reflow on resize, which are both pretty major pieces of functionality.

                                                                                                                      Example: Neovim is considering the switch to libghostty-vt when its ready. https://github.com/neovim/neovim/issues/33155

                                                                                                                  • jdorfman · 9 months ago

                                                                                                                    The passion and attention to detail Mitchell has for developer experience is beyond me. I remember the first time I used Vagrant (2011, Santa Monica California) like it was yesterday it was that impactful.

                                                                                                                    I never thought in a million years I would even think of ditching iTerm2 but when Ghostty dropped I installed it and fell in love.

                                                                                                                    • x3n0ph3n3 · 9 months ago

                                                                                                                      What exactly does it do better than iTerm2? I gave it a try a few weeks ago and wasn't at all impressed, but maybe I just don't know what I'm missing.

                                                                                                                      • jdorfman · 9 months ago

                                                                                                                        Great question. For me it feels faster (anecdotally) and certain TUI components don’t break. It also is probably my bias of loving his work as well as everyone at work using it. Hive mentality I suppose.

                                                                                                                        • steve_adams_86 · 9 months ago

                                                                                                                          My experience is similar. Stuff doesn't break and it feels extremely snappy. I've switched to Zed for the same reason. I came to realize that I work much better with faster, simpler software, even if it's missing some nice-to-haves. It feels like you're closer to the problem you're trying to solve.

                                                                                                                    • drob518 · 9 months ago

                                                                                                                      Kind of surprised that we haven’t created this library before now. But glad to see it coming.

                                                                                                                      • Biganon · 9 months ago

                                                                                                                        On the very day ghostty refuses to load my theme because themes now start with an uppercase letter; the same day I'm no longer able to enter `^` (a caret) for some reason. Not to mention the multiple times where the clipboard suddenly and completely stopped functioning, in the last few weeks.

                                                                                                                        I love ghostty, but if it keeps suddenly failing for no apparent reason I might have to go back to wezterm.

                                                                                                                        • paraboul · 9 months ago

                                                                                                                          Chill, there was literally one single update since the initial launch. It's not like it's getting breaking changes every day.

                                                                                                                          • SG- · 9 months ago

                                                                                                                            damn, you should ask for a refund.

                                                                                                                            • Biganon · 9 months ago

                                                                                                                              Sorry, I hadn't realized only positive feedback was allowed here.

                                                                                                                            • ralgozino · 9 months ago

                                                                                                                              You seem to be using tip. Switch to using a stable release (1.2 is the latest one) instead if you don't want to be exposed to potential issues.

                                                                                                                              FWIW I've using tip since the closed beta and never had major issues.

                                                                                                                            • HellsMaddy · 9 months ago

                                                                                                                              Super exciting. I hope to be able to embed a Ghostty-backed terminal into my Rust app in the future. Amazing work as always, Mitchell!

                                                                                                                              • NotaRat · 9 months ago

                                                                                                                                I love the idea of libghostty making terminal tunnels cleaner and less leaky, because I hate messy pipes.

                                                                                                                                • x0n · 9 months ago

                                                                                                                                  problem: we have ten different VT terminal parsers

                                                                                                                                  solution: write a new VT terminal parser to replace the other ten

                                                                                                                                  result: we have eleven different VT terminal parsers

                                                                                                                                • Pet_Ant · 9 months ago

                                                                                                                                  I really want a little adapter that can plug into a monitor to make it a dumb terminal. Instantly on, no full OS, just a VT100 or something.

                                                                                                                                  I've looked into it with a PiZero and some HATs but I'd like something made by smarter people. This would be perfect for that.

                                                                                                                                  Ideally just some dip-switchs to set the terminal to emulate and set the display resolution.

                                                                                                                                • eigencoder · 9 months ago

                                                                                                                                  I was really excited to try ghostty, but the text looks blurry when I place it on my mac's external monitor

                                                                                                                                  • tdhz77 · 9 months ago

                                                                                                                                    I enjoy ghostty and zellij. Zig and rust built.

                                                                                                                                    • sigalor · 9 months ago

                                                                                                                                      Will there also be a React component? Or is this not intended for web frontends? I was wondering, because Vercel et al. were mentioned in the beginning.

                                                                                                                                      • PokestarFan · 9 months ago

                                                                                                                                        They mention it's compiled to WASM.

                                                                                                                                      • zenlot · 9 months ago

                                                                                                                                        I use ghostty daily now. Switched recently. In macOS I can re-map now caps lock to be cmd and it works for cmd+c. Everything else is great, sensible defaults and what's not easily customizable.

                                                                                                                                        Gruvbox light theme looks great too.

                                                                                                                                        The fact it's written in Zig is awesome too, if you ever question if Zig is ready, ghostty is your answer to that.

                                                                                                                                        Not seeing myself going back. It's great experience.

                                                                                                                                        Tip: if you combine your ghostty flow with aerospace, it's nearly perfect setup for your keyboard only experience on mac.

                                                                                                                                        • epolanski · 9 months ago

                                                                                                                                          Other huge projects are Clickhouse and Bun.

                                                                                                                                          • nasretdinov · 9 months ago

                                                                                                                                            ClickHouse is written in C++ (un)fortunately. Although I do think that Zig would fit it quite well too

                                                                                                                                          • ordinaryradical · 9 months ago

                                                                                                                                            I think you’re thinking of TigerBeetle, not Clickhouse, which is a quite performant db with a fascinating simulation-tested story and proof of performance / safety.

                                                                                                                                          • doctoboggan · 9 months ago

                                                                                                                                            Can you tell my why I should consider ghostty? (as a daily Terminal.app user)

                                                                                                                                            • PyWoody · 9 months ago

                                                                                                                                              It's fast. Like, faster than your brain expects it to be.

                                                                                                                                              I live in vim and after about 30 seconds of checking ghostty out I switched from iTerm2 to ghostty for good. No regerts.

                                                                                                                                              • loeg · 9 months ago

                                                                                                                                                I use terminology today, which is also "fast." The major issue I run into with ghostty vs terminology is that ssh in ghostty is broken due to the terminfo thing. I don't fully understand why ghostty can't pretend to be a different terminal that remotes know about (for now), but I assume there's some reason.

                                                                                                                                                    • loeg · 9 months ago

                                                                                                                                                      That is essentially the 2nd solution recommended. I think ghostty could do this itself as a hack. If the target binary is ssh (heuristic, but, ok), inject TERM=xterm-256color into env of the child process at launch.

                                                                                                                                                      I guess it isn't a huge deal to have every user to modify their ssh_config instead, but it's an ergonomic pain point for many new users.

                                                                                                                                                    • loeg · 9 months ago

                                                                                                                                                      Copying terminfo around is more inconvenient than I want to put up with for now. Overriding TERM is fine, I guess.

                                                                                                                                                      Mostly terminology is just a fairly good terminal, so I have little incentive to switch. :)

                                                                                                                                                • zenlot · 9 months ago

                                                                                                                                                  Fast. Very fast. Good configuration and theming options too. Literally no lag, even with thousands of lines scrollback. It doesn't get in your way on your day to day terminal activities. Feels natural.

                                                                                                                                                  • micampe · 9 months ago

                                                                                                                                                    Everyone telling you that it's fast because iTerm2 is slow. Terminal.app is already faster than iTerm2 and on par o very close to most other alternatives in terms of speed.

                                                                                                                                                    I also used Terminal until recently and don't use any of the advanced features alternatives provide. The main reason to switch from Terminal.app is truecolor support. The terminfo thing is annoying but I just setenv TERM in ssh config. Better split panes is nice. Configuration in a text file is a matter of taste, but documentation is good.

                                                                                                                                              • Igrom · 9 months ago

                                                                                                                                                I want to use this to modernize vterm in Emacs. If I could only synchronize the terminal cursor and the Emacs point, and preserve lines as lines, not split them...

                                                                                                                                                • kccqzy · 9 months ago

                                                                                                                                                  I wasn't aware that vterm need modernizing. Happy user of vterm at work and ghostty at home!

                                                                                                                                                  • Karrot_Kream · 9 months ago

                                                                                                                                                    vterm flickers a lot with any busier TUI. Claude Code sucks in vterm. I'd also really look forward to using libghostty to try an alternative to vterm in emacs.

                                                                                                                                                    • Igrom · 9 months ago

                                                                                                                                                      My issues revolve around evil: - motions stop at the terminal "line" (e.g. press "0": it doesn't move to the beginning of the line) - moving from normal to insert mode, or running commands like "r" from normal mode often breaks. Sometimes, a completely different character is replaced elsewhere in the line. - there's often a two-three second lag between entering insert mode from normal mode.

                                                                                                                                                  • xz18r · 9 months ago

                                                                                                                                                    I am not sure i understand your problem 100% but Emacs’ tty package can solve a lot of cursor issues in a terminal emulator.

                                                                                                                                                    • Igrom · 9 months ago

                                                                                                                                                      The packages available through list-packages that contain "tty" in the name or description are: clipetty, crappy-jsp-mode, file-info, glass-tty-theme, hatty, hima-theme, hyperkitty, ipretty, kkp, latex-pretty-symbols, melancholy-theme, mistty, mkdown, nubox, org-pretty-tags, ppp, pretty-hydra, pretty-mode, pretty-sha-path, pretty-speedbar, pretty-symbols, purty-mode and tabbar-ruler. There is no package "tty". Are you talking about emacs' own shell?

                                                                                                                                                • sigbottle · 9 months ago

                                                                                                                                                  How easy would it be to implement a tmux shim application that just has line numbers natively in the pty itself for copying?

                                                                                                                                                  Tmux copy mode is already great, my one gripe is no line numbers.

                                                                                                                                                  This script https://gist.github.com/Nimmidev/2cf4d5cc80dce32d0240ec7b3cf... is pretty good, but I still get frequent bugs with it, and also it just doesn't work in fullscreen mode (2 panes).

                                                                                                                                                  The core issue is that it's allocating a new tmux pane with the sole goal of mirroring line numbers; it would be nice if they synced up in the same pane, avoiding the above issue.

                                                                                                                                                  Piping it into neovim is an option that you can do on both neovim and zellij. zellij loses colors, and neovim is probably the best solution to this problem but then again I don't want to have to remember to turn on/off line numbers every time and I personally like one-off panes. Separation of responsibilities, I guess.

                                                                                                                                                  Long-winded rant to basically say: would a standard like this solve my issue easier? From what I understand of terminals, I would need to parse the underlying pty, maintain a scrollback buffer internally in the wrapper shim, and also be able to dynamically adjust toggling line numbers on/off.

                                                                                                                                                  If I'm doing this kind of translation, how "leaky" will the abstraction be until I'm basically re-implementing the logic in my middle layer, assuming that "for free" I can get the translation both in and out from the pty?

                                                                                                                                                  I've been trying to look closer at TUI tools, but that's what really bothered me. Given just how god awful the VT protocol is, you could get the state machine parsing correct, but the developer still has to learn basically every little quirk that was added over the years, no?

                                                                                                                                                  (And before someone makes a false equivalence, no, this isn't the case even with languages like c++ - I'm still learning quirks about it to this day, but I don't have to learn the entire thing to build proper, robust code. It does not seem the same with something like the VT protocol. So yes, I'm aware that some learning should take place, but I'm wondering how structured of a developer experience this will end up being.)

                                                                                                                                                  • on_the_train · 9 months ago

                                                                                                                                                    I have a confession: I don't know the difference between a console, terminal (-emulator?!?), shell, bash and all these things. It's all just a black window with text for me. I've never understood why people talk so much about git shell when my normal windows cmd/Powershell can do just the same git commands. I'm also a prolific and successful software engineer. These two things shouldn't mix. So please tell me what I missed in life when these things are completely alien to me.

                                                                                                                                                    • senkora · 9 months ago

                                                                                                                                                      I think that you might enjoy this (paid) zine: https://store.wizardzines.com/products/terminal

                                                                                                                                                      > The terminal seems simple at first (you type in commands and run them! no big deal!), but the more you learn, the more you notice a million little inconsistencies (why does pressing the arrow keys sometimes print out "^[[D"? why does selecting text sometimes not work? why are the colours sometimes unreadable?) that make it feel like an inscrutable black box. And it often doesn’t feel worth it to learn more because documentation about the terminal is so fragmented and full of obscure jargon.

                                                                                                                                                      > But! Understanding just a little more about the terminal can make your experience WAY better. You can quickly recognize what’s causing a problem (“oh, my arrow keys aren’t working because this is one of those annoying REPLs that doesn’t support arrow keys!”) and immediately fix it (“I’ll use rlwrap!). Or you can turn “wow, this text is unreadable” into “oh, my terminal emulator is responsible for colours! I’ll just go into the settings and reconfigure my colours!”.

                                                                                                                                                      • vinceguidry · 9 months ago

                                                                                                                                                        Really looking forward to this, writing my own personal editor in Ruby and not having a library for parsing terminal input is leading me to write my own kitty keyboard protocol parser (which ghostty implements) and having to hand-code lookup tables is driving me batty. I really don't like the idea of using an existing TUI framework as none of them actually implement the kitty protocol.

                                                                                                                                                        * https://sw.kovidgoyal.net/kitty/keyboard-protocol/#

                                                                                                                                                        • Imustaskforhelp · 9 months ago

                                                                                                                                                          Have you released the project? I am somewhat curious!

                                                                                                                                                          Also I just went from a somewhat (niche?) languages rabbit hole and I refound crystal / crystal is in my mind currently..

                                                                                                                                                          So what are your thoughts on using something like crystal instead of ruby because they are similar in what I know and crystal can create a static binary while being (faster?) than ruby

                                                                                                                                                          I am just somewhat curious to know!

                                                                                                                                                          • vinceguidry · 9 months ago

                                                                                                                                                            It's nowhere near ready but I made a gist:

                                                                                                                                                            https://gist.github.com/VinceGuidry/b44f02117d452bde7471dae2...

                                                                                                                                                            I like crystal but without pure OO and the fact that the community is so far behind Go or even Scala it's hard for me to see a good use for it.

                                                                                                                                                            You can create static binaries with ruby, just use mruby. I had a bunch of small scripts in crystal that I replaced with mruby and never noticed the difference. You don't get runtime reflection or ruby's enormous library base, but it could fill the need. I may end up transcribing my editor, or perhaps just the parser, to mruby once it's ready.

                                                                                                                                                            https://mruby.org/docs/articles/executing-ruby-code-with-mru...

                                                                                                                                                            For a fully-static binary, the option you want is at the bottom,

                                                                                                                                                            • Imustaskforhelp · 9 months ago

                                                                                                                                                              If mruby can make static ruby then that is actually kinda great, I didn't knew that.

                                                                                                                                                              I was thinking more of in terms of performance for some similar developer experience

                                                                                                                                                              Pardon me but isn't crystal OOP? i feel like it was because I was introduced to crystal lang via some youtuber some long time ago and the comments said that they didn't use because it was OOP

                                                                                                                                                              Also if mruby is so great (which it sounds here), then surely most ruby contributers can migrate over to mruby if that has these gains. I think mruby compiles to C as the intermediate right? So there are definitely some limitations as compared to being a interpreted langauge but that can be somewhat mitigated, no?

                                                                                                                                                              I am not a ruby expert or a crystal expert. Because If I was, I would be telling you your future (a slight pun ofc of being a future teller but yes I don't know much about it except the puts syntax or that 100 seconds video from fireship which gives me 10 year experience in ruby :p )

                                                                                                                                                              • vinceguidry · 9 months ago

                                                                                                                                                                Crystal is object-oriented, but isn't a pure object system. In a pure object system, literally everything is, or can be turned into an object. Smalltalk is the only other example of a language family that offers a pure object system.

                                                                                                                                                                With a pure object system everything is accessible by the system at runtime. It's ruby's biggest strength, but also the superpowers it grants aren't always used for good, which is why a lot of coders hate working in it. I only code for myself, my coding career is behind me, so I don't have to worry about other people's code.

                                                                                                                                                                Mruby's big downside is precisely that it's compiled, so the library base available is very small, and there's not much point in building on it, though a few projects have, such as DragonRuby. It also doesn't have a pure object system. Ruby has thousands of gems, mruby dozens, and you can see them all on this page: https://mruby.org/libraries/

                                                                                                                                                                https://dragonruby.org/

                                                                                                                                                                Static typing is also available in ruby but I understand it's clunky.

                                                                                                                                                        • dagi3d · 9 months ago

                                                                                                                                                          I recently ditched VS Code in favor of Neovim and thanks to Ghostty transition has been a success. As a Mac user I use the cmd key in tons of shortcuts and it just worked out of the box, no need to send weird escape sequences

                                                                                                                                                          • AceJohnny2 · 9 months ago

                                                                                                                                                            > excellent feature compatibility such as parsing Kitty Graphics Protocol or Tmux Control Mode, and more

                                                                                                                                                            Oh oh oh!!!

                                                                                                                                                            > https://github.com/ghostty-org/ghostty/issues/1935

                                                                                                                                                            awww...

                                                                                                                                                            (while ghostty can parse Tmux Control Mode stuff, it doesn't actually implement the full feature. My dependence on iTerm2 remains...)

                                                                                                                                                          • phkahler · 9 months ago

                                                                                                                                                            License: This is a perfect example of a project I think should be LGPL licensed and not MIT. Why? Let's suppose he's successful and libghostty become ubiquitous. What happens then? At some point you will be using a closed source version of it on Windows or MacOS or whatever - how do you know it's not logging in the background? The potential for this exists today in every commercial terminal emulator, but why make it easy to take something ubiquitous and backdoor it? On the flip side, what's a good reason for it to be MIT licensed?

                                                                                                                                                            • valadaptive · 9 months ago

                                                                                                                                                              Am I missing something? The LGPL only applies to the library itself--you can dynamically link to it from proprietary code. So in this hypothetical scenario, someone could just write a terminal emulator (or IDE, or what have you) that dynamically links to libghostty and put as much telemetry in it as they wanted, couldn't they?

                                                                                                                                                              • phkahler · 9 months ago

                                                                                                                                                                >> Am I missing something?

                                                                                                                                                                No, you're not but I did! So GPL then. Maybe I just wanted to make up a scenario. I'm not sure why MIT/BSD have become so popular, they have their place but I don't think they have any place in software infrastructure.

                                                                                                                                                                • yunohn · 9 months ago

                                                                                                                                                                  I truly don’t understand nor follow what you mean? What makes MIT/BAD bad for software infra?

                                                                                                                                                                  • phkahler · 9 months ago

                                                                                                                                                                    >> I truly don’t understand nor follow what you mean? What makes MIT/BAD bad for software infra?

                                                                                                                                                                    You should have access to the source for your infra as a user of it. MIT/BSD allow people to deploy without offering source, so they can do whatever they want with it and then you get to use it. TiVoisation is more than possible among many other user-hostile options. "But you can always get the source!" is not a valid response - you can't get the source for this thing that's running right now.

                                                                                                                                                                    Freedom to deny other peoples freedom is no part of "Free Software" but it goes on all the time with "Open Source".

                                                                                                                                                                    • yunohn · 9 months ago

                                                                                                                                                                      That is a valid POV I hadn’t fully considered.

                                                                                                                                                                      But I would hesitate to blame this on the original OSS author’s license choice - the vendor can always provide source even without the force of GPL. Heck, rather making it GPL means almost no hosting company will provide it.

                                                                                                                                                              • MonkeyClub · 9 months ago

                                                                                                                                                                Through TFA I ended up perusing Hashimoto's blog, and from that moved on to "The Tao of HashiCorp".

                                                                                                                                                                Curiously, it hasn't been discussed on HN before, so I started a thread to get HNers' thoughts on it:

                                                                                                                                                                https://news.ycombinator.com/item?id=45351378

                                                                                                                                                                • tennysont · 9 months ago

                                                                                                                                                                  Interesting!

                                                                                                                                                                  The nix package for ghostty is broken/unavailable on MacOS at the moment, but installing the brew cask (`brew install --cask ghostty`) and a basic config file:

                                                                                                                                                                  ```

                                                                                                                                                                  font-family = Monaco

                                                                                                                                                                  theme = dark:Catppuccin Frappe,light:Catppuccin Latte

                                                                                                                                                                  ```

                                                                                                                                                                  Got me almost everything I used from iTerm2. Nerdfont just worked (in iTerm I think you have to use the `Use a different font for non-ASCII text` setting)

                                                                                                                                                                  • tambourine_man · 9 months ago

                                                                                                                                                                    I really want to like Ghostty but:

                                                                                                                                                                    - Still no ⌘F for find.

                                                                                                                                                                    - No way (that I know of) to select previous output or specific string and copy with only keyboard shortcuts.

                                                                                                                                                                    - No ⌘. sending CTRL-C (muscle memory and being advertised as native to the Mac is what one would expect).

                                                                                                                                                                    - Fonts still don't render as nicely as in Terminal.app. I've fiddled with `font-thicken-strength` and it's close, but not quite. Probably impossible or very hard to replicate due to its Metal rendering nature, but when all you do is look at text all day, it matters.

                                                                                                                                                                    • azertify · 9 months ago

                                                                                                                                                                      Search in scroll back is coming in 1.3, unfortunately that's going to be 6 months away.

                                                                                                                                                                      There's a lot happening in the Ghostty app though, check out the 1.2 release notes

                                                                                                                                                                      • sbrother · 9 months ago

                                                                                                                                                                        Is there a blog post anywhere that explains why it has taken so long to get search working? Ghostty is such a nice app but that's such a fundamental feature that there has to be a good reason... It's the only thing keeping me on iTerm2.

                                                                                                                                                                        • esseph · 9 months ago

                                                                                                                                                                          Does nobody use grep?

                                                                                                                                                                          • threecheese · 9 months ago

                                                                                                                                                                            How can you use grep to search the scrollback/screen buffer?

                                                                                                                                                                            • vulcan01 · 9 months ago

                                                                                                                                                                              Ghostty has a write_scrollback_file action you can use to write the scrollback to a temporary file. I have this set to cmd+shift+f, so I simply

                                                                                                                                                                              less [cmd+shift+f] [enter]

                                                                                                                                                                              You can use grep similarly.

                                                                                                                                                                              • lytedev · 9 months ago

                                                                                                                                                                                I don't want to presume your use case, but Ghostty has a command for dumping the buffer to a file, which I use for processing output "too late" to use grep.

                                                                                                                                                                                keybind = ctrl+alt+shift+o=write_scrollback_file:open

                                                                                                                                                                                • godelski · 9 months ago

                                                                                                                                                                                  Try a pager instead. Batcat is more feature rich but there's always the good old less (and more) command. Both work great with grep. I do things like the following multiple times a day

                                                                                                                                                                                    $ cat foo.log | less
                                                                                                                                                                                    $ cat foo.log | $PAGER
                                                                                                                                                                                    $ cat foo.log | grep 09-23-2025 | less
                                                                                                                                                                                  
                                                                                                                                                                                  Side note / pro tip: on a new line in the terminal press control-x control-e. If you're in zsh you need to edit your config but this will work out of the box for bash.
                                                                                                                                                                                  • jdub · 9 months ago

                                                                                                                                                                                    You can leave the cat at home.

                                                                                                                                                                                      less foo.log
                                                                                                                                                                                      grep 09-25-2025 foo.log | less
                                                                                                                                                                                      • asimovDev · 9 months ago

                                                                                                                                                                                        but he will feel lonely if he doesn't participate :(

                                                                                                                                                                                  • 9dev · 9 months ago

                                                                                                                                                                                    What good is grep if you want to search the build log on your screen that took an hour in the making? Should have thought of tee-ing it, well duh.

                                                                                                                                                                                    • esseph · 9 months ago

                                                                                                                                                                                      You just rawdog that to stdout without a log file?

                                                                                                                                                                                      • wewtyflakes · 9 months ago

                                                                                                                                                                                        I do. Setting up log files for each and every command seems tedious. I would rather just cmd+f to search and have it work for everything, as it is a property of the terminal, rather than a specific command.

                                                                                                                                                                                        • tom_ · 9 months ago

                                                                                                                                                                                          Of course. Why not? I can use the terminal's search facility to search its infinite scrollback buffer.

                                                                                                                                                                                          • 9dev · 9 months ago

                                                                                                                                                                                            If I don't anticipate problems, or things are slower than I thought? Sure

                                                                                                                                                                                        • ikiris · 9 months ago

                                                                                                                                                                                          "Do you not have phones?"

                                                                                                                                                                                        • quantisan · 9 months ago

                                                                                                                                                                                          Try Cmd-Shift-J. It dumps your buffer to a temp file, with the file path made ready for you. I do that and then open the temp file with vi.

                                                                                                                                                                                          • sbrother · 9 months ago

                                                                                                                                                                                            That's the workaround I've used. I still want to be able to just press command F and see "error" highlighted throughout the scrollback.

                                                                                                                                                                                        • scosman · 9 months ago

                                                                                                                                                                                          Best news I've heard all day.

                                                                                                                                                                                          • tambourine_man · 9 months ago

                                                                                                                                                                                            Haha, thanks again :)

                                                                                                                                                                                            I've been delaying a major migration to NeoVim on [modern-terminal-I-can-never-decide-which] for years. Wezterm, Ghostty, iTerm2. None is exactly perfect, so I just keep watching them develop.

                                                                                                                                                                                            • godelski · 9 months ago

                                                                                                                                                                                              I recently migrated from vim to neovim and you can just migrate everything. I forgot where I found this but put this in ~/.config/nvim/init.vim

                                                                                                                                                                                                " Load vim configs
                                                                                                                                                                                              set runtimepath^=~/.vim runtimepath+=~/.vim/after let &packpath = &runtimepath source ~/.vimrc

                                                                                                                                                                                              Then in my zshrc (well... I organize differently) I have the function

                                                                                                                                                                                                function _exists() {
                                                                                                                                                                                                  command -v "$1" &> /dev/null
                                                                                                                                                                                                }
                                                                                                                                                                                              
                                                                                                                                                                                                alias_vim() {
                                                                                                                                                                                                  if (_exists nvim)
                                                                                                                                                                                                  then
                                                                                                                                                                                                      alias vi='nvim'
                                                                                                                                                                                                      alias vim='nvim'
                                                                                                                                                                                                  elif (_exists vim)
                                                                                                                                                                                                  then
                                                                                                                                                                                                      alias vi='vim'
                                                                                                                                                                                                  fi
                                                                                                                                                                                                }
                                                                                                                                                                                              • JNRowe · 9 months ago

                                                                                                                                                                                                FWIW, zsh has a commands hash to make stuff like this potentially easier and cleaner. The following isn't quite how I'd do it, but is functionally equivalent.

                                                                                                                                                                                                    (( $+commands[vim] )) && alias vi=vim
                                                                                                                                                                                                    (( $+commands[nvim] )) && alias vi{,m}=nvim
                                                                                                                                                                                                • godelski · 9 months ago

                                                                                                                                                                                                  I wasn't aware of +commands, thanks. Though I'm not sure this is easier and you can translate mine to bash trivially

                                                                                                                                                                                                  Yours isn't technically equivalent though it is functionally. If we have both vim and nvim then we'll alias vi twice.

                                                                                                                                                                                                  Also, your program provides less clarity. It saves lines but at a large cost to readability. I tend to share my dotfiles with newbies a lot so readability is very meaningful.

                                                                                                                                                                                                  I wrap mine up in functions too because at the end of my alias file I can add something like this

                                                                                                                                                                                                    # aliases.zsh
                                                                                                                                                                                                    main() {
                                                                                                                                                                                                      alias_ls || echo "ls aliasing failed"
                                                                                                                                                                                                      alias_vim || echo "vim aliasing vailed"
                                                                                                                                                                                                    }
                                                                                                                                                                                                  
                                                                                                                                                                                                    main
                                                                                                                                                                                                  
                                                                                                                                                                                                  It's a bit overkill and I never expect a simple alias like that to fail but there are three distinct advantages I get for being just a tad more verbose:

                                                                                                                                                                                                  1) I have more complicated versions to deal with things like fd and batcat which have different names different operating systems (`fd` vs `fd-find` / `bat` vs `batcat`) and some additional configurations.

                                                                                                                                                                                                  2) I can disable the alias by commenting out one line

                                                                                                                                                                                                  3) knowing exactly where the alias is being loaded and thus what aliases are loaded.

                                                                                                                                                                                                  Bonus) fails loudly but continues (it's an alias, I don't want you fail fail)

                                                                                                                                                                                                  A few extra keystrokes are worth this advantage imo. Especially since I'm using vim so it's actually not any additional typing lol

                                                                                                                                                                                                  It's style, so the choice is up to you and they'll accomplish the same things, but I'm just explaining why I use this design pattern. I've only given a stripped down snippet of code so I hope this context helps explain the larger pictures and how it can be used for larger needs.

                                                                                                                                                                                            • big_toast · 9 months ago

                                                                                                                                                                                              (Surely this issue must've been discussed/debated elsewhere ad nauseum because it seems an odd design decision to leave out such a common macos binding...)

                                                                                                                                                                                              But having only used ghostty as-is and getting bamboozled by the copy paste situation, this is game changing. I was just going to wait till preferences had a GUI/TUI.. So thanks!

                                                                                                                                                                                            • tambourine_man · 9 months ago

                                                                                                                                                                                              By the rollercoaster of points this post is experiencing, I may have expressed myself poorly. To be clear, the concept of a modern, cross-platform Terminal core with native GUI implementations for each major vendor is amazing and I'm very glad it exists. It's just not quite there yet for me and I don't know if it ever will be. But I'm very excited by it and hopeful.

                                                                                                                                                                                              • mixmastamyk · 9 months ago

                                                                                                                                                                                                I was also downvoted for mentioning a few other minor things it is missing as well. While I'm holding out, it's getting there however.

                                                                                                                                                                                                • Biganon · 9 months ago

                                                                                                                                                                                                  Same here. Mentioned 3 different bugs that happened to me recently, but it looks like it's deemed uncalled for or something.

                                                                                                                                                                                                • WhyNotHugo · 9 months ago

                                                                                                                                                                                                  It’s weird to me that they consider GTK a “native” implementation — GTK is a whole [opinionated] layer of abstraction on top of the native interfaces.

                                                                                                                                                                                                  It’s native in the sense that it’s not Electron, or Java, but it’s still a layer of abstraction which introduces all sorts of quirks.

                                                                                                                                                                                                • shoo_pl · 9 months ago

                                                                                                                                                                                                  Not to mention that every time you ssh to another server your keyboard stops working correctly.

                                                                                                                                                                                                  The solution is on their website:

                                                                                                                                                                                                  > infocmp -x xterm-ghostty | ssh YOUR-SERVER -- tic -x -

                                                                                                                                                                                                  I mean... I could learn what it does, but no way on earth I am going to be typing something like that every time I want to ssh somewhere.

                                                                                                                                                                                                  (This is somehow fixed in 1.2 but it requires additional entry in the config for whatever reason. Can't it just work?)

                                                                                                                                                                                                  • mitchellh · 9 months ago

                                                                                                                                                                                                    > (This is somehow fixed in 1.2 but it requires additional entry in the config for whatever reason. Can't it just work?)

                                                                                                                                                                                                    "For whatever reason": because it requires modifying `ssh` and doing that by default is a really sketchy thing to do because it is a very security sensitive tool. No program (Ghostty included) should be mucking with that by default. We want users to be aware.

                                                                                                                                                                                                    "Can't it just work?": No, because the entire mechanism is flawed, and I didn't invent the mechanism. It's like asking, "why must I drive to my destination, can't I just teleport?" The entire premise of the question is silly, and it's not the car's fault (Ghostty is the car in this example). For those who want to learn more about "the mechanism": read Ghostty's terminfo page, but also just do some light web searching on how terminfo works. Its a total nightmare.

                                                                                                                                                                                                    I really wish that weren't the case, I really do. I promise its just as annoying to me as a user and more annoying to me as a maintainer to have to hear people complain about this repeatedly when I'm not doing anything wrong, personally. I'm playing by the rules. The rules are just bullshit.

                                                                                                                                                                                                    We'll continue to make enhancements to improve this while we wait for Ghostty's terminfo to propagate to every machine in the world. It will, it'll just take... a long time. Next up we plan on introducing a `ghostty +ssh` command that you can drop-in replace most `ssh` usage with and it'll automagically just work.

                                                                                                                                                                                                    • shoo_pl · 9 months ago

                                                                                                                                                                                                      Ouch, I did not expect my complaining would get a response from the author!

                                                                                                                                                                                                      Just to be clear, I do think Ghostty is amazing piece of software and it's so fast that it's hard to believe, so thank you for the hard work.

                                                                                                                                                                                                      > read Ghostty's terminfo page, but also just do some light web searching on how terminfo works. Its a total nightmare.

                                                                                                                                                                                                      Oh, yea, I totally get that. I actually _did_ try to understand what the issue is, but gave up on that time-sink rabbit hole and decided I might give it another try once the xterm-ghostty is more popular.

                                                                                                                                                                                                      • aragilar · 9 months ago

                                                                                                                                                                                                        In theory one can set TERMINFO to the actual terminfo string, but sadly openssh (and I suspect other ssh clients/servers) don't pass that on.

                                                                                                                                                                                                        Has the ghostty terminfo been added to ncurses?

                                                                                                                                                                                                      • darkwater · 9 months ago

                                                                                                                                                                                                          SetEnv TERM=xterm-256color
                                                                                                                                                                                                        
                                                                                                                                                                                                        in your ssh config stanza will fix that
                                                                                                                                                                                                      • FridgeSeal · 9 months ago

                                                                                                                                                                                                        > No ⌘. sending CTRL-C

                                                                                                                                                                                                        Wait wait wait, this is a shortcut in Mac??

                                                                                                                                                                                                        • sib · 9 months ago

                                                                                                                                                                                                          Seriously. I've been using Macs since... ahem... 1985... and did not know this.

                                                                                                                                                                                                          • tambourine_man · 9 months ago

                                                                                                                                                                                                            It means cancel, stop. You can use it to stop progress bars, dismiss dialog boxes, terminate some well-behaved spinning beach balls, cancel a drag before dropping, etc. It's been on the platform since the classic Mac OS days.

                                                                                                                                                                                                            • asimovDev · 9 months ago

                                                                                                                                                                                                              I was wondering why the shortcut for stopping a running program in Xcode was cmd+. Now I know

                                                                                                                                                                                                        • mi_lk · 9 months ago

                                                                                                                                                                                                          the second bullet single-handedly keeps me in WezTerm (copy/select mode)

                                                                                                                                                                                                            • Geezus_42 · 9 months ago

                                                                                                                                                                                                              6 months. 1.3 does not release until March 2026.

                                                                                                                                                                                                              • swah · 9 months ago

                                                                                                                                                                                                                Maybe sooner in the nightly builds then :)

                                                                                                                                                                                                            • WhyNotHugo · 9 months ago

                                                                                                                                                                                                              A few other ugly quirks in Linux:

                                                                                                                                                                                                              - It doesn’t respect the user’s configured fonts. - Clipboard support is inconsistent. - The GTK4 UI is quirky, and has silly slow animations in situations which don’t make sense.

                                                                                                                                                                                                              The first two sound like more serious issues, and I’m surprised that others haven’t found them dealbreakers.

                                                                                                                                                                                                              • ykonstant · 9 months ago

                                                                                                                                                                                                                Interesting, are there issues on the tracker pertinent to those problems?

                                                                                                                                                                                                              • Ghoelian · 9 months ago

                                                                                                                                                                                                                > - No ⌘. sending CTRL-C (muscle memory and being advertised as native to the Mac is what one would expect).

                                                                                                                                                                                                                For what it's worth, that shortcut also doesn't work in the Jetbrains terminal, Alacritty, Kitty, and even iTerm2. The only terminal emulator I've tried so far where that works is the built-in Terminal.app.

                                                                                                                                                                                                                • riddley · 9 months ago

                                                                                                                                                                                                                  I want to like it too. I even joined the Discord I was so excited about it. Unfortunately even at version 1.2.0, which I understand is a total rewrite on Linux, it's only usable for minutes before this bug kicks in https://github.com/ghostty-org/ghostty/issues/2210

                                                                                                                                                                                                                  • steve_adams_86 · 9 months ago

                                                                                                                                                                                                                    Interesting, I really prefer the font rendering in Ghostty! I'm with you on the first two items, though.

                                                                                                                                                                                                                    Despite these shortcomings I still use it daily since the first time I tried it, and have come to really love the project in general. I often won't hop to new software if it offers friction like this, but Ghostty pulled me in despite some snags.

                                                                                                                                                                                                                    Zed is also wonderful software, though it took me way longer to commit to using it daily.

                                                                                                                                                                                                                  • Imustaskforhelp · 9 months ago

                                                                                                                                                                                                                    I use ghostty on (my?) air mac that my brother gifted to me which was his previous device for coding / general purpose etc.

                                                                                                                                                                                                                    Ghostty is really good and I genuinely appreciate this.

                                                                                                                                                                                                                    Honestly, Might seem like a small thing but the fact that this doesn't even depend on libc seems to be a really great thing to me and I kinda cherish it!

                                                                                                                                                                                                                    Thanks! Have a nice day!

                                                                                                                                                                                                                    • Phelinofist · 9 months ago

                                                                                                                                                                                                                      Why is not depending on a libc a good thing? Aren't they then rolling their own syscall wrappers?

                                                                                                                                                                                                                    • the_real_cher · 9 months ago

                                                                                                                                                                                                                      How is he such an absolute chad of a developer?

                                                                                                                                                                                                                      He has side projects that would make careers for most of us.

                                                                                                                                                                                                                      • Imustaskforhelp · 9 months ago

                                                                                                                                                                                                                        Mitchell and bellard and to somewhat degree fwsgonzo (you might not know him but I absolutely like his work on libriscv, the game he's working and the kvm sandbox which he's working on too) are my definitions of literal coding chads.

                                                                                                                                                                                                                        People should really measure coding proficiency as being 10% of these guys or some fraction instead of whatever metric they are using now (slightly kidding ofc)

                                                                                                                                                                                                                        They are the 10x developers and I feel like this sentiment is echoed all across the industry

                                                                                                                                                                                                                        • the_real_cher · 9 months ago

                                                                                                                                                                                                                          Ive worked with 10x people before. All these people you mention and Torvalds too seem to be 100x developers.

                                                                                                                                                                                                                          • Imustaskforhelp · 9 months ago

                                                                                                                                                                                                                            How could I've forgotten the legendary torvalds!

                                                                                                                                                                                                                            Sqlite team also seems to be one of the 100x people imo. Maybe I just cherish sqlite's simplicity and its hyperfocus and it delievers exactly what it says (somewhat), a lot!

                                                                                                                                                                                                                            Definitely feel like we need a forum where we can all compile a list of 100x developers and vote who is the best 100x developer

                                                                                                                                                                                                                            I feel like although Mitchell is up in the top three. To me bellard/torvalds tops it all of if you consider it from a pure software perspective and not that Mitchell went back from a billion $ empire to hacking again

                                                                                                                                                                                                                            Bellard has created qemu and ffmpeg and tcc/jslinux/ I think even xterm js kind of came somehow due to bellard so a lot of terminal emulators and their recent work is just as fascinating.

                                                                                                                                                                                                                            Torvalds with linux and git are two back to back things which we know and love and use today.

                                                                                                                                                                                                                            Bellard is just a little less known because unlike linus torvalds who named the os as linux ie. after himself. Ffmpeg and qemu don't really tell them that they are created by the same guy.

                                                                                                                                                                                                                        • threecheese · 9 months ago

                                                                                                                                                                                                                          I thought ‘chad’ was a pejorative; is Chad good again? :)

                                                                                                                                                                                                                          • the_real_cher · 9 months ago

                                                                                                                                                                                                                            I though it just means an exceptional alpha male type. I didn't know it was ever pejorative.

                                                                                                                                                                                                                        • siavosh · 9 months ago

                                                                                                                                                                                                                          Total newb here - but lets say i want to make a terminal based video game (think old school text / visuals / menus), will something like Libghostty be something relevant to that?

                                                                                                                                                                                                                        • kelvinjps · 9 months ago

                                                                                                                                                                                                                          How does Ghostty compares to kitty and alacrity?

                                                                                                                                                                                                                          • piannucci · 9 months ago

                                                                                                                                                                                                                            Someone call @keithw. He put a tremendous amount of brainpower into getting the Unicode side of this puzzle "right" (or, as "right" as it is possible to be) when he wrote mosh. I'm sure he and Hashimoto could have a grand old (but zero-width non-joining) conversation!

                                                                                                                                                                                                                            • j1elo · 9 months ago

                                                                                                                                                                                                                              Offtopic, formatting related, and always a fun discussion:

                                                                                                                                                                                                                              The function signature of [1] ...

                                                                                                                                                                                                                                ghostty_input_mods_e ghostty_surface_key_translation_mods(ghostty_surface_t,
                                                                                                                                                                                                                                                                                          ghostty_input_mods_e);
                                                                                                                                                                                                                              
                                                                                                                                                                                                                              (^^^ probably not readable in small screens)

                                                                                                                                                                                                                              ... is the perfect example of why "align continuation lines to the open bracket" is the absolute worse option versus the simpler, consistent and only logical choice of "align continuation lines with an extra indentation", aka

                                                                                                                                                                                                                                  AlignAfterOpenBracket: DontAlign
                                                                                                                                                                                                                              
                                                                                                                                                                                                                              in Clang-Format [2].

                                                                                                                                                                                                                              [1]: https://github.com/ghostty-org/ghostty/blob/f97518cc10059918...

                                                                                                                                                                                                                              [2]: https://clang.llvm.org/docs/ClangFormatStyleOptions.html#ali...

                                                                                                                                                                                                                              • mitchellh · 9 months ago

                                                                                                                                                                                                                                Indeed. Also note this isn't the real public C API. This is, as I noted in the blog post as a disclaimer, an internal-only C API so it is admitedly very ugly.

                                                                                                                                                                                                                                (I assume you know this, just adding context for other readers)

                                                                                                                                                                                                                                • j1elo · 9 months ago

                                                                                                                                                                                                                                  Yep, sorry in my mind I was going to mention it (with "even if it's only me seeing private code like this" or something similar) and later forgot after some edits to fix the formatting...

                                                                                                                                                                                                                                  Anyway, I hope it doesn't get lost that this comment was only meant to be half informative, half public statement, and half a light joke :)

                                                                                                                                                                                                                              • orobus · 9 months ago

                                                                                                                                                                                                                                I can’t figure out how to get the visidata frequency analysis histograms to render properly. Some render as blocks as expected but others are those diamond-question marks. I know it’s a silly hang up but it’s what’s keeping me on iterm. It’s seemingly impossible to search for (or at least I haven’t figured out the right keywords) to troubleshoot too.

                                                                                                                                                                                                                                • icecheese · 9 months ago

                                                                                                                                                                                                                                  Sounds like perhaps your main and fallback fonts are missing the Code Points in question.

                                                                                                                                                                                                                                  I am not a ghostty user, but I think it has a setting for that, if you can figure out which font iTerm2 is rendering those glyphs with.

                                                                                                                                                                                                                                  • leonim · 9 months ago

                                                                                                                                                                                                                                    Try asking on https://github.com/saulpw/visidata the community there can help.

                                                                                                                                                                                                                                    I am seeing this issue on a Mac with ghostty but not with wezterm, from the same binary. Ghostty shows some correct characters and some diamond-question marks, and a line usually contains one or the other. The ghostty inspector shows the diamonds are not the blocks.

                                                                                                                                                                                                                                  • sylens · 9 months ago

                                                                                                                                                                                                                                    ghostty and atuin are two of the first things I put onto any new macOS or Linux machine I use

                                                                                                                                                                                                                                    • stogot · 9 months ago

                                                                                                                                                                                                                                      Newb question: what’s the difference between a terminal and terminal emulator? I’ve never figured that out

                                                                                                                                                                                                                                      • teo_zero · 9 months ago

                                                                                                                                                                                                                                        The former is a piece of hardware from the 70s, the latter is software that emulates the former.

                                                                                                                                                                                                                                        • stogot · 9 months ago

                                                                                                                                                                                                                                          I don’t understand as 1970s hardware requires firmware/software to take input/output with the user?

                                                                                                                                                                                                                                      • kelsey98765431 · 9 months ago

                                                                                                                                                                                                                                        idk why i am the only person that dislikes ghostty, i just have a tendency to put my machines under heavy load and keep using the cli and ghostty chugs super super badly when there's any gpu or cpu load, especially compared to "slow" terminals. zero issues with iterm2 on macos or gnome terminal on linux under load but that plus zero bells or whistles makes ghostty seem like a purposeless toy to me.

                                                                                                                                                                                                                                        • SafeDusk · 9 months ago

                                                                                                                                                                                                                                          Terminal and shell are becoming more and more important with the advent of coding agents, the graphical progress bar is a super nice touch too

                                                                                                                                                                                                                                          • bmurphy1976 · 9 months ago

                                                                                                                                                                                                                                            I'm really digging Ghosty's shaders. It finally feels like a gimmicky terminal done right. Want a Fallout or CRT theme without compromising on other features? You can finally have it. It brings back memories of the early days of Linux when everything was fun and not trying to mimic the most bland OS out there. Think Enlightenment before everything got gnomified.

                                                                                                                                                                                                                                            • mmaunder · 9 months ago

                                                                                                                                                                                                                                              Great project for anyone creating a hobbyist OS.

                                                                                                                                                                                                                                              • zeeqeen · 9 months ago

                                                                                                                                                                                                                                                It is Ghostty that makes me believe Zig is ready for industry, and I also want to make a game engine targeting Android and iOS first, however, JNI is really annoying and I hate Google Android. I have tried Bevy for Android and as you can see it's not the fault of game engine but Google. So, use Unity or challenge it. Just do it, thanks Gostty!

                                                                                                                                                                                                                                                • jasonm23 · 9 months ago

                                                                                                                                                                                                                                                  WezTerm seems to be missing from the list, and is a superset of those listed.

                                                                                                                                                                                                                                                  • dismalaf · 9 months ago

                                                                                                                                                                                                                                                    I'm excited for libghostty. Ghostty has a few design decisions I'm not a fan of, but being able to make my own terminal program or embed a terminal into any app with libghostty is a potential gamechanger.

                                                                                                                                                                                                                                                    • jwr · 9 months ago

                                                                                                                                                                                                                                                      Ghostty is amazing. The attention to detail means that the basics work right, which I couldn't say about any other "modern" terminal apps. I still wish for xterm-like text selection, but otherwise this is the best terminal out there, at least on macOS (Apple Terminal.app is second).

                                                                                                                                                                                                                                                        • vidarh · 9 months ago

                                                                                                                                                                                                                                                          I love the idea, and I'm doing something similar in Ruby (which, yes, means it will be far less universal than a compiled library; that's an intentional tradeoff - I don't need it to be universal, and even less so when someone is willing to invest far more effort into something that is universal) inspired by AmigaOS, where a terminal window was easily accessible to any application whether it was started from the terminal or not, by opening a file handle to "CON:" (which meant e.g. scripts could also pipe this directly into a newly opened terminal window).

                                                                                                                                                                                                                                                          It's one of a few "lost capabilities" of AmigaOS I'm glad to see getting addressed. You can of course fix this today by using one of a variety of terminal widgets, but the ease of being able to just spin up a full terminal window from "anywhere" was very powerful for simple utilities etc.

                                                                                                                                                                                                                                                          • emadda · 9 months ago

                                                                                                                                                                                                                                                            I built a macOS app [1] (to fuzzy search Apple Notes) using Ghostty as a base so that I could use its fast rendering for large lists.

                                                                                                                                                                                                                                                            I think there is space for an Electron-like framework but for standalone terminal apps. Looking forward to using Ghostty as a library.

                                                                                                                                                                                                                                                            [1]: https://enzom.dev/hot-notes/

                                                                                                                                                                                                                                                          • greg7mdp · 9 months ago

                                                                                                                                                                                                                                                            > All of this is packaged up into a single zero-dependency C API (it doesn't even rely on libc), allowing it to be easily embedded into any popular language ecosystem.

                                                                                                                                                                                                                                                            @mitchellh That's super exciting. I'm wondering how easy it would be to integrate in the debugger frontend I'm working on. Do you already know what the C API will look like?

                                                                                                                                                                                                                                                            • znpy · 9 months ago

                                                                                                                                                                                                                                                              I love this. I've been thinking about writing a clone of SecureCRT (great terminal emulator, sadly greatly expensive as well) for years.

                                                                                                                                                                                                                                                              If I could "just" use libghostty, that would be great!

                                                                                                                                                                                                                                                              • mrinterweb · 9 months ago

                                                                                                                                                                                                                                                                I want to like Ghosty, but not being able to search has been a deal breaker. Guess the alternatives to search are use tmux or grep the ghosty log, but tmux and I have never clicked, and searching the log is not user friendly for how often I find myself wanting to search terminal history. Ghosty has a lot of features I would want, but somehow it is missing search. https://www.reddit.com/r/Ghostty/comments/1i0g2ge/how_to_fin...

                                                                                                                                                                                                                                                                Maybe this concern doesn't apply to libghostty, as I think search would be more of a UI concern.

                                                                                                                                                                                                                                                                • grogers · 9 months ago

                                                                                                                                                                                                                                                                  Several years ago I was crazy frustrated with how slow 'less' is for some things (regex search and handling long lines) and was slowing down my day to day operations work. I very briefly entertained an idea to write my own pager to fix those problems but it would have been way too complex to do in my spare time. If libghostty existed then it might have been a different story. If libghostty is done well I think it could be an enabler for many types of terminal applications. I'm excited to see where it goes.