[HN Gopher] Ghostty 1.0
       ___________________________________________________________________
        
       Ghostty 1.0
        
       Author : matrixhelix
       Score  : 2190 points
       Date   : 2024-12-26 20:14 UTC (2 days ago)
        
 (HTM) web link (ghostty.org)
 (TXT) w3m dump (ghostty.org)
        
       | mrjbq7 wrote:
       | This is a neat blog post explaining part of the magic:
       | 
       | https://gpanders.com/blog/ghostty-is-native-so-what/
        
       | VeejayRampay wrote:
       | thanks Mitchell for all the hard work, it's nice to see quality
       | and competition in this field
        
       | leetrout wrote:
       | I'm very excited to have this because it's the first bit of high
       | quality open source software to hit the streets in a while.
       | 
       | I like where we're headed with tools like this and Ladybird[0]
       | for hope of a subscriptionless future.
       | 
       | Thank you, Mitchell!
       | 
       | [0] https://ladybird.org/
        
         | progbits wrote:
         | > I like where we're headed with tools like this and
         | Ladybird[0] for hope of a subscriptionless future.
         | 
         | That's a weird statement. I've been running a free, open-source
         | and subscription-less browser (firefox) and terminal emulator
         | (many) for close to 20 years.
         | 
         | Actually I like what ladybird is doing in the browser space,
         | given firefox is quite dependent on google cash. But this is
         | just yet another terminal emulator in a sea of them. The only
         | two distinguishing features I can see are hype and native UI
         | (which mac users care about for some reason -- my native UI is
         | a borderless rectangle in tiling WM).
        
           | SG- wrote:
           | native UI is so much more than how a border of a window looks
           | like.
        
             | poincaredisk wrote:
             | What is native UI in this context? My terminal emulator is
             | also always basically a full-screen black textarea with
             | white letters. No window borders, no tabs, no buttons, no
             | menus, nothing else. Is there anything native UI would give
             | me in this case (and what is a native UI, I can't find it
             | defined anywhere)?
        
               | nateb2022 wrote:
               | > The big picture of "native" is that Ghostty is designed
               | to look, feel, and behave like you expect an application
               | to behave in your desktop environment.
               | 
               | > On macOS, the GUI is written in Swift and uses AppKit
               | and SwiftUI.
               | 
               | (https://ghostty.org/docs/about#native)
        
               | Gormo wrote:
               | I'm using Linux with Xfce, but it seems to be locked into
               | a Gnome-like look and feel, with header bars and CSDs
               | that can't be disabled in favor of standard title bars
               | and menus, so it's actually very inconsistent with the
               | rest of my desktop environment.
        
               | gpanders wrote:
               | This gets brought up a lot, so I wrote about it here
               | https://gpanders.com/blog/ghostty-is-native-so-what/
        
               | matwood wrote:
               | > This also means that native features like pressing
               | Shift+[?]+\ open the tab overview, just as in other
               | applications.
               | 
               | Ah, so this is a macos thing and not just Safari. Can
               | anyone help me select a tab using a keyboard? I use the
               | shortcut, type in the search box and...have to use the
               | mouse :(
        
           | urbandw311er wrote:
           | Your rebuttal is not mutually exclusive to the parent
           | comment. They say it's the first _new_ such thing in a while,
           | not that there aren't any in existence.
        
             | robertlagrant wrote:
             | It does where it says they give hope for a wunsciptionless
             | future. We've always had subscriptionless, and the software
             | that was subscriptionless is still around.
        
           | progbits wrote:
           | Can't edit my post anymore so replying to myself with an
           | addendum:
           | 
           | I wrote the comment in a rush last night and I think it
           | sounds like I'm dumping on ghostty. That is not my intention,
           | it looks very well made and a true passion project which I
           | have lot of respect for.
           | 
           | I just took issue with GP adding yet more hype to this.
        
         | brcmthrowaway wrote:
         | What was the last one? Ghidra?
        
         | poincaredisk wrote:
         | >first bit of high quality open source software
         | 
         | That feels like an exaggregation. L High quality open source
         | software is uploaded daily to GitHub.
        
       | feznyng wrote:
       | The author has a dev log I'd recommend if you're curious about
       | what makes it different + general goodies on Zig/terminal
       | emulators.
       | 
       | https://mitchellh.com/ghostty
        
       | stmonty wrote:
       | Awesome, I have been waiting for this since you originally
       | announced it. I also enjoyed the blog posts.
        
       | icapybara wrote:
       | Congratulations
        
       | kristopolous wrote:
       | I assume this is mostly a mac thing? The effort to get this up
       | and running on debian appears to be a bit more work than normal.
        
         | SG- wrote:
         | it's a Mac and Linux thing.
        
         | mrjbq7 wrote:
         | $ git clone git@github.com:ghostty-org/ghostty.git
         | 
         | $ cd ghostty
         | 
         | $ zig build -Doptimize=ReleaseFast
         | 
         | $ ./zig-out/bin/ghostty
        
           | beanjuiceII wrote:
           | tried this doesn't work do i need some specific zig version?
        
             | eddythompson80 wrote:
             | 0.13.0
             | 
             | https://github.com/ghostty-
             | org/ghostty/blob/4b4d4062dfed7b37...
             | 
             | The full script is pretty much:
             | 
             | $ wget https://ziglang.org/download/0.13.0/zig-
             | linux-x86_64-0.13.0....
             | 
             | $ tar xvf zig-linux-x86_64-0.13.0.tar.xz
             | 
             | $ git clone git@github.com:ghostty-org/ghostty.git
             | 
             | $ cd ghostty
             | 
             | $ ../zig-linux-x86_64-0.13.0/zig build
             | -Doptimize=ReleaseFast
             | 
             | $ ./zig-out/bin/ghostty
        
               | tlhunter wrote:
               | Looks like there are a few deps needed:
               | sudo apt install libgtk-4-dev libadwaita-1-dev git
               | 
               | Otherwise you'll get this error:                 error:
               | unable to spawn glib-compile-resources: FileNotFound
               | Build Summary: 78/83 steps succeeded; 2 failed (disable
               | with --summary none)       install transitive failure
               | +- install ghostty transitive failure          +- zig
               | build-exe ghostty ReleaseFast native transitive failure
               | +- run glib-compile-resources (ghostty_resources.c)
               | failure             +- run glib-compile-resources
               | (ghostty_resources.h) failure       error: the following
               | build command failed with exit code 1:
               | /home/tlhunter/Downloads/ghosttty/ghostty/.zig-
               | cache/o/57acb02f2b1ccf1b03b9597a8c5f2d09/build
               | /home/tlhunter/Downloads/ghosttty/zig-
               | linux-x86_64-0.13.0/zig
               | /home/tlhunter/Downloads/ghosttty/ghostty
               | /home/tlhunter/Downloads/ghosttty/ghostty/.zig-cache
               | /home/tlhunter/.cache/zig --seed 0xb4306e7d
               | -Z11426c6f3a70c8b9 -Doptimize=ReleaseFast
               | 
               | ```
               | 
               | I'm quite surprised they don't provide a .deb package as
               | that checks off 90% of Linux users.
        
               | AndyKelley wrote:
               | It's uncommon for upstream to provide .deb packages.
               | That's not really how it's supposed to work. The Debian
               | community creates Debian packages. Upstream's job is only
               | to avoid making the Debian community's job more difficult
               | than necessary. Unfortunately due to the decisions made
               | by various popular Linux projects (mainly an obscene
               | obsession with dynamic linking), it's not really feasible
               | for upstreams to provide GUI applications on Linux. I
               | hope someday this can change, but realistically there's
               | not enough effort being put towards this goal.
        
               | eddythompson80 wrote:
               | Good point. I'm on pacman, but I remember installing
               | adwaita last year when I started using Ghostty.
        
             | javierhonduco wrote:
             | Zig 0.13 is required according to
             | https://ghostty.org/docs/install/build
        
             | autarch wrote:
             | It also seems to need a fairly new gtk4. At least the
             | version in Ubuntu 22.04 is too old.
        
             | sundarurfriend wrote:
             | Funny to see a "doesn't work" response even on Hacker News,
             | with no details or error messages.
        
         | mrjbq7 wrote:
         | I imagine package managers will start picking this up shortly
         | since it just released publicly.
        
           | kristopolous wrote:
           | well you'll have to get a DD on board to do the work and zig
           | isn't even in debian so that'd have to get there first and
           | the person wanting the terminal probably doesn't want to
           | maintain the programming language as well. So that probably
           | means 2 DDs. Again, there is a non-normal distance here.
        
             | e3bc54b2 wrote:
             | That seems like a very Debian problem.
             | 
             | Perhaps if one was inclined, Nix can provide immediate
             | resolution, since it can be installed and used on Debian
             | and ghostty project provides convenient flake.
             | 
             | Granted I'm on NixOS, but took me grand total of 60 seconds
             | to update config and 8 minutes of actually building on a
             | slow machine.
        
             | pabs3 wrote:
             | Non-DDs can get packages in too via the RFS process, there
             | is a Zig package by a non-DD, not yet in Debian though.
             | 
             | https://mentors.debian.net/intro-maintainers/
             | https://bugs.debian.org/995670
        
         | hei-lima wrote:
         | Yeah, it's not available in the Debian/Ubuntu package managers,
         | but building from source is quite trivial.
        
       | do_not_redeem wrote:
       | I just want to say thanks for the minimum-contrast option:
       | https://ghostty.org/docs/config/reference#minimum-contrast
       | 
       | I've grown so sick of tools/TUIs that output unreadable text
       | (like Debian's ls that defaults to dark-blue-on-black for
       | directories). I look forward to never manually theming a terminal
       | app again!
        
         | thenipper wrote:
         | This is great. I'm middle aged and I've definitely noticed my
         | eyesight needs more and more help in the contrast dept
        
         | rand0m4r wrote:
         | thanks for sharing
        
         | commandersaki wrote:
         | Another goodie is selection-foreground and selection-background
         | config to set the colour for highlight selection, makes a
         | massive difference when it's something you can choose rather
         | than the translucent crap on mac, or the defaults on
         | Windows/Linux.
        
       | sitkack wrote:
       | Is there a bounty for zero days?
        
         | selectnull wrote:
         | Yes, your name will forever be on that pull request.
        
       | BSDobelix wrote:
       | So I will see how well it works on FreeBSD, but I love the
       | development model, keeping it "closed" for the 1.0 (focus and
       | polish), I have not tested it yet, but it already "feels" like
       | professional engineering work.
        
         | wutwutwat wrote:
         | source is open https://github.com/ghostty-org/ghostty
        
           | afatparakeet wrote:
           | Only as of 1.0 release I believe was their point.
        
       | Jarred wrote:
       | I've been using Ghostty for several months now (used Alacritty
       | before that). Ghostty is really, really good. It's fast, it gets
       | the text rendering right (many cross-platform terminals struggle
       | with this), and it has all the features I need.
       | 
       | It's also some very well-written Zig code. We use some of the
       | code for graphemes in Bun for `Bun.stringWidth`.
        
         | SnowingXIV wrote:
         | Likewise coming from alacritty myself. This out of the box
         | gives me everything I really want and does it well. Not to
         | mention the development process was quite refreshing to see.
         | Decision making process for sane defaults and to allow
         | customization quite easily.
         | 
         | Nicely done.
        
       | modernerd wrote:
       | Ghostty has a hard-to-find "quake mode" that may interest some.
       | 
       | During the beta I had it configured like this on macOS:
       | keybind = global:cmd+space=toggle_quick_terminal         quick-
       | terminal-animation-duration = 0.1
       | 
       | There isn't an option to set the default height of the "quick
       | terminal" window that I'm aware of but you can drag the bottom of
       | the window after it opens and it will persist between toggles.
        
         | alejoar wrote:
         | This is the first thing I went looking for when looking at the
         | docs, thank you.
        
           | swyx wrote:
           | what does quake mode do?
        
             | vorpalhex wrote:
             | Scroll down from top on any screen
        
             | diggan wrote:
             | Comes from video games where you usually can hit ~ (tilde)
             | or other character to make a in-game console appear,
             | usually sliding down from above or at least in the top
             | half/third/quarter of the screen. Popularized by Quake and
             | games from that heritage (like Source engine) I suppose.
             | 
             | Desktop equivalent is that you have a terminal available at
             | a short-cut/button-press that will always show it but not
             | fully hide the rest, no matter what other context you're
             | in. Pretty handy.
        
               | swyx wrote:
               | TIL. thank you for taking the time to answer - wasnt
               | obvious from above whether or not this was some kind of
               | joke easter egg thing
        
               | rgun wrote:
               | Same. I have been using this in Yakuake since 5 years but
               | I never knew it was called a "quake mode"
        
               | nosrepa wrote:
               | This is especially amusing to me given your choice of
               | terminal.
        
               | sangnoir wrote:
               | > a terminal available at a short-cut/button-press that
               | will always show it but not fully hide the rest, no
               | matter what other context you're in
               | 
               | I cant be the only person who uses Quake-style terminals
               | at fullscreen. The second part of your sentence is the
               | crucial bit: the ability to _instantly_ conjure a
               | persistent terminal regardless of whatever else I have on
               | screen.
        
               | throw9986bbdhi wrote:
               | Can you then detach it to make it "non-quick", if you
               | want to keep working on that separate context thing?
               | 
               | What I find annoying with my workflow (linux) is that
               | starting a terminal and shell takes a lot of time. I
               | wonder if it's possible to have a terminal always loaded
               | so that my keybinding for creating a terminal would
               | actually: move terminal in current workspace, focus it,
               | then spawn another invisible terminal in the background.
        
               | sangnoir wrote:
               | Yakuake supports invoking the terminal in windowed-mode,
               | if that's the profile you choose for it. I don't follow
               | the purpose served by spawning an invisible background
               | terminal; that doesn't seem to be common workflow, but I
               | suspect you could wrangle it in your shell startup file
               | so that the terminal self-invokes in hidden mode - but
               | having 2 running copies (invisible and windowed) may
               | result in both appearing when you press your global
               | shortcut.
        
               | diggan wrote:
               | I kind of use tmux for this, to have a persistent
               | session. Even if my desktop manager (Gnome3) crashes,
               | which happens sometimes when I run a bazillion VMs and
               | run out of memory, my tmux session still survives and I
               | can `tmux attach` once logged in again.
               | 
               | So the idea would be that you start tmux
               | somehow/somewhere, then in your new shell you can do
               | `tmux attach` to get into that session from anywhere, and
               | if you close this new shell, you can still do `tmux
               | attach` to get back to where you were.
        
               | Dashos wrote:
               | > I wonder if it's possible to have a terminal always
               | loaded so that my keybinding for creating a terminal
               | would actually: move terminal in current workspace, focus
               | it, then spawn another invisible terminal in the
               | background.
               | 
               | Use rxvt-unicode or another terminal that has a
               | client/server mode. Start up a server in the background
               | on boot or login (e.g. as a systemd user service), and
               | make your keybind launch a new client process. Should be
               | pretty much instant.
        
               | DanielHB wrote:
               | Yeah I have been using quake-style terminals (guake on
               | linux, iterm2 on mac) for _years_. I never met another
               | dev in person who also uses it.
               | 
               | I am a single massive monitor kind of person. Quake-style
               | terminal + all apps in maximized window + multiple
               | desktops (with a shortcut to switch between them) is so
               | good. Pull up the same terminal no matter which desktop
               | you are on.
        
         | jedisct1 wrote:
         | Super handy!
        
         | freehorse wrote:
         | Thank you! First thing I was looking for too. Cannot imagine
         | trying a terminal without this.
        
         | gigatexal wrote:
         | Where does one add this? Is there a config file?
        
           | modernerd wrote:
           | https://ghostty.org/docs/config
           | 
           | On macOS, pressing [?]+comma with Ghostty in focus opens the
           | config file.
           | 
           | Quit and reopen Ghostty to load the updated config (or bind
           | another key to the reload_config action: https://ghostty.org/
           | docs/config/keybind/reference#reload_con... ).
           | 
           | Keybinds are explained here:
           | https://ghostty.org/docs/config/reference#keybind
        
             | gigatexal wrote:
             | I just saw this https://ghostty.org/docs/config and was
             | coming to update my post when I saw your comment.
             | 
             | Thank you!
             | 
             | Imma try out ghostty, WezTerm, and Rio thanks to this
             | thread. And why not use them all. For terminal minded folks
             | we are surely spoiled.
        
             | johng wrote:
             | It also has reload config in the Apple menu items which I
             | found handy as the default keybinds didn't seem to work for
             | me.
        
               | dsego wrote:
               | And you can reload the config with Cmd+Shft+, so Cmd+, to
               | open the config (standard mac shortcut) and then the same
               | with Shift to reload it, it's genius.
        
         | thomaslutz wrote:
         | Downside is that the quick terminal doesn't support tabs.
         | Unfortunately that's currently a dealbreaker for me.
        
           | poincaredisk wrote:
           | You can always run tmux inside. I personally don't use tabs
           | in my terminal emulator at all, because I use tmux tabs for
           | everything.
           | 
           | It may not work for you, of course.
        
         | skykooler wrote:
         | Does this work under Wayland? I remember that being an issue
         | for Guake.
        
           | commotionfever wrote:
           | it should do. on Linux it uses GTK which supports Wayland
           | these days
        
         | dsp_person wrote:
         | Hmm any way for this to work in kde plasma wayland?
         | 
         | In yakuake they have to register the Open/Retract shortcut with
         | KGlobalAccel [1] and I don't think global shortcuts are
         | implemented otherwise
         | 
         | [1]
         | https://github.com/KDE/yakuake/blob/164d24b8bad1175199260c62...
        
           | gpanders wrote:
           | It's a macOS-only feature, for now.
        
             | arendtio wrote:
             | Let's hope it will become available for Linux, too. I have
             | been using Yakuake for over a decade now, mostly because I
             | love how I can access the terminal everywhere with one
             | button press.
             | 
             | At the same time, Yakuake seems to be in maintenance mode,
             | and you should be happy when it works with new KDE
             | versions.
        
         | milgrim wrote:
         | Unfortunately no tab support yet in the quick terminal, and it
         | does not work on top of fullscreen applications. Would be great
         | if these things would work at some point.
         | 
         | Currently I am using Wezterm and iTerm2 for the quake style
         | terminal, but using two different terminals is quite annoying.
         | I really miss Visor and TotalTerminal.
        
           | tecleandor wrote:
           | About tab support, you mean pressing the tab key to, for
           | example, autocomplete a command?
           | 
           | That seems to work for me (macOS 15.2 here)
        
             | manmal wrote:
             | GP means creating a new tab with CMD+T, which works in the
             | normal ghostty terminal. iTerm2 does support tabs in its
             | hotkey windows (~= ghostty's quick terminal).
        
               | tecleandor wrote:
               | Aaaaaah! Ok, what a confusion :D
        
         | psyclobe wrote:
         | Love me some quake style terminals, will check this out
        
         | danpalmer wrote:
         | Amazing, thanks! This is most of how I use a terminal. Will
         | give it a go.
        
         | emmelaich wrote:
         | Doesn't seem to like that keybind now, and searching the docs
         | doesn't give me answer. Do you know if something still works?
         | 
         | Also, why cmd+space? That's the MacOS spotlight search binding.
        
           | modernerd wrote:
           | I disable cmd+space for Spotlight in macOS System
           | Preferences.
           | 
           | You could try another keybind:
           | 
           | https://ghostty.org/docs/config/reference#keybind
           | 
           | Also be sure to quit and reopen Ghostty or use the reload
           | configuration option from the Ghostty menu.
        
         | manmal wrote:
         | I'm using ctrl+` :                   keybind =
         | global:ctrl+grave_accent=toggle_quick_terminal
         | 
         | It was the first thing I made sure ghostty supported it before
         | trying it.
         | 
         | Setting the initial height of the quick terminal is under
         | development: https://github.com/ghostty-org/ghostty/issues/2384
         | 
         | Lack of tab support in the quick terminal is a bummer, but it
         | should come eventually: https://github.com/ghostty-
         | org/ghostty/issues/2329#issuecomm...
         | 
         | For now, splits are the way to go in the quick terminal.
        
           | rplnt wrote:
           | Note, if someone is trying this, that you need to grant
           | accessibility permissions for it to work when Ghostty isn't
           | focused.
        
       | fishgoesblub wrote:
       | I initially scoffed when I read "platform-native UI" as I've
       | found programs made in Electron typically proclaim something
       | similar when they are anything but native, so when I saw it used
       | GTK for Linux (SwiftUI for MacOS) my interests were piqued.
       | Always fun to mess around with new terminal emulators.
       | 
       | edit: alas, it doesn't support bitmap fonts..
        
         | BoingBoomTschak wrote:
         | Thanks for this post, first thing I did was search "bitmap" in
         | the thread. If I can't use Terminus (+Unifont fallback), it's
         | not for me.
        
           | fishgoesblub wrote:
           | It was the first thing I check whenever I try a new terminal.
           | If Terminus doesn't work then the terminal doesn't work for
           | me.
        
           | emmelaich wrote:
           | Curious as to how much it matters; if a TTF font looks
           | similar and is fast?
        
             | BoingBoomTschak wrote:
             | > if a TTF font looks similar
             | 
             | It doesn't, especially on average DPI monitors. Oh, you
             | mean the OTF trick.
        
           | TheSmoke wrote:
           | fyi, I have just tried Unifont and worked perfectly.
        
         | opan wrote:
         | >it doesn't support bitmap fonts
         | 
         | Very disappointing. Not sure why people are trying to kill off
         | bitmap support in everything these days. Will stick with foot.
        
           | nasretdinov wrote:
           | IMO the main reason is high DPI screens. On macs it's
           | essentially the default, and it'll probably become the
           | default in the future for everything. Since bitmap fonts make
           | much more sense with low pixel density I think it's not going
           | to be a priority for any newly developed apps.
        
         | mitchellh wrote:
         | You can get pixel perfect bitmap fonts by using their TrueType
         | conversions and using fractional point font sizes. There are
         | dozens of bitmap enthusiasts that were in the beta and they're
         | totally convinced because well... it's pixel identical.
         | 
         | I've noted before in issues I'm open to supporting bitmap fonts
         | if someone contributes it, but not interested in adding it
         | myself. The workaround above is very good.
        
           | fishgoesblub wrote:
           | When using the original Terminus font failed, I tried the TTF
           | version (Terminess) which in VSCode at specific point sizes
           | is crisp and sharp. But with Ghostty, it was blurry and hard
           | to read. At that point I gave up trying.
        
             | BoingBoomTschak wrote:
             | The reason might be that you need to have an "anti-
             | aliasing" checkbox to untick on MacOS (generally in the
             | font selection menu). I switched from Terminal to iTerm for
             | that reason, on my work MBP.
        
         | barnabee wrote:
         | Looks like a very nice project overall. I was initially
         | interested in the "native" UI but after trying Ghostty I think
         | I've realised that in a terminal app I actually want all the UI
         | to be terminal/TUI based within the terminal itself. This is a
         | personal preference I've discovered rather than a criticism of
         | Ghostty.
         | 
         | It seems fast and really nice otherwise, so I'll keep fiddling
         | with it, but so far I still prefer, for example, the "non-
         | fancy" tabs in WezTerm (where the tabs are just rendered as
         | line of terminal cells at the top or bottom of the window
         | rather than GUI elements), and the way that modals ("Really
         | quit WezTerm?" etc.) are also rendered within the terminal.
         | 
         | I'd also struggle to live without quick select mode[0].
         | 
         | [0] https://wezfurlong.org/wezterm/quickselect.html
        
           | seqizz wrote:
           | Yeah I also searched for a quick select in ghostty while
           | checking now. I am probably too deep in wezterm with my lua
           | configuration anyway, but still.
        
       | videlov wrote:
       | I have found the following community site for generating Ghostty
       | config quite helpful https://ghostty.zerebos.com/
        
         | elAhmo wrote:
         | This is great, thanks! It would be amazing if CMD + , would
         | open this directly.
        
           | shpx wrote:
           | I uninstalled the app when I saw that Cmd+, opens an empty
           | text file called config.
           | 
           | I'm not going to learn more configuration languages or type
           | 30 characters (or paste them from the browser) to toggle a
           | binary setting.
        
             | computerfriend wrote:
             | Aren't plaintext configuration files standard? It's how I
             | configure most applications (and how I like it, because it
             | makes the configuration shareable).
             | 
             | As a DSL, it's key-value pairs. It doesn't get much simpler
             | than that.
        
               | rplnt wrote:
               | It's a desktop/GUI application. It's definitely not a
               | standard for those, no. I share the OPs frustation that I
               | don't even know what I can configure and have to search
               | web to be able to change something. And while the
               | documentation is nice, it's not exactly great for this.
               | 
               | Also, having an explorable and searchable UI doesn't mean
               | it's not saved in the same shareable and readable file.
        
               | agos wrote:
               | no, especially for an app that boasts to be "native"
        
               | wpm wrote:
               | The ultimate end format for the config stored on disc is
               | completely irrelevant to how the config is created.
               | Simple doesn't mean easy to experiment with, simple to
               | understand, fast to write and so on.
               | 
               | No one is confused as to how the ghostty config works.
               | Key value pairs. Sure. A window full of GUI controls and
               | system color pickers can create that config file, or I
               | can manually by hand. I'd prefer the former.
        
               | Filligree wrote:
               | That _could_ have been acceptable. The problem is it 's
               | empty; it should instead contain the default
               | configuration.
        
               | rererereferred wrote:
               | You can see the default configuration by running `ghostty
               | +show-config --default`
        
               | Filligree wrote:
               | In that case it should be easy to prefill the config file
               | if it doesn't already exist.
        
             | OrangeMusic wrote:
             | Same here. I was curious, so I installed it. First thing I
             | tried to do was to change the text color, and saw there was
             | no settings UI. This is a bit baffling to be honest.
             | 
             | Uninstalled it right away, I'll keep using the default
             | MacOS Terminal app.
        
             | rainbowjelly wrote:
             | A GUI for settings is planned so you can try again in the
             | future.
        
             | homebrewer wrote:
             | kitty has a nicely formatted config which lists all
             | settings along with their default values and a very
             | detailed description of each one. It's pretty much the same
             | as having a GUI. Maybe Ghostty can adopt this?
        
               | Houstan wrote:
               | Similarly documented config file can be generated on
               | linux with:                 mkdir -p ~/.config/ghostty
               | ghostty +show-config --default --docs >>
               | ~/.config/ghostty/config
        
             | matwood wrote:
             | Interesting take. Settings are typically something I setup
             | once and move on. A GUI is nice (I'm sure there will be
             | one), but not required in a v1. One of Ghostty's stated
             | goals is sane defaults that mostly work out the box. I just
             | checked my settings file and I changed 3 things. I think
             | they did a pretty good job with defaults.
             | 
             | Finally, somewhere else in this thread someone linked a web
             | tool that will generate the settings if you absolutely
             | can't look up the couple you need to change.
        
         | zerebos wrote:
         | Hey this is my tool, thanks for sharing! I've been very happy
         | with how well received it has been so far!
        
           | mvdwoord wrote:
           | Well, thanks! Sometimes GUI makes for easier discovery than a
           | wall of text, even when the docs are good.
        
           | matwood wrote:
           | Great tool! Thank you.
        
         | 8bithero wrote:
         | Oh wow, this great! Is it your project? Either your post
         | deserves more upvoted, or this link deserves it's own post.
         | Thanks for this one! <3
        
       | loeg wrote:
       | > For example, on macOS, Ghostty supports Quick Look, force
       | touch, the macOS secure input API, built-in window state recovery
       | on restart, etc. These are all native APIs provided by macOS that
       | don't have equivalents in Linux desktop environments.
       | 
       | I believe window state recovery has some approximate equivalent
       | in GNOME and KDE, but maybe not exactly the same (and I don't
       | know how easy it is to integrate with).
        
         | eliaspro wrote:
         | On X11, Gnome and KDE Plasma supported session/state restore,
         | but this was based on XSMP and couldn't be simply reused for
         | Wayland.
         | 
         | There's an ongoing standardization effort to provide equivalent
         | functionality for Wayland:
         | https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m...
         | 
         | KDE Plasma provides a "fake session restore" for the time
         | being: https://invent.kde.org/plasma/plasma-
         | workspace/-/merge_reque...
        
           | loeg wrote:
           | Ah, good to know.
        
       | ksec wrote:
       | This feels like the Vagrant moment [1] again. Cant believe 15
       | years have passed already.
       | 
       | Together with Bun I believe that is two high profile open source
       | software made with Zig.
       | 
       | [1] https://news.ycombinator.com/item?id=1175901
        
         | BrouteMinou wrote:
         | Wayland WM "River" is great too.
        
         | ajoseps wrote:
         | and it's the same guy
        
         | ivve wrote:
         | What do you mean the "vagrant moment"?
        
       | alberth wrote:
       | For those who don't have the background:
       | 
       | - created by Mitchell (founder of HashiCorp)
       | 
       | - it's developed in Zig (and Mitchell recently pledge $300k to
       | Zig foundation)
       | 
       | - uses native UI (which is super rare for cross platform app)
       | 
       | - amazingly performant. e.g.
       | https://hachyderm.io/@mitchellh/111919642467789362
       | 
       | - has lots of amazing small details like below
       | 
       | https://hachyderm.io/@mitchellh/113330304084905500
       | 
       | https://hachyderm.io/@mitchellh/113443002518588524
       | 
       | https://hachyderm.io/@mitchellh/113166930440000852
       | 
       | This has been a passion project of his for the past 2-years and
       | he's completely MIT open sourced it. He's spent a lot of time
       | thinking and ensuring this project can persist in the future even
       | without him.
       | 
       | Many people have tremendous respect for Mitchell's technical
       | abilities, as well as hugely respect _how_ he operates (genuinely
       | nice person and thinks about things long-term and does the hard
       | work for sustainability).
       | 
       | Lots more to read at: https://mitchellh.com/writing/ghostty-is-
       | coming
        
         | saberience wrote:
         | It doesn't work in Windows so how is it cross platform?
         | 
         | Also, I've been using terminals since DOS in 1990 and never
         | once have I had to say, "I wish this terminal had more
         | performance", so I'm not sure that performance is really
         | relevant here. If I write a command to build my project which
         | takes 10 mins to build, does it matter whether the terminal
         | command ran in 10 milliseconds vs 1 millisecond?
         | 
         | In the linked speed demo one command was 8 milliseconds faster
         | than another. Ok?
         | 
         | Is a terminal written in Zig better than one made in C++ or
         | Rust? Again, unsure why its relavant at all.
        
           | marcus0x62 wrote:
           | > It doesn't work in Windows so how is it cross platform?
           | 
           | Linux and macOS are different platforms. Would calling it
           | multi-platform make you happier?
           | 
           | > Also, I've been using terminals since DOS in 1990 and never
           | once have I had to say, "I wish this terminal had more
           | performance",
           | 
           | I remember the Windows terminal being unbearably slow in the
           | past and wishing it had better performance.
           | 
           | Maybe this just isn't for you.
        
           | SG- wrote:
           | are you still running DOS too?
        
           | Fnoord wrote:
           | If you use something like tmux you will notice higher
           | latencies. Clearly, if you've been using terminals since DOS
           | in 90s and the issue does not bother you, then you are likely
           | happy with whatever it is you are using. If you want to look
           | into the issue and read on methodology used before I
           | recommend Dan Luu's from 2017 [1]
           | 
           | [1] https://danluu.com/term-latency/
        
           | cbushko wrote:
           | | In the linked speed demo one command was 8 milliseconds
           | faster than another. Ok?
           | 
           | For day to day, ls'ing files that speed up won't matter too
           | much. It is when you are tailing logs or working with multi-
           | gig files that it matters.
        
         | sweeter wrote:
         | Ghostty, Mitchell, and the community around Ghostty, are all
         | really amazing and pleasant to work with. I've had a lot of fun
         | hanging out in the Discord, and sending in a couple of PR's.
         | Everyone is really kind and accommodating. It's a pretty great
         | example of how to run a community and open-source project, even
         | this early on.
        
       | sureglymop wrote:
       | Does it support Ctrl+Scroll to zoom? Somehow I got used to this
       | years ago and unfortunately not a lot of software supports it.
       | Have been using Wezterm until now, which does.
        
         | sionisrecur wrote:
         | That's usually a feature of the Desktop Environment. If you
         | configure it there then it works everywhere.
        
       | thiht wrote:
       | I've been very disappointed with Alacritty (no support for split
       | term in favor of tmux) and WezTerm (insane config format, config
       | has no business using a full fledged programming language)
       | feature wise, so I have high hopes regarding Ghostty, can't wait
       | to try it!
        
         | medimikka wrote:
         | Config being a programming language has insane advantages. Not
         | only can I error check my config in vim or Visual Code, I can
         | do insane things with logic that just don't work in other
         | config file approaches. My laptop is connected to a 32" 4k
         | monitor at work, standalone while traveling, and to a 27" 2k at
         | home. WezTerm "knows" that, and sets things such as font size
         | and line height automagically.
         | 
         | Even more, I can have split logic based on window size, window
         | titles that show me who also checked out a file while I am
         | inside an editor, even per-window color and font schemes.
         | 
         | All apps should use something like Lua for their config.
        
           | thiht wrote:
           | It's great that you (and many others) find it useful, but I
           | genuinely have no idea what this is about. I switch my iTerm
           | from my 13" MBP, 32" monitor, and iPad all the time, and I
           | don't need any config to make it work. Maybe I just don't
           | care enough about this stuff but I don't see what I would
           | even configure this way.
           | 
           | Anyway, this is the reason I love the new wave of terminals,
           | they bring new stuff on the table and anyone can find one
           | they love. I just installed Ghostty and it works as I expect
           | out of the box, with even less config (0) than I have on
           | iTerm. And it's fast. Now I just hope they'll add a config UI
           | some day (one of the reasons I prefer static config files:
           | you can't really get a UI with a programming language) and
           | I'll be in terminal heaven
        
             | eviks wrote:
             | If you don't care about this stuff you'll just as easily
             | configure in a static key=value table whatever you like,
             | lua doesn't limit you here. It's benefits are all optional
        
           | gigatexal wrote:
           | Hmmm this actually has me thinking of looking at WezTerm now
           | hah
        
           | gigatexal wrote:
           | I have a similar setup could you link your config? Id like to
           | adapt it.
        
           | root_axis wrote:
           | I've used wezterm for years and have never done anything
           | fancy with the config, but this sounds awesome. I'd really
           | appreciate it if you could link your config or a similar
           | resource.
        
             | jitl wrote:
             | I just started using wezterm, my config isn't as mature or
             | fancy, but I already found a spot where lua config is
             | making me happy. I added a feature so I can command-click
             | on Github PR numbers in Wezterm to take me to that PR on
             | Github.com. Here's a permalink to the code: https://github.
             | com/justjake/Dotfiles/blob/030c5d2b43e944df55...
             | 
             | The way this works in Wezterm is you can add regexes that
             | match text in the terminal and format that text as links.
             | So, I turn #(\d+) into "GITHUB_PR:$1" and then add a "on
             | link clicked" callback to handle that special URL form by
             | shelling out to `gh pr view --web $1` in the same working
             | directory as the clicked pane.
        
           | zaruvi wrote:
           | This is what I love about wezterm. I have a whole system that
           | detects lightness and changes themes automatically, and also
           | sends commands down to any open nvim instances to switch
           | colourschemes there. The only downside is that there is no
           | going back for me haha.
           | 
           | Lua is also simple enough that if you want to have a static
           | config, you can have a single table that is very json-like.
        
         | Fnoord wrote:
         | I solve that by using zellij locally (I use tmux remotely).
         | Bonus points: I can close or upgrade Alacritty without losing
         | session.
        
         | jakkos wrote:
         | > WezTerm (insane config format, config has no business using a
         | full fledged programming language)
         | 
         | Insanely good ;)
         | 
         | Being able to quickly script minor functionality into my
         | terminal emulator is my favorite thing about WezTerm
        
       | mikkelam wrote:
       | I have honestly been so excited to try this after listening to
       | several videos of mitchell talking about his work. What a
       | christmas present!
       | 
       | A terminal is so dear to us software engineers, and this seems
       | like such a love declaration to the terminal.
       | 
       | Time to spend hours tuning my config!
        
       | jedisct1 wrote:
       | This is by far the best terminal emulator I've ever used.
        
       | mitchellh wrote:
       | <3 This has been a work of passion for the past two years of my
       | life (off and on). I hope anyone who uses this can feel the love
       | and care I put into this, and subsequently the amazing private
       | beta community (all ~5,000 strong!) that helped improve and
       | polish this into a better release than I ever could alone.
       | 
       | Ghostty got a lot of hype (I cover this in my reflection below),
       | but I want to make sure I call out that there is a good group of
       | EXCELLENT terminals out there, and I'm not claiming Ghostty is
       | strictly better than any of them. Ghostty has different design
       | goals and tradeoffs and if it's right for you great, but if not,
       | you have so many good choices.
       | 
       | Shout out to Kitty, WezTerm, Foot in particular. iTerm2 gets some
       | hate for being relatively slow but nothing comes close to
       | touching it in terms of feature count. Rio is a super cool newer
       | terminal, too. The world of terminals is great.
       | 
       | I've posted a personal reflection here, which has a bit more
       | history on why I started this, what's next, and some of the
       | takeaways from the past two years.
       | https://mitchellh.com/writing/ghostty-1-0-reflection
        
         | the_mitsuhiko wrote:
         | Thanks so much for this. I really enjoy using it and I also
         | refer to the source code quite a bit as I'm trying to get more
         | familiar with Zig :)
        
         | indigodaddy wrote:
         | Looks really awesome. I'm going to sound like I don't belong in
         | the hipster terminal club, but the reason I shied away from
         | some of the other terminals is the lack of tabs, which looks
         | like yours has when I did a quick Google question/search. (if
         | wezterm and the like have them, I must have missed it or it
         | wasn't obviously apparent in the settings how to achieve them).
         | 
         | I know everyone will say but tmux and/or native multiplexing
         | bla, but I'm kind of old school and only do screen remotely if
         | needed, and I just like a lot of terminal tabs in my workflow
         | with a quick mod left/right arrow to navigate between (and if
         | native multiplexing in Ghostty is simple and easy I'd probably
         | do some of that too). Perhaps this is why I've never left
         | iterm2.
        
           | onli wrote:
           | Wezterm does have tabs, and their related keyboard shortcuts
           | are configurable.
           | 
           | See https://wezfurlong.org/wezterm/config/lua/keyassignment/S
           | paw... for a starting point in the config.
        
             | indigodaddy wrote:
             | Thanks!
        
             | samatman wrote:
             | WezTerm has emulated tabs, not OS-native tabs. Some people
             | will find that to be enough to suit their needs. Others
             | will want 'real tabs'.
             | 
             | For example, I can select a tab in Ghostty, pull it out
             | into its own window, and then stick it into another window.
             | This doesn't work in WezTerm, nor can you drag them around
             | to rearrange them (keyboard shortcuts allow this however).
        
               | nyclounge wrote:
               | So is Ghostty a faster version of iTerm2 and it is Linux
               | compatible?
        
               | rererereferred wrote:
               | iTerm2 has way more features, more than I realistically
               | use, but feels slower too.
        
               | onli wrote:
               | I'm honestly not sure what a OS native tab is supposed to
               | be, on Linux. And I do not see why "emulated tabs" of
               | WezTerm couldn't just do the actions that you describe.
               | The Firefox tabs do after all, and they do not look like
               | they are built according to some (GTK?) tab standard
               | (GTK.Notebook?). I'm pretty sure that X11 does not have
               | native tabs, while some window manager do. Is there a
               | linux standard I'm just not aware of that you are
               | referencing here?
               | 
               | Maybe it does not matter, the difference in functionality
               | should count. Just highlighting that this messaging might
               | not be understandable for linux users. I guess you are
               | talking about some macOS thingie that's irrelevant to us.
        
               | wongogue wrote:
               | They mean that WezTerm doesn't use the tab widgets of the
               | platform's _first-party_ UI tookit.
               | 
               | AppKit/SwiftUI on macOS and GTK/Qt on Linux.
        
           | jyap wrote:
           | Quick correction: I currently use Wezterm on Linux and it has
           | tabs. Alacritty does not for developer philosophical reasons.
           | 
           | Looking forward to checking out Ghostty.
        
             | sshine wrote:
             | So does kitty.
             | 
             | I agree with the philosophy of no tabs, but I
             | simultaneously live in an intermediate desktop environment
             | situation where I don't have access to the "right" solution
             | yet. So I'm happy to have terminal emulator tabs, browser
             | tabs and IDE tabs for lack of a more integrated solution.
        
           | mitchellh wrote:
           | We've got native tabs and splits on both macOS and Linux. :)
           | 
           | WezTerm has tabs but they're not native UI elements.
        
             | indigodaddy wrote:
             | Right, I was admittedly too lazy to dig far enough with
             | wezterm it appears. Was looking for the button to click I
             | guess.
        
               | Zizizizz wrote:
               | You can click the tabs in wezterm
        
           | GreenWatermelon wrote:
           | Wezterm has tabs right out of the box and they are fully
           | customizable, though I prefer tmux since I prefer to not have
           | my data extinguished if I accidentally close the terminal :D
           | 
           | WezTerm shines in ease and breadth of configurability due to
           | using lua, so it's simple to have the theme change between
           | light/dark depending on host OS theme.
        
             | threecheese wrote:
             | Interestingly there's another comment ITT complaining that
             | they need to use a programming language for configuring
             | wezterm :)
             | 
             | As a wezterm user I'll admit that configuring it was mildly
             | annoying to start, but ended up feeling like an
             | accomplishment. A few years in, it's just another annoying
             | program I have to re-remember how to use when i update
             | twice a year.
        
               | 8n4vidtmkvmk wrote:
               | I don't know Lua either but c'mon now. It's just some
               | config. Copy and paste from the docs and tweak the values
               | as needed. If you really want to write something funky in
               | there, ChatGPT knows Lua. It's not that bad.
        
               | cevn wrote:
               | It took me all of 30 seconds to get the Lua config to
               | compile from copy pasting the documentation..
        
             | 8n4vidtmkvmk wrote:
             | Your data isn't extinguished if you're running wezterm on
             | the server too. It'll reconnect.
        
           | gigatexal wrote:
           | Yeah. I could get by with the default Linux terminal and tmux
           | really. Tmux is just the best. Second to vim it's the single
           | most useful thing I've ever used.
        
           | dotancohen wrote:
           | I also use tmux, but I love the native tabs of Konsole in
           | KDE. I have Shift-Arrow configured to move between them, it
           | is far more comfortable than the dual shortcuts needed by
           | tmux, Ctrl-B to call tmux's attention then l (if I remember
           | correctly) to get to the last tab.
           | 
           | Konsole also has easy resizing of text and supports images in
           | the console, you might like it.
        
             | tessellated wrote:
             | I just tried, "tmux bind -n S-Left prev"... works. Thank
             | you, good idea. I now have 'S-Up switch-client -n' and
             | 'S-Down last'
        
             | whateveracct wrote:
             | Konsole is super solid. Just Works.
        
             | rgun wrote:
             | I am a happy konsole user. I have bookmarked all the tabs
             | relevant to my project, in a folder. As soon as I start
             | konsole, I open the folder in tabs.
             | 
             | Then as a ritual (and a bit of OCD), I quickly cycle
             | through all the tabs with Shift-Right Arrow once.
        
             | smw wrote:
             | Try binding the tmux leader key to '`' (grave accent). This
             | changed my life!
        
               | Fnoord wrote:
               | jj or qq can also be used. As I once started with GNU
               | Screen ages ago, I like prefix to ctrl+a but it
               | interferes with going to front of command in bash mode.
               | For that, I use vi keybind mode in my shell (fish or
               | bash) which feel very natural to me. For zellij, I use
               | default prefix so that it does not interfere with remote
               | (yes I am aware remote requires double prefix; I prefer
               | using tmux remotely and zellij locally).
        
               | bhasi wrote:
               | I second this. I wouldn't have been able to make tmux
               | such an integral part of my daily workflow if it weren't
               | for this binding that I came across in someone's starter
               | tmux conf many years ago.
        
             | kombine wrote:
             | As a longtime KDE fan I've used Konsole for years and it is
             | seriously underrated. However, after I discovered Kitty a
             | few months ago, I fully converted and cannot be happier.
             | You can also move between tabs using keyboard shortcuts as
             | well as move the tabs themselves. What I like about Kitty
             | more is its straightforward text file based approach for
             | configuration and absence of any gui elements. Konsole's
             | GUI and configuration menus are overwhelming and I think
             | are in need of a deep redesign.
        
         | jbergstroem wrote:
         | I've been a beta tester from very early on. I came for the
         | performance but stayed for the stability. I've only had a rare
         | few crashes and all but one was a duplicate in the bug tracker.
         | 
         | I thought I needed search but as Mitchell put it, not a 1.0
         | feature. Ripgrep was always the answer.
         | 
         | Very happy to share the ghostty experience with the world!
        
           | sionisrecur wrote:
           | Search was the first thing I noticed it was lacking. I hope
           | it can be added at some point, sometimes you can't just run a
           | command again to grep it.
        
             | mixmastamyk wrote:
             | Guessing y'all mean search of the scrollback buffers?
        
               | 3r7j6qzi9jvnve wrote:
               | (probably, I was also looking for that)
        
             | rainbowjelly wrote:
             | Mitchell said it is planned in a recent interview on the
             | Changelog podcast[1], just not in time for 1.0.
             | 
             | [1]: https://changelog.com/podcast/622
        
             | fn-mote wrote:
             | The kitty method of piping the scroll back buffer to a
             | pager is more general - it also seems like a quick fix to
             | achieve this desired feature.
        
               | WD-42 wrote:
               | I really like how Kitty handles search. I thought it was
               | a hack at first - then came to realize why re-implement
               | search if less works better?
        
         | levlaz wrote:
         | Thank you for making this! I've been waiting to use it for
         | quite some time. Really happy to take it for a spin.
        
         | filmgirlcw wrote:
         | Thank you for building this! I've loved using this over the
         | last two months or so and really appreciate the work you've put
         | into it.
         | 
         | I've been a very happy iTerm2 user and support the dev on
         | GitHub Sponsors (and I'll continue to do that), but I love your
         | commitment to making a fast, native app (and cross platform, no
         | less) and really appreciate this very obvious labor of love
         | that has also been really interesting to watch from afar as the
         | development has progressed!
        
         | cmgriffing wrote:
         | No mention of Cool Retro Term!?!? Typical elitist behavior...
         | /s
         | 
         | I'm just having a bit of fun, but it is a fun terminal every
         | once in a while. https://github.com/Swordfish90/cool-retro-term
        
           | bioneuralnet wrote:
           | I LOVE Cool Retro Term! I mean, every once in a while. But if
           | I'm sharing it in Zoom, I'm damn sure re-opening my tmux
           | session in CRT.
        
           | xrd wrote:
           | Wow that's great
        
           | SG- wrote:
           | you can use glsl shaders with Ghostty including this CRT one
           | to mimic what cool retro does
           | 
           | https://github.com/m-ahdal/ghostty-
           | shaders/blob/main/crt.gls...
        
             | cmgriffing wrote:
             | Awesome! Thanks!
             | 
             | For anyone else curious about how to configure these, check
             | out the docs:
             | https://ghostty.org/docs/config/reference#custom-shader
        
             | dsego wrote:
             | Will these work on MacOS or does it use metal for the mac
             | version?
        
               | cmgriffing wrote:
               | I'm using them on a new mac mini. Haven't tried on my
               | older intel mac mini yet though.
        
               | dsego wrote:
               | Thanks, I managed to enable the shader, I think the glsl
               | path needs to be absolute, it doesn't work starting with
               | ~ (tilde).
        
           | Blackthorn wrote:
           | I use that one as my daily driver. Works great.
        
         | cbushko wrote:
         | I think you've done an excellent job running the community for
         | Ghostty and it is a prime example of how to do it right. From
         | the Discord to Github repos you've been a class act all the way
         | through and have pushed folks to be good, civil internet
         | denizens. Much respect.
         | 
         | If anyone cares to search through Github, they will see loads
         | and loads of Issues and PRs created by Mitchell in many of the
         | related Open Source projects that Ghostty uses/references. From
         | zig to kitty to supporting libraries, Mitchell has been trying
         | to get the terminal community working together and have some
         | sort of standards. A lot of them are like "X does this, Y does
         | that, why are you doing it this way? Can we all do it this
         | way?" and then having Ghostty follow the most reasonable
         | solution (or supporting several!).
        
         | arghwhat wrote:
         | Just make sure not to get caught in the pitfall that is maximum
         | render speed, which can lead to missing out on efficiency
         | during slow and partial rendering.
         | 
         | Missing damage tracking, always painting everything (even when
         | the window is a full 4k monitor), etc. kills performance and
         | input latency when dealing with realistic redraw workloads like
         | text editing, blinking cursors and progress bars. Much too
         | often to terminals worry only about the performance of `cat
         | /dev/urandom`...
        
           | cayley_graph wrote:
           | Right, input latency is what matters for me. I'm not seeing
           | whether they've measured that in the docs/on Github.
        
             | CalebJohn wrote:
             | He mentions input latency[1] as one of 4 aspects of being
             | fast that were considered during development. I'm not aware
             | of how that was tested, but would trust that it outperforms
             | Iterm2 in that regard.
             | 
             | [1] https://www.youtube.com/watch?v=cPaGkEesw20&t=3015s
        
           | imron wrote:
           | > kills performance
           | 
           | And battery.
           | 
           | I gave up on alacritty because it was always using the
           | dedicated graphics card of my MacBook and there was no
           | reasonably way to use the integrated graphics card because it
           | was "low performance".
        
             | mitchellh wrote:
             | - Ghostty does vsync by default and supports variable
             | refresh rates (DisplayLink). If you're on battery and macOS
             | wants to slow Ghostty down, it can and we respect it.
             | 
             | - Ghostty picks your integrated GPU over dedicated/external
             | 
             | - Ghostty sets non-focused rendering threads as QoS
             | background to go onto E-cores
             | 
             | - Ghostty slows down rendering significantly if the window
             | is obscured completely (not visible)
             | 
             | No idea if Alacritty does this, I'm not commenting about
             | that. They might! I'm just talking from the Ghostty side.
        
               | imron wrote:
               | That's a great approach.
               | 
               | Not sure on the current state of Alacritty, but a few
               | years back the suggested solution for users interested in
               | battery performance was to switch to a different terminal
               | emulator: https://github.com/alacritty/alacritty/issues/3
               | 473#issuecomm...
        
               | indemnity wrote:
               | This is the Alacritty answer to a lot of queries. I took
               | the advice, eventually.
        
               | imron wrote:
               | Yep. That comment was when I stopped using Alacritty.
        
               | diggan wrote:
               | I, a person who don't care about battery performance one
               | iota (because my computer has no battery), love this
               | answer and approach. Not every software is for everyone,
               | and authors drawing a line in the sand like that works
               | out better for everyone in the long-term, instead of
               | software that kind of works OK for everything.
        
               | mitchellh wrote:
               | In some cases yes. In this case, in my opinion it can be
               | strictly wrong.
               | 
               | The GPU requirements of a terminal are _minuscule_ even
               | under heavy load. We're not building AAA games here,
               | we're building a thing that draws a text grid. There is
               | no integrated GPU on the planet that wouldn't be able to
               | keep a terminal going at an associated monitor's refresh
               | rate.
               | 
               | From a technical standpoint, there is zero downside
               | whatsoever to always using the integrated GPU (the stance
               | Ghostty takes) and plenty of upside.
        
               | imron wrote:
               | More than happy for software authors to draw a line in
               | the sand - I've done that myself too.
               | 
               | I just find myself on the other side of the line for
               | Alacritty.
        
               | Fnoord wrote:
               | Because _my_ computer has no battery. There is a plethora
               | of computers out there with batteries who can run Linux,
               | Windows, and macOS. These computers can, on paper, run
               | Alacritty.
               | 
               | Cherry on top is me being a former user of a MBP 2010
               | who'd crash when using discrete GPU (it was _the_ reason
               | Apple went with AMD later on). And some apps insisted on
               | using it, even when I disabled it.
               | 
               | I like Rust applications but I don't like this response.
               | The dev sounds worn out; whereas the dev of Ghostty seems
               | to be a pleasure to deal with.
        
               | ayushgun wrote:
               | > - Ghostty sets non-focused rendering threads as QoS
               | background to go onto E-cores
               | 
               | Assuming you're referring to Apple Silicon chips, how
               | does Ghostty explicitly pin a thread to an E-core? IIRC
               | there isn't an explicit way to do it, but I may be
               | misremembering.
        
               | ec109685 wrote:
               | The QoS influences the core threads are placed on
               | https://developer.apple.com/documentation/apple-
               | silicon/tuni....
        
               | broknbottle wrote:
               | You can tell something to run on e-core just not p-cores
        
               | Filligree wrote:
               | > - Ghostty slows down rendering significantly if the
               | window is obscured completely (not visible)
               | 
               | About this. For whatever reason, I often end up with
               | foreground windows (e.g. Chrome) covering the background
               | window entirely, except for a sliver a few pixels wide.
               | 
               | Would Ghostty handle this case? I don't believe there's
               | any point in full-speed rendering if less than a single
               | line of text is shown, but the window isn't _technically_
               | obscured completely.
        
               | mitchellh wrote:
               | We rely on the OS to tell us when we're obscured, and
               | macOS will only tell us if the window is fully obscured
               | (1 pixel showing is not obscured).
        
               | tuananh wrote:
               | can i configure it to run on dedicated? im on desktop,
               | power consumption is not an issue.
        
               | stouset wrote:
               | I struggle to understand why any of the above approaches
               | would cause any impact worth maintaining a configuration
               | flag over.
        
           | epcoa wrote:
           | > Missing damage tracking, always painting everything (even
           | when the window is a full 4k monitor),
           | 
           | Out of curiosity, what GPU accelerated terminal does this.
        
             | cztomsik wrote:
             | +1, no idea.
             | 
             | But maybe to add a little bit of context, "damage tracking"
             | means for example, that if there is any ongoing animation
             | (like a spinner), then only a small part of the screen will
             | be re-rendered (with proper vertex-time scissors, so only
             | relevant pixels will be computed). I am not sure if it
             | makes sense in the context of a terminal emulator, but it's
             | certainly a big issue for any non-toy GUI toolkits.
             | 
             | GPUs are incredibly fast parallel computers, so you will
             | likely not observe any perf difference (unless you need
             | order-dependent transparency which you don't), but it might
             | improve your battery life significantly.
        
               | arghwhat wrote:
               | No, damage tracking is important as it about _reporting_
               | that you only updated that spinner, which means that your
               | display server also knows to only redraw and repaint that
               | area, and in turn that your GPU knows during scanout that
               | only that area changed.
               | 
               | Without, even if you only redrew your spinner, your
               | display server ends up having to redraw what might be a
               | full screen 4k window, as well as every intersecting
               | window above and below until an opaque surfaces are hit
               | to stop blending.
        
               | epcoa wrote:
               | Well it sounds like ghostty is like all the other major
               | GPU terminal emulators (unless you know of a
               | counterexample) and does full redraw, though it appears
               | to have some optimizations about how often that occurs.
               | 
               | The power issue might be true in some cases, but even as
               | foot's own benchmarks against alacritty demonstrate, it's
               | hyperbolic to say it "kills performance".
        
               | mitchellh wrote:
               | We do a full redraw but do damage tracking ("dirty
               | tracking" for us) on the cell state so we only rebuild
               | the GPU state that changed. The CPU time to rebuild a
               | frame is way more expensive than the mostly non-existent
               | GPU time to render a frame since our render pipeline is
               | so cheap.
               | 
               | As I said in another thread, this ain't a AAA game.
               | Shading a text grid is basically free on the GPU lol.
        
               | epcoa wrote:
               | Perhaps that came across wrong, no shade intended, what
               | was meant was that ghostty seems to be like all the other
               | mature GPU based emulators. Which means there's no damage
               | reporting to a display server or anything like that. I
               | don't think it's quite the deal breaker the GGP implies.
        
         | underdeserver wrote:
         | For those interested, the link below from Mitchell's blog
         | explains the different goals he's trying to reach, compared to
         | other terminal emulators.
         | 
         | https://mitchellh.com/writing/ghostty-is-coming
        
         | gigatexal wrote:
         | Shoutout to you sir for Shouting out the other terminals. It'd
         | be easy for someone of your fame and talent and history to ride
         | the hype to the GOAT of all terminals. But you stayed humble.
         | Props.
        
         | Fnoord wrote:
         | Alacritty on macOS and Linux user here (Windows Terminal on
         | Windows due to easily different shells available, formerly used
         | iTerm2 on macOS). I make up for lack of tabs with zellij
         | locally (tmux remotely). Also allows me to relog or
         | close/update Alacritty. I will give Ghostty a whirl but why no
         | shout out to Alacritty? Which features am I missing out on?
        
           | PcChip wrote:
           | I'm trying to figure out the same thing, sounds like just
           | tabs?
        
           | feketegy wrote:
           | Ghostty's community is much nicer compared to Alacritty :)
        
             | Fnoord wrote:
             | Thanks. I'm interested in seeing examples (of Alacritty
             | community not being nice). I'm aware of one now [1] but I
             | have not been involved with the Alacritty community much. I
             | read/write a few bug reports when the project was born;
             | after that it has served me very well (compared to iTerm2
             | and Terminal.app). IIRC there was something with ligatures
             | but I don't remember.
             | 
             | Thus far I have not been able to get my italic bold font
             | (Cartograph CF) working on Ghostty, but this is a minor
             | issue.
             | 
             | [1] https://news.ycombinator.com/item?id=42532762
        
               | hitekker wrote:
               | One issue I noted was when they advertised poorly
               | implemented cross-platform support
               | https://news.ycombinator.com/item?id=27079234 and then
               | told Mac users to use other terminals.
               | 
               | And then another where one of their maintainers had a
               | meltdown and his fellow dev jumped in to protect him
               | from... a bug report on the color green
               | https://github.com/alacritty/alacritty/issues/1561
               | 
               | This was a few years ago so maybe they grew up since
               | then.
        
         | therealfiona wrote:
         | Looks cool man.
         | 
         | Does it have a way to do tabs, and split terminal vertical and
         | horizontal? Those are the only features keeping me on
         | Terminator.
         | 
         | I've tried Tmux, but it isn't the same, so please commenters,
         | avoid from the suggestion.
        
           | mitchellh wrote:
           | Yes we have both as native UI elements.
        
         | howon92 wrote:
         | I'm a fan of your work! I'm curious about how you decided to
         | work on building a terminal for your next project among your
         | other ideas. If you have time later, could you share your main
         | motivation with us or link to an existing post if you already
         | mentioned it elsewhere?
        
           | dbmnt wrote:
           | https://mitchellh.com/writing/ghostty-is-coming
        
         | slimsag wrote:
         | Congrats Mitchell! It has been really cool to see Ghostty
         | progress as a project, and I've enjoyed having it as my daily
         | driver these past few years :)
        
         | hnlmorg wrote:
         | > Ghostty has different design goals and tradeoffs and if it's
         | right for you great, but if not, you have so many good choices.
         | 
         | I was looking on the website to try and understand this more
         | but couldn't find any information. Perhaps I missed it?
        
           | mitchellh wrote:
           | https://ghostty.org/docs/about
        
         | reissbaker wrote:
         | Just built this from source on Fedora and I have to say the
         | experience even for building-from-source is flawless.
         | Immediately replaced Kitty for me; it feels smoother and
         | faster. Amazing work.
        
         | glitchc wrote:
         | Thank you for making this. Does it support quake mode? It's
         | hard to tell looking at the docs.
        
           | mkl wrote:
           | From https://ghostty.org/docs/features:
           | 
           | > macOS
           | 
           | > Quick Terminal: Lightweight terminal that animates down
           | below the menu bar for instant access without interrupting
           | work.
        
           | peanball wrote:
           | It does, natively.
        
         | worldmerge wrote:
         | Just downloaded it because of the animation on the site. How
         | did you make that? it's cute.
         | 
         | The terminal is good. I don't have any issues with the stock
         | mac os terminal app but I'll give yours a go for a bit. I can't
         | tell exactly how, but it does feel faster - I'm not sure
         | exactly how it is but it looks like it renders text faster.
        
           | commandersaki wrote:
           | Stock Terminal.app doesn't do 256 or 24-bit colour, that's
           | really the big thing that drew me to ghostty.
        
             | lenkite wrote:
             | If the stock Terminal was updated to support nerd fonts,
             | extra colors and horizontal/vertical panes - then would
             | switch back to it in a jiffy.
        
           | pfg_ wrote:
           | Lower inout latency can make something feel faster. I haven't
           | measured it but it's possible that's why with ghostty
        
         | samgranieri wrote:
         | Thank you for all the hard work you've done and for sharing
         | your passion project with us.
        
         | verandaguy wrote:
         | I haven't heard of Ghostty before today. I'm reading the docs;
         | but what are the main selling points?
         | 
         | Personally, I've used Terminal.app (for a bit), iTerm (for a
         | long while), Konsole (in the past, on Linux) and more recently
         | I standardized on Alacritty (macOS) and Kitty (Linux). GPU
         | acceleration puts it in the same general bin as my current
         | toolchain, but your comment alludes to it pulling in some
         | concepts from iTerm, possibly -- is that the case?
        
           | mitchellh wrote:
           | https://ghostty.org/docs/about
        
             | verandaguy wrote:
             | Thank you!
        
         | redserk wrote:
         | You've saved me an immeasurable amount of time _and_ sanity
         | over the last few years with the tools you 've been building,
         | and simply put: thank you.
         | 
         | I'm extremely excited to give Ghostty a whirl.
        
         | KolenCh wrote:
         | Looks great. Switching from wezterm and kitty before that, and
         | the native feel on macOS is indeed better than those emulated
         | tabs. Also it is really quite zero config where to me it seems
         | only one line of color theme is needed, together with setting
         | TERM for ssh. (Default font happens to be mine.) Bundling so
         | much color theme felt a bit waste of space, but it is nice that
         | I don't need to define them myself which also makes switching
         | theme tedious. I also love to see it lands at 1.0 where
         | features, documentation, and promotional materials seem
         | polished already.
         | 
         | Chances are, it will become my default terminal in 2025!
         | 
         | The only nitpicking is the doc does not seem to have a search
         | function. It would be great if I can search color or ssh and
         | find the relevant page address that immediately, without
         | navigating the tree or relying on external search engines.
        
           | feketegy wrote:
           | Use the browser's search on the page?
        
             | KolenCh wrote:
             | Search through the whole documentation, not just current
             | page.
        
         | brandoniscool wrote:
         | this guy is a billionaire guys...
        
         | tylerchilds wrote:
         | super cool!
         | 
         | kitty has been my default for a few years now-- highly
         | superficial, but my designer side landed on kitty as it was one
         | of the few that supports ligatures by default, specifically for
         | the fira code font for my bias.
         | 
         | does ghostty support ligatures?
        
           | freeCandy wrote:
           | looks like it does!
           | https://ghostty.org/docs/config/reference#font-feature
        
           | pfg_ wrote:
           | not only does it support them, but the default font provides
           | them. although it splits the ligature in half if your cursor
           | is in the middle of it which feels a little weird to me
        
         | gigatexal wrote:
         | How do you plan on sustaining the project? Do you have enough
         | committers so you'll not burn out? Will you need support? Is
         | there a way to donate? I guess what I'm getting at is what is
         | the long term sustainability work around this?
        
           | LVB wrote:
           | Discussed near the last part of an earlier post.
           | 
           | "... exploring not-for-profit structures to help ensure the
           | long-term sustainability of Ghostty."
           | 
           | https://mitchellh.com/writing/ghostty-is-coming
        
             | gigatexal wrote:
             | Thank you!!! Glad to see this.
        
         | tessierashpool9 wrote:
         | what was the motivation to start this project? it got so many
         | points here, hence I assume there must be something really
         | useful about it - but I so far fail to see it.
        
         | Nekorosu wrote:
         | It's surprisingly convenient and works as I expect it to work
         | all the time. Fantastic job!
        
         | timvdalen wrote:
         | Enjoyed hearing about this on The Changelog recently!
        
         | sambeau wrote:
         | I love this page in your docs:
         | 
         | https://ghostty.org/docs/about
         | 
         | Clear, friendly, modest, respectful and with the right balance
         | of detail vs overview.
         | 
         | Congratulations on your launch.
        
           | balou23 wrote:
           | I'm not sure why they couldn't put that on the front page. Or
           | at least on the front page of the documentation.
           | 
           | As it stands now, the front page is pretty useless if you
           | never heard of ghostty. It's a ghost in a terminal? And
           | there's tty in the name.... so is it a program to show ghosts
           | in your terminal?
        
             | Daneel_ wrote:
             | I'd never heard of it before today, so yeah, my first
             | thought was exactly what you postulated. "Cool? Maybe it's
             | a tool for generating animations in the terminal?"
             | 
             | *edit - oh, no Windows support for now (my hands are tied
             | at work).
        
             | cruffle_duffle wrote:
             | On mobile I thought this thing was some ascii art game for
             | a hot minute before I tried clicking on the download link.
             | Seems silly to admit that but there you have it.
        
             | frereubu wrote:
             | Absolutely agree, even if it was just the tagline on the
             | first page of the documentation - "Ghostty is a fast,
             | feature-rich, and cross-platform terminal emulator that
             | uses platform-native UI and GPU acceleration." - underneath
             | the "screenshot" and above the buttons on the homepage.
        
         | Emigre_ wrote:
         | I've been looking forward to it for a while, I'm really happy
         | about this. Thanks for your work on this project.
        
         | mtlmtlmtlmtl wrote:
         | Congrats on your 1.0 release! Building a term from scratch is
         | no small task. And it looks like after 2 years you already have
         | something I'm seriously considering switching to. That's
         | seriously impressive. And though I'm mostly a Linux
         | supremacist, I genuinely appreciate and respect your dedication
         | to providing native applications on all major platforms. I see
         | too many projects do one of two things: only support one
         | platform at first, with some vague promise of doing others in
         | the future left unfulfilled for years. Or going the easy route
         | of using electron or some other cross-platform toolkit, getting
         | cross-platform support at the cost of a significantly worse
         | experience. There is no substitute for doing the extra work, at
         | the end of the day, and you're already well on your way there
         | at such an early point. Again, I'm impressed!
         | 
         | Now, the one thing I've coveted for years is a linux term with
         | tmux control mode support, ever since I used iterm2 during my
         | short tenure as a Mac user. I can see from your github issues
         | that this is in the works(https://github.com/ghostty-
         | org/ghostty/issues/1935), which is great. It looks like a lot
         | of the necessary UI elements are already in place, as well as
         | partial support for the control mode protocol. Do you have any
         | idea how far off this is from being completed? I don't wanna
         | make demands or anything, I know this is a passion project with
         | lots of things still to work on. As far as I know(and I look
         | around quite often) control mode support is still something no
         | existing term for linux supports. Being the first could drive a
         | lot of adoption! I'd also like to offer my help in pushing it
         | over the goal line. I haven't touched Zig, but I'm a polyglot
         | with plenty C experience and Im highly motivated to bring this
         | feature to my Linux systems. Some guidance on things I might do
         | to help would be welcome. The final 3 points of the checklist
         | don't have much detail provided.
         | 
         | Again, no pressure, thanks for all your amazing work, and good
         | luck with continued development!
        
           | pzmarzly wrote:
           | This. To add some words why this is important:
           | 
           | Given the remote-first container-based world we're heading
           | towards, decoupling UI (terminal emulator) from its "backend"
           | (tmux, code-server) is a great design decision, which I think
           | will ultimately define what the "next generation" of terminal
           | emulators is. Imagine being able to open tabs directly on
           | remote host, reconnect without losing state, etc, all while
           | using native UI (so Cmd+T to open new tab, Cmd+F to search,
           | etc). Productivity game changer, which currently only the
           | iTerm2 users can fully enjoy.
           | 
           | Ptyxis (putting its backend in running containers), WezTerm
           | (native handling of ssh sessions) and VSCode's terminal
           | (starting a proprietary code-server binary and connecting to
           | its TCP port) have reached some of this functionality, but in
           | their design they need some out-of-band mechanisms to handle
           | the connections, ultimately limiting the scenarios they can
           | handle.
           | 
           | Meanwhile tmux -CC [0] and ht [1] are sending both their
           | control channel and data channel over the opened terminal
           | itself (in-band), making them flexible enough to support any
           | configuration. Something complex like `ssh jumpbox -- ssh
           | prod -- podman exec -it prod /bin/bash -- tmux -CC` should
           | just work, as if everything was running on your local
           | machine.
           | 
           | [0] https://github.com/tmux/tmux/wiki/Control-Mode
           | 
           | [1] https://github.com/andyk/ht
        
             | diggan wrote:
             | > Given the remote-first container-based world we're
             | heading towards
             | 
             | You might want to expand on who "we" are here, because to
             | me it seems to be a very small section of developers who
             | want a "remote-first" experience and most (if not everyone)
             | I speak with want software and tools that work
             | local/offline-first, including our dear development
             | environment.
             | 
             | If a tool requires a internet connection to work (so this
             | "remote-first container-based world" you mention), I don't
             | think either me nor many of the developers I know would
             | even give it a try, because we need to be able to use our
             | tools regardless if we have a working internet connection
             | and/or the service-provider has downtime.
             | 
             | In fact, the only ones I know who are using a "remote-
             | first" environment are developers who are forced to do so
             | by their employer, and it's not a short-list of complaints
             | about it when we meet over beers.
        
               | pzmarzly wrote:
               | Good point, I also want things to work offline. By
               | "remote" here I was also thinking of scenarios like:
               | 
               | - Connecting from Windows/macOS host to a local VM
               | 
               | - Connecting to a build server over LAN (I have a beefy
               | PC but prefer to work from my couch)
               | 
               | Both work offline just fine, but from tooling perspective
               | you are connecting to remote host over the network
        
               | nine_k wrote:
               | Not very small; most corporate non-Windows development
               | uses containers, I'd bet on the ratio above 90%.
               | 
               | Not that developers _want_ remote-first experience, but
               | they _face_ it. Containers in this regard behave like
               | remote systems, even when run locally. A tool that helps
               | juggle multiple remote contexts in a sane way may be very
               | helpful. Say, tmux does a lot to help, but more is of
               | course possible.
        
         | jmorenoamor wrote:
         | Terminals are always welcome :) I hope you can add Win supoort
         | so I can try it at work.
         | 
         | Congrats for the release and happy new year.
        
         | blondin wrote:
         | thank you and the community for the work. i hope to see blocks
         | (not sure if this is a shell thing or a terminal thing) the
         | same way warp does it :)
        
         | ksec wrote:
         | Congratulations.
         | 
         | On the cross-platform library, I wonder why "libGhostty" and
         | not libTerminal. Which seems like a more appropriate in term of
         | library?
        
           | jez wrote:
           | Calling it libTerminal might be confusing. There are other
           | terminal emulation libraries--for example libvterm[1],
           | notably used to power the embedded terminal in Neovim.[2]
           | 
           | [1] https://www.leonerd.org.uk/code/libvterm/
           | 
           | [2] https://neovim.io/doc/user/terminal.html
        
         | mahdihabibi wrote:
         | How you've managed to communicate effectively with so many
         | people who were using the beta version to craft the final
         | release is beyond me! I downloaded it last night, wrote one
         | line of theme configuration (I picked the batman theme). and
         | For me it just works fine and faster than any other terminal
         | emulator I've ever worked with. Also great with 'less' and
         | 'tmux'. I just switched to 'Ghostty'! so thank you.
        
       | dang wrote:
       | Related. Others?
       | 
       |  _Ghostty 1.0 Is Coming_ -
       | https://news.ycombinator.com/item?id=41914025 - Oct 2024 (32
       | comments)
       | 
       |  _Ghostty Devlog 004_ -
       | https://news.ycombinator.com/item?id=37709113 - Sept 2023 (2
       | comments)
       | 
       |  _Talk: Ghostty and Some Useful Zig Patterns_ -
       | https://news.ycombinator.com/item?id=37491031 - Sept 2023 (2
       | comments)
       | 
       |  _Mitchell Hashimoto 's Ghostty Devlog_ -
       | https://news.ycombinator.com/item?id=36736686 - July 2023 (1
       | comment)
        
       | frou_dh wrote:
       | I wonder how the colour rendering is. Usually when I configure
       | some editor in a terminal to use specific #rrggbb 24bit colours I
       | like, the end result does not render the same as in non-terminal
       | software (confirmed in the past with an eye-dropper tool).
        
       | 999900000999 wrote:
       | Has anyone put up an Arch Aur yet ?
        
         | SG- wrote:
         | https://aur.archlinux.org/packages/ghostty
        
           | 999900000999 wrote:
           | Thanks!
           | 
           | This is why I love HN. I had already installed from source,
           | but this makes updating easier after all.
        
           | gpanders wrote:
           | Note the AUR package was removed because it's since been
           | packaged in the official Arch repos.
           | 
           | There is a ghostty-git AUR repo for tracking the main branch:
           | https://aur.archlinux.org/packages/ghostty-git
        
             | 999900000999 wrote:
             | Will Arch auto migrate the Aur package for me, or should I
             | uninstall and install from the repo.
        
         | dsp_person wrote:
         | AUR not even needed
         | https://archlinux.org/packages/extra/x86_64/ghostty/
        
           | guerrilla wrote:
           | How... did that get in there so fast? I just updated a couple
           | of hours ago and it wasn't there. Now it is.
        
             | 999900000999 wrote:
             | I'm assuming it's been out for a while, but out of respect
             | package maintainers waited to release it.
        
       | luckydata wrote:
       | Could someone give me an idea why I would want to use this
       | instead of any other terminal?
        
         | jeremy_k wrote:
         | Same request. As someone who uses the standard Teriminal
         | application on my MBP I'm wondering what benefits I might find
         | from Ghostty
        
           | spopejoy wrote:
           | I think "vanilla" terminal users such as myself (e.g. I don't
           | do a bunch of screen/tmuxing, I don't code in terminals etc)
           | probably are not the target audience.
           | 
           | I've had zero issues with standard macos terminal ( once I
           | realized how to speed up key repeat in system settings that
           | is), so I assume I don't need this.
        
             | jeremy_k wrote:
             | Makes a lot of sense, I fall into the same bucket as you so
             | thank you for the response. I use the terminal to start up
             | services and issue git commands. Beyond that, not too much.
        
             | luismedel wrote:
             | Same club here. I feel comfortable even with the crappiest
             | terminal out there, as far as it allows me to write
             | commands and read/copy output. Even the terminal in the
             | Inferno OS felt good enough for me, like 20 years ago.
        
         | orliesaurus wrote:
         | simplicity, feels zen-mode vs a lot of over-the-top-terminals
         | these days
         | 
         | also (from the docs):
         | 
         | > Ghostty supports the Kitty graphics protocol, light/dark mode
         | notifications, hyperlinks, and more. This lets terminal
         | applications like Neovim, Zellij, and others do more than they
         | could in other terminal emulators.
         | 
         | Application features are higher-level features that are useful
         | for interacting with the terminal emulator itself. For example,
         | Ghostty supports native tabs, splits, a drop-down terminal on
         | macOS, theme switching on system dark/light mode, etc.
        
       | antirez wrote:
       | After a quick test this looks incredibly good and fast. I'll use
       | it as a terminal for the next weeks to see how it goes, but I
       | have good feelings. Thank you so much for writing it.
       | 
       | EDIT: WOOOW, for me this is going to be a game changer. I was
       | just working at Redis stuff outputting a ton of debugging info
       | and results, and normally the terminal was the bottleneck, and
       | here instead it printed _half million_ of results in the blink of
       | an eye. And then I could go back in the history without any
       | performance degradation. I love this: for development of systems
       | it makes a big difference.
        
         | tessierashpool9 wrote:
         | why don't you just pipe it into a file and then less it? if
         | your redis stuff prints so much stuff you might want to
         | reevaluate the respective program logic.
        
           | btheunissen wrote:
           | Telling to creator of Redis that they might want to
           | reevaluate their respective program logic (Redis) is pretty
           | funny, only on HN :)
        
             | antirez wrote:
             | Haha, the question makes sense per se but there are
             | definitely times where you want to see the output in real
             | time. I'm a big fan of printf-debugging :D
        
               | noisy_boy wrote:
               | It feels good to hear support for printf-debugging coming
               | from such esteemed corner. I have been doing that for a
               | significant majority of my career instead of dropping
               | into debugger. The side effect is you become pretty good
               | at crafting meaningful logs.
        
           | antirez wrote:
           | Sure, I redirect when there is to redirect, but sometimes
           | during debugging you want to spam yourself to see what is
           | happening during some stress testing when some code path is
           | full of printfs. Also sometimes I'm just on the redis-cli and
           | to test the system at scale I directly ask (like yesterday)
           | for half million of similar vectors. It is very convenient I
           | can type this on the CLI and see the result immediately,
           | instead of flooding myself for seconds or minutes.
        
             | tessierashpool9 wrote:
             | so, it's convenience. fair enough. i'm just trying to make
             | sense of why it is so popular on hn. i often see stuff
             | rated to mount everest here and i just don't get it. and
             | then i'm wondering is it me? or is it them? am i one of
             | those weak engineers who just don't know what's going on?
             | that's all.
        
               | robenkleene wrote:
               | Since you asked, your point above effectively says "why
               | don't you just work around your terminal emulator being
               | slow by making more work for yourself?" That's not a
               | compelling argument.
        
               | tessierashpool9 wrote:
               | not really - the use case mentioned where you suffer from
               | a slow terminal is a code smell as far as i am concerned
        
               | dcre wrote:
               | No it isn't.
        
               | klohto wrote:
               | [flagged]
        
               | dang wrote:
               | Please don't be snarky or cross into personal attack.
               | We're trying for the opposite here.
               | 
               | https://news.ycombinator.com/newsguidelines.html
        
         | ilrwbwrkhv wrote:
         | Really need scrollback search though. Was a bit surprised it
         | was launched without that.
        
           | Valodim wrote:
           | See https://github.com/ghostty-
           | org/ghostty/issues/189#issuecomme...
        
       | bun_terminator wrote:
       | The little it says about what this even is seems to be wrong.
       | This is not cross-platform at all
        
         | mitchellh wrote:
         | It works on both macOS and Linux.
        
         | SG- wrote:
         | Windows is a third class citizen when it comes to the
         | development world.
        
           | metaltyphoon wrote:
           | Lmao this statement is so funny.
        
           | justmarc wrote:
           | It's its own doing
        
       | nhumrich wrote:
       | In case anyone is wondering, this terminal appears to work just
       | great on windows by using WSLg.
       | 
       | I installed on linux inside WSL, then launched it, and it
       | looks/works great. Clipboard also works.
        
         | attentive wrote:
         | Did you have to build it? On which OS?
        
           | nhumrich wrote:
           | I used Arch. It was already in the AUR, but I believe it did
           | build from source
        
         | eapotapov wrote:
         | Thanks! I did it, but I'm having problems with window resizing
         | and mouse selection. When I try to resize the window, the
         | actual window is smaller than it appears. Did you encounter the
         | same issue? Related issues:
         | 
         | https://github.com/microsoft/wslg/issues/1008
         | https://github.com/microsoft/wslg/issues/633
        
           | eapotapov wrote:
           | oh, it's actually a problem with ultra-wide screens and there
           | is no simple resolution for this and I gave up
           | https://github.com/microsoft/wslg/issues/590
        
       | st3fan wrote:
       | Looks great. Eagerly waiting to be able to "Use Left Option as
       | Esc+" like iTerm has. Without it, it is nearly impossible to use
       | Emacs.
        
         | zimpenfish wrote:
         | Was just looking for how to configure this globally. You can
         | create a keybind for every key[0][1] but that's a bit silly
         | faff nonsense in current year 2024.
         | 
         | [0] e.g. `keybind = alt+f=esc:f`
         | 
         | [1] Which affects both option keys, sadly.
        
           | lilyball wrote:
           | See `macos-option-as-alt`
        
             | zimpenfish wrote:
             | Ah, damn it, I searched for "meta" and completely missed
             | that. Apologies to Ghostty!
        
         | lilyball wrote:
         | Look for `macos-option-as-alt`. The Ghostty docs use the term
         | "Alt" here to mean using the key as a terminal input modifier
         | rather than for macOS text input. This setting allows you to
         | specify only one option key to use this behavior for.
        
         | samatman wrote:
         | I have this as a system-wide mapping with Karabiner. Complex
         | modifications, "Post esc if left_alt is pressed alone".
         | 
         | There's never a time when I _wouldn 't_ want this to work, may
         | as well enable it everywhere.
         | 
         | Edit: It looks like I misunderstood what that setting in iTerm
         | does. But hey if you _do_ want left option to send Esc by
         | itself, that 's how to get it.
        
       | rewgs wrote:
       | Overall nice, but I'm bummed to be running into some bugs
       | regarding a few key binding assignments. Though, I could just be
       | missing something due to the somewhat spartan docs.
       | 
       | Given all the time and hype, I'd have hoped that wrinkles like
       | this would've been ironed out by launch time.
       | 
       | Back to Wezterm for now, but I'll certainly be checking back in
       | at some point.
        
       | sigmonsays wrote:
       | any nix users aware of a derivation?
        
         | vluft wrote:
         | there's a flake in the official repo that works fine for me
         | (nixos unstable)
        
       | jhatemyjob wrote:
       | Upon installing this, I went straight for this part of the
       | documentation:
       | 
       | https://ghostty.org/docs/config/reference#macos-non-native-f...
       | 
       | Unfortunately the "tabs not working in non-native fullscreen"
       | thing is a dealbreaker for me, so I will be switching back to
       | iTerm 2.
       | 
       | But Ghostty as a whole looks promising. I like zig, zig-objc, MIT
       | license, libghostty, config via text file. I will check back
       | every month or so because I really want to use this. But my hate
       | for macOS native fullscreen outweighs everything else.
       | 
       | Edit: Ok here we go, this is why it's not implemented:
       | https://github.com/ghostty-org/ghostty/issues/392#issuecomme...
       | 
       | There's more than one workaround which is superior in my opinion:
       | https://i.imgur.com/iWoqrM0.png
       | 
       | IIRC you can even use AppKit to remove the
       | close/minimize/fullscreen buttons, so it would just be a blank
       | bar.
       | 
       | You could go a step further and use private APIs / objc runtime
       | voodoo to set the height of the titlebar to 0. That might outside
       | your design philosophy though.
       | 
       | Also, FYI, clicking the green fullscreen button still uses macOS
       | native fullscreen, so you definitely want to disable that button
       | (which is a public AppKit API) when you have that option enabled
        
       | block_dagger wrote:
       | Nice work! How does this compare to Warp?
        
         | do_not_redeem wrote:
         | - open source
         | 
         | - faster
         | 
         | - no AI bloat
         | 
         | - no telemetry
         | 
         | - no obnoxious warning banner if you run without admin access
         | 
         | - no VCs that will enshittify the app in a few years
         | 
         | - doesn't require an internet connection and an account to
         | access motherfucking bash on your local machine
        
           | alecthomas wrote:
           | Preach!
        
       | c2xlZXB5Cg1 wrote:
       | Startup time was very bad until I disabled adwaita with
       | gtk-adwaita = false
        
         | YorickPeterse wrote:
         | This sounds like an issue with your environment. For example,
         | on my Fedora 41 setup Ghostty starts up pretty much instantly
         | regardless of the value of this option.
        
       | skerit wrote:
       | This is very nice! How do I work around remote SSH shells
       | complaining like `Error opening terminal: xterm-ghostty`?
        
         | mikergray wrote:
         | https://ghostty.org/docs/help/terminfo#ssh
        
         | SG- wrote:
         | https://ghostty.org/docs/help/terminfo
        
       | gregwebs wrote:
       | Warp has been meeting all my needs other than tab switching
       | behavior. It's not open source but the UX is great.
       | 
       | Switched from WezTerm which was working cross platform but not
       | quite as good.
       | 
       | Both are low latency and written in Rust.
        
       | howon92 wrote:
       | To people who tried using it, what are the reasons to use it over
       | iTerm2?
        
         | jitl wrote:
         | It's fast. In the same league as Alacritty and Wezterm, which
         | is to say on the doom fire benchmark those terminals can do
         | 500fps plus, where iTerm2 does 90fps on my M4 MacBook Pro. In
         | practical terms if you use tmux or vim in the terminal, it
         | makes a big difference for typing latency and scrolling.
        
           | howon92 wrote:
           | Thank you! Interesting, because I haven't perceived "terminal
           | performance" as a problem before. I will try it out
        
           | quantonganh wrote:
           | Where should I look first if I only get around 160 fps, while
           | WezTerm gets 400+ fps?
        
           | dschuessler wrote:
           | The parent is probably referring to this benchmark:
           | https://github.com/const-void/DOOM-fire-zig/
        
         | Jcampuzano2 wrote:
         | I tried it but I just can't jump since it doesn't have support
         | the global hotkey to autofocus iterm that I'm so used to.
         | 
         | I tried using their toggle_visibility keybind but it's a bit
         | wonky since it doesn't return focus back to another window when
         | you toggle away.
        
           | kaycey2022 wrote:
           | I just use rcmd for that. But that iterm feature is nice.
        
         | kaycey2022 wrote:
         | I am not a very adept terminal user. I just hook in to tmux. So
         | all emulators are basically the same for me. Switching windows
         | in tmux is much faster than clicking on tabs. ghostty at least
         | looks much nicer. It has a lot of built in fonts and themes.
         | Command line editing is similar. Man pages for some reason are
         | very slow to open in iterm2, but that isn't the case here. The
         | only deal breaker for me is that it takes up a lot of cpu (in
         | macbook air). Unless there is a simple, non-consequential
         | config to change that will fix this, I will stay with iterm for
         | now.
        
           | oneeyedpigeon wrote:
           | > Switching windows in tmux is much faster than clicking on
           | tabs.
           | 
           | Sure, if you're _clicking_ tabs... A fairer comparison would
           | be between the keyboard shortcut to switch windows in tmux
           | and the native keyboard shortcut to switch tabs.
        
             | kaycey2022 wrote:
             | which is prefix+number in tmux. I don't know if you can
             | easily jump to a tab with a visible index in ghostty.
        
               | barnabee wrote:
               | On Mac at least it seems to be cmd+number
        
       | brcmthrowaway wrote:
       | Could GPT5 or Claude written this from scratch?
        
         | throwaway0665 wrote:
         | of course not
        
         | loeg wrote:
         | In the same sense that a million monkeys on typewriters could
         | theoretically produce Shakespeare.
        
       | micahkepe wrote:
       | Been trying it out for a few hours and love it! One feature that
       | I do miss from Kitty is the cursor trail when your cursor moves
       | in a buffer. Excited to see what Ghostty does in the future and
       | thank you for a great new terminal!
        
         | petepete wrote:
         | Cursor trail?
         | 
         | I've been using Kitty since just about the beginning and didn't
         | know it did that!
         | 
         | Edit. Oh I see it's a really recent addition. I'll definitely
         | be taking that for a spin.
        
       | makapuf wrote:
       | Just want to share what I just realised, but the author is no one
       | else than the mitchell hashimoto from hashicorp, so not exactly a
       | newbie ! Would it have killed you to let us poor 99% have a bit
       | of fun releasing useful projects too? (And also reach a bit of
       | your determination, skill and talent)? (no, really, kudos, well
       | done and thanks)
        
       | MyKiwi wrote:
       | any tips on how to install it if you have nix (without nixos)?
        
         | Cyph0n wrote:
         | You can install it as a Flake using plain Nix. See:
         | https://ghostty.org/docs/install/binary#nix-flake
        
           | soraminazuki wrote:
           | nixGL is also likely required on non-NixOS Linux distros.
           | 
           | https://github.com/nix-community/nixGL
        
       | puttycat wrote:
       | What am I missing? Can someone please explain what reason there
       | is to switch/build a new terminal when we can use e.g. iTerm ?
        
         | x3ro wrote:
         | Proper text-based configuration made me switch from iTerm to
         | WezTerm, and i'll give this a try as well :)
        
         | chipsrafferty wrote:
         | Yeah or vscode integrated bash?
        
         | nathansherburn wrote:
         | I'm still using the built in MacOS terminal. What am I missing?
         | I mostly do webdev - maybe terminal features are more important
         | for other types of programming?
        
           | dcre wrote:
           | Built-in terminal doesn't support truecolor. Many CLI
           | programs rely on that to look good.
        
             | herpdyderp wrote:
             | What CLI programs? I have yet to run into any issues after
             | using the built in terminal for its entire lifespan.
        
               | oefrha wrote:
               | You wouldn't realize because 24-bit colors are silently
               | dropped. You don't get the full experience but you also
               | won't "run into any issues", unless you start using
               | something that relies on 24-bit color coding for core
               | functionality, like my own log viewer.
        
               | dcre wrote:
               | As an example, here is the Helix editor (neovim looks
               | just as bad) in Terminal.app vs. ghostty (would look just
               | as good in any other modern terminal).
               | 
               | https://imgur.com/a/terminal-app-left-vs-truecolor-
               | tddRL0C
        
               | xoa wrote:
               | I appreciate you making an effort to visually display
               | things, but FWIW I don't think that (or sibling) really
               | gets to the root issue, which is less of capability then
               | practical convenience and compatibility. Mac native
               | Terminal perfectly well supports 256 colors (or arbitrary
               | 16 colors with themes), which I've used, so you could
               | absolutely make both sides look identical there. Unless
               | someone is regularly viewing photos inside their terminal
               | (which some do support and can actually sometimes be
               | handy!) then it might not be immediately clear what
               | 24-bit would bring to the table over 8-bit, regardless of
               | editor or shell themes.
               | 
               | But in practice 24-bit was an easy lift for terminals
               | under active development ages ago, and in turn made it
               | trivial to have everyone across any platform specify
               | exact colors more easily without any end user
               | customization or arguments about "not quite what I
               | wanted" in an 8-bit palette or whatever. Thus a lot of
               | the ecosystem now makes use of it. Being able to
               | replicate anything yourself, or get close enough, in a
               | smaller colorspace is still extra grunt work for no
               | particularly valuable reason, and could actually add up
               | to be fairly significant work if one has a lot of more
               | complex code coloring themes and such.
        
               | dcre wrote:
               | My example is precisely about practical convenience. If I
               | try to do something very normal in Terminal.app, namely
               | use a text editor with a theme, it will look like
               | garbage.
        
           | gpanders wrote:
           | Apple Terminal has a lot of problems. As others have
           | mentioned, it lacks support for 24 bit color, enforces
           | minimum contrast ratios without any ability to disable them
           | (meaning you cannot set arbitrary color themes), is
           | hopelessly bad at Unicode rendering (particularly with multi-
           | codepoint graphemes, see [1]), and in general misbehaves in
           | other myriad ways [2][3][4].
           | 
           | With both Ghostty and iTerm2 now freely available, there's
           | really no reason to use Terminal.app.
           | 
           | [1]: https://mitchellh.com/writing/grapheme-clusters-in-
           | terminals
           | 
           | [2]: https://github.com/neovim/neovim/issues/26093
           | 
           | [3]: https://github.com/neovim/neovim/issues/28776
           | 
           | [4]: https://github.com/neovim/neovim/pull/28453
        
           | setopt wrote:
           | Personally, my main reason to prefer Kitty over Terminal.app
           | are (I believe Ghostty support all of them as well, so
           | looking forward to try it out):
           | 
           | - "Kitty Keyboard Protocol" means that a TUI app can detect
           | _all_ keybindings. For example, if you install kkp.el in
           | Emacs, then Emacs running in a terminal will pick up
           | ctrl+shift keys, super keys, etc. on par with a GUI app. I
           | believe NeoVim supports this out of the box now as well, so
           | if you ever felt like binding Cmd+S to :w <cr> you now can. -
           | "Kitty Graphics Protocol" means that I can let e.g.
           | Matplotlib show images _inside_ a terminal, even over SSH
           | connections. If you're annoyed at pop-up GUI windows, or
           | struggling with viewing remote images often, this is a nice
           | workaround. There are even attempts at making terminal PDF
           | viewers (like termpdf.py); IMO that's a game changer, even
           | though the app itself is still in a "proof of concept" stage
           | IMO. - Terminal splits. If you work a lot in a terminal, it's
           | nice to be able to full-screen a terminal and view many
           | different shells or processes side-by-side. Last I checked,
           | Terminal.app just doesn't have this feature. Sure, you could
           | use multiple windows or a multiplexer like tmux, but that
           | comes with different trade-offs; for example, a native
           | terminal offers smooth scrolling with a trackpad whereas tmux
           | doesn't. Personally, I use tmux remotely, but stopped using
           | it locally. - I see a lot of people mention 24-bit colors as
           | a main reason to not use Terminal.app. For me, I'm actually
           | pretending that I have a 16-color terminal, because I'm tired
           | of having to theme every command-line utility individually,
           | I'd rather they all just respect my 16 chosen colors instead.
           | The only exception is my editor, just because there are
           | unfortunately few good 16-color themes these days, so I
           | instead change my terminal program to be consistent with my
           | editor theme and then let every other TUI utility believe the
           | terminal only supports 16 colors to match.
        
         | jitl wrote:
         | I was using iTerm up until about a week ago when I unboxed a
         | new Mac and decided to test out alternatives while setting it
         | up. Ghostty wasn't out yet so I started with Wezterm, and was
         | shocked to find how much it's speed improved my terminal
         | experience. Typing latency is much better in nvim, and
         | scrolling is vastly improved in nvim and tmux.
         | 
         | Ghostty feels like a Mac app like iTerm2 while being fast and
         | having fewer features. Wezterm feels more like an app ported
         | from Linux, but has a much richer config system and features
         | like build-in multiplexing which means it's replaced tmux for
         | me - while keeping all my tmux keybinds.
        
           | herpdyderp wrote:
           | Is iTerm2 noticeably slow? I just use the built in Terminal
           | app and I can't imagine "speed" being a reason to switch away
           | from it. (There is no lack of speed.)
        
             | whoisstan wrote:
             | Same, I use it all the time and never perceived it as slow.
             | I am not a tmux user, maybe the speed is noticeable when
             | using more complex terminal apps like that?
        
             | 1-more wrote:
             | The reason I switched from iTerm2 is it took multiple
             | seconds to resize a window on macOS. I use Rectangle to
             | resize windows, and by default my shortcut for "put this
             | window on the left half" cycles through window sizes when
             | the window is already on the left. So a common workflow is
             | to tap Hyper-J to move a window to the left half, then make
             | it the left third, then the left two thirds of the screen.
             | This is fine for any text editor or browser, but iTerm2
             | would beachball while I waited multiple seconds for it to
             | resize the window.
             | 
             | Wezterm moves instantly.
        
               | peanball wrote:
               | I've noticed that too when the scroll back buffer is
               | particularly long. iTerm seems to then reflow from the
               | beginning, which can take a while.
               | 
               | I keep using a lot of fresh tabs all the time and iTerm
               | resizes instantly via Rectangle for me.
               | 
               | Ghostty was a bit more sluggish in resizing on an Intel
               | Mac than iTerm in the current latest versions.
        
             | drewbitt wrote:
             | No, iTerm is not slow. Ghostty is not noticeably faster in
             | any of my workflows. I am sure Ghostty is faster in some
             | use case, but it's nothing I regularly do or have noticed.
        
           | oefrha wrote:
           | Do you have a lot of triggers set up in iTerm 2? IMO that's
           | what kills performance.
           | 
           | I can understand being frustrated about latency on older Macs
           | -- I used to run Alacritty for certain tasks on my Intel Macs
           | for that reason. But on newer Macs like a new M4 Pro I'm back
           | to 100% iTerm 2 again. I can't fathom having latency problems
           | with iTerm 2 on a new Mac you just unboxed.
        
             | paustint wrote:
             | Mitchell has a 5 min lightning talk discussing performance
             | of ghostty which is worth a quick watch
             | https://www.youtube.com/watch?v=cPaGkEesw20&t=3015s
             | 
             | It's one of those things that you don't realize how poor
             | the performance is until you experience something better.
             | 
             | Mentioned from his blog:
             | https://mitchellh.com/writing/ghostty-is-coming
        
               | oefrha wrote:
               | > It's one of those things that you don't realize how
               | poor the performance is until you experience something
               | better.
               | 
               | No, it's one of those things I've tested myself
               | extensively and arrived at my own conclusion. Which I
               | already mentioned in the comment you responded to.
        
               | 0x6c6f6c wrote:
               | The performance talk is about ghostty, which you did not
               | mention trying. You mention alacritty, which is GPU based
               | and offers good performance, but you're quick to rebuttal
               | on unrelated projects.
        
               | oefrha wrote:
               | I only settled on Alacritty after giving all the new and
               | supposedly fast terminal emulators a spin (at least a day
               | for various tasks).
        
         | eviks wrote:
         | Iterm is slow
        
         | reconvene1290 wrote:
         | Why create new art when we already have galleries full of it?
        
       | nickorlow wrote:
       | Any Alacritry users have opinions on this? I've been waiting for
       | its release and am looking forward to trying it. Wonder what the
       | big differences are?
       | 
       | I mostly appreciate Alacritty's simplicity and use tmux to manage
       | multiple windows/panes.
        
         | wonger_ wrote:
         | In my experience, Alacritty had a few bugs / unimplemented
         | features that broke certain TUIs. Ghostty seems to be the most
         | complete / least broken terminal emulator.
        
         | jitl wrote:
         | You should also check out Wezterm too and see which one you
         | like more. I ported my tmux keybinds to Wezterm - including
         | vim-tmux-navigator style ctrl+{h,j,k,l} for navigating between
         | nvim splits and Wezterm splits, ctrl-a as tmux leader. Getting
         | tmux out of the way between terminal and nvim noticably
         | improved scroll feeling in nvim and just in shell scrollback
         | too.
         | 
         | I styled Wezterm's tabs to look just like my tmux tab bar too,
         | there's no visual difference for me between a Wezterm window
         | with Wezterm tabs, and a Wezterm window with tmux tabs. If
         | you're more of a terminal native than a Mac native, I think
         | you'd enjoy it.
         | 
         | My wezterm config:
         | https://github.com/justjake/Dotfiles/blob/new/config/wezterm...
        
           | nickorlow wrote:
           | Does wezterm (or any other terminal emulator) have some way
           | to attach to a session over ssh or over multiple ttys? It's
           | the main thing stopping me from jumping ship.
        
             | jitl wrote:
             | Yes, Wezterm has this.
             | https://wezfurlong.org/wezterm/multiplexing.html
             | 
             | I haven't used it yet, and it requires you install Wezterm
             | on the remote. Ideally Wezterm could push a mux server
             | executable to the remote host if needed.
        
         | abound wrote:
         | I tested it out really quickly, and something is off with
         | Ghostty's font rendering on my machine -- there's extra
         | vertical space between lines. I didn't see any config options
         | for adjusting the line height, just things like `adjust-cell-
         | height`, which squished the whole font, and `adjust-font-
         | baseline`, which moved everything up.
         | 
         | I tried a few searches ('line height', 'vertical spacing') on
         | the GH issues for the project [1], but didn't see anything. I'm
         | sure it's a simple config option or something with my font, but
         | it works out-of-the-box on Alacritty + xterm and others.
         | 
         | I might file an issue if I can nail it down a bit more.
         | 
         | [1] https://github.com/ghostty-org/ghostty/issues
        
         | vesche wrote:
         | I was using urxvt for about 10 years and then I switched to
         | alacritty about 5 years ago. Have had the best experience with
         | alacritty- runs on all my systems, super fast, config is great.
         | That being said, I'm gonna give ghostty a well-deserved test
         | drive. I like it a lot so far. Love seeing more zig apps!
        
           | ComputerGuru wrote:
           | Urxvt causes(d) my laptop running Ubuntu to sporadically but
           | spontaneously power cycle, presumably due to bugs in the
           | graphics drivers. Iirc it happened under Nvidia and Intel.
        
       | metaltyphoon wrote:
       | Why is the CLI args so weird with the + sign?
        
       | slantedview wrote:
       | Congrats on the release! I'm excited to try this out.
        
       | elashri wrote:
       | I have been waiting to try this out for sometime now. I recently
       | tried various terminal emulator tools and I settled on wave
       | terminal. This is a list of these tools for reference. I would
       | list tools that are on both MacOS and Linux which is comparable
       | to this new emulator. But also because I did not try any on
       | windows.
       | 
       | - Alacritty (https://github.com/jwilm/alacritty)
       | 
       | - waveterminal (https://github.com/wavetermdev/waveterm)
       | 
       | - Hyber (https://github.com/zeit/hyper)
       | 
       | - Kitty (https://github.com/kovidgoyal/kitty)
       | 
       | - Rio (https://github.com/raphamorim/rio)
       | 
       | - Tabby (https://github.com/Eugeny/tabby)
       | 
       | - Wezterm(https://github.com/wez/wezterm)
       | 
       | - Contour (https://contour-terminal.org)
       | 
       | - Extraterm (https://github.com/sedwards2009/extraterm)
       | 
       | - Warp (https://www.warp.dev/)
       | 
       | I didn't like that Warp is VC product as I don't like essential
       | tool like a terminal in my workflow to be dependent on
       | proprietary VC product.
        
       | xbeta wrote:
       | Great stuff! Does it have a Session/Workspace concept? Maybe we
       | can learn from how Alacritty does it integrating with tmux?
        
       | cornel007 wrote:
       | Congrats! I'm curious what the main reason is you ended up going
       | with the MIT license over GPL. Is it because of potentially
       | integrating Ghostty with VS Code like you mentioned during Zig
       | showtime a year ago?
        
         | needlesslygrim wrote:
         | I'm also interested in why the MIT license was chosen. I guess
         | it's because of the plan to create 'libghostty'?
        
       | Zetaphor wrote:
       | Sadly another terminal that doesn't seem to support "Quake style"
       | dropdown (that I can find)
       | 
       | Having my terminal session available on a hotkey has become a
       | critical part of my workflow
        
         | SG- wrote:
         | except it does? View -> Quick Terminal.
        
           | Zetaphor wrote:
           | I've built from source on Linux, I don't use MacOS.
        
             | Zetaphor wrote:
             | This just doesn't seem to work :(
             | 
             | quick-terminal-position=top quick-terminal-screen=main
             | quick-terminal-autohide=false
             | keybind=f9=toggle_quick_terminal
             | 
             | Edit: Joined the discord, turns out this feature is MacOS
             | only :/
        
             | gpanders wrote:
             | It's a macOS-only feature, for now.
        
         | tristan957 wrote:
         | GTK does not support the Wayland protocol to implement a Quake
         | style terminal.
        
         | IceDane wrote:
         | I think this being part of the terminal is sort of weird. I've
         | had this functionality in my window managers for years. First
         | xmonad, now awesomewm. It's called scratch pads.
        
       | PMunch wrote:
       | Cool to finally see a 1.0 release of Ghostty! Will definitely
       | check it out. One very strange and niche question though, do you
       | support font switching with SGR escape codes? After the Monaspace
       | font family was released I made a PR to Vim to support
       | highlighting by font switching, but I've yet to find a terminal
       | emulator to my liking that supports it. I'm building an eink
       | laptop and its monochrome display requires some neat tricks like
       | this to get the most out of the device.
        
       | hysan wrote:
       | I might give this a shot but using GTK4 makes me think this won't
       | live up to the "native" claim on Linux. It will likely feel out
       | of place on non-GTK DEs with KDE being the big one. And yes, I
       | did read the about page disclaimer about Linux but strongly
       | disagree about calling GTK4 the closest thing. That's a very
       | GNOME-centric view (e.g., ignores the rest of the Linux
       | ecosystem) and makes me worry that any issues on other DEs will
       | be ignored/deprioritized. It's possible that I'm wrong and that a
       | sizable population of the closed beta Linux users we're on KDE,
       | but without knowing, I'm very hesitant and put back by the
       | "native" claim (it feels disingenuous).
        
         | happens wrote:
         | Does "native" exist on Linux, in your opinion? Feels to me like
         | both QT and GTK (and maybe iced if cosmic comes to fruition?)
         | could be considered native (or none of them can, depending on
         | your point of view).
        
           | hysan wrote:
           | I'd answer this differently depending on when you ask. 10
           | years ago (random, but long enough number) I would have said
           | an easy yes. Both GTK and QT would have been acceptable
           | toolkits to use as the cross DE issues weren't that many and
           | bugs got fixed. Ask me a few years ago and I'd waver. It
           | wasn't clear how ecosystem friendly GTK4 would be, so I might
           | have optimistically replied the same. But caveat it with a
           | "maybe support both X11 and Wayland." But ask me now and I'd
           | say to earn the label *Linux native*, you would have to
           | support a lot. GTK4 has proven to not play well with other
           | DEs. The jump to Wayland has caused a fairly significant
           | split in DEs (this year has greatly closed the gap with many
           | showing great progress in supporting Wayland) which means
           | some apps may not work on your DE of choice. And overall, I'd
           | be hesitant to claim that any app is truly *Linux native*
           | because installing an app no longer guarantees that it'll
           | just work and look and feel right. You'd need to have builds
           | GTK4 & QT, and make sure that they work in both X11 and
           | Wayland for the next few years. When I look for apps
           | nowadays, I tend to append my DE and/or distribution to my
           | search. I currently think it's more truthful (on Linux) to
           | say that an app is native to a DE instead of to Linux.
           | 
           | Note: I don't think GTK4 is bad. One of the best parts of the
           | Linux ecosystem is that we have a lot of great DEs that have
           | gradually differentiated themselves by UX. GTK4 not playing
           | well with others is in part due to how different GNOME's UX
           | is. The toolkit is meant to serve one DE paradigm now and
           | that's led to higher quality on that DE. The drawback to that
           | diversification is that there is no easy way to support all
           | DEs. Your toolkit drives what you support (unless you go out
           | of your way to fix things that GTK4 isn't fixing - which is
           | why I put that bit about seeing how KDE issues would be
           | addressed). The word "Linux", now more than ever before,
           | describes an ecosystem (or kernel) rather than an operating
           | system.
        
             | ComputerGuru wrote:
             | > You'd need to have builds GTK4 & QT
             | 
             | Isn't this just a long about way of saying "no"? Very few
             | frameworks let you flip a switch and build against Qt OR
             | Gtk.
        
         | docandrew wrote:
         | FWIW I just tried on KDE (built from source on NixOS) and had
         | some weird cursor dpi issues and GDK errors. Looks like it is
         | tailored more for GTK-based DEs for now.
        
           | AMD_DRIVERS wrote:
           | all GTK apps have the weird cursor issue on KDE if you're
           | using scaling - I believe it's due to how GTK (and GNOME)
           | handles fractional scaling as compared to QT (and KDE).
           | Install the Bottles Flatpak and you'll see the same issue.
        
         | dismalaf wrote:
         | Gnome is becoming the de-facto Linux DE. It's standard on
         | Ubuntu, Fedora, RHEL, Suse and Debian.
         | 
         | KDE is standard on what, Steam deck? Every enterprise-y distro
         | ditched it some time ago...
        
           | hysan wrote:
           | Hasn't Suse been KDE by default since... as long as I can
           | remember? Debian defaults to GNOME but it lets you pick the
           | DE in the installer IIRC (haven't installed Debian in a long
           | time since I just use it for servers). Last I heard, Fedora
           | is making KDE an official supported DE. You're also leaving
           | out other popular user-centric distros like Mint which don't
           | use either DE (toolkit it GTK but the UX paradigms makes it
           | so just about any toolkit means that it'll look & feel right
           | on Cinnamon).
        
             | dismalaf wrote:
             | Suse has had Gnome as the only supported DE for 5ish years
             | now. They don't even support KDE at all. Talking Suse as in
             | the commercial distros. OpenSuse has choice of DEs like
             | most.
        
               | hysan wrote:
               | Gotcha. So you really meant enterprise only. Not a tongue
               | in cheek answer (which I thought was a way of just
               | grouping all suse-related distros). To me, that's not the
               | context for a user oriented product. Any reasonable
               | person looking at a developer tool and listening to that
               | pitch isn't thinking pure enterprise. So I think that's
               | not a good interpretation of what I find disagreeable
               | with calling a GTK4-only app "Linux native."
               | 
               | Also, I thought opensuse (or whatever new name they're
               | using) was KDE default but with a choice (like Debian)?
               | At least that's what DE I got last time distro hopped to
               | it. Which is why I don't consider either as an example of
               | why GNOME would be the "de-facto standard."
        
               | dismalaf wrote:
               | It means what people actually develop, support and use in
               | the real world. KDE has no real support. Suse, Red
               | Hat/IBM and Canonical all develop and support Gnome which
               | is largely what has made it so polished.
               | 
               | Also, I'd wager Gnome is absolutely used by 90% or more
               | of Linux users.
               | 
               | > Also, I thought opensuse (or whatever new name they're
               | using) was KDE default but with a choice (like Debian)?
               | At least that's what DE I got last time distro hopped to
               | it.
               | 
               | Depends "which" openSuse. OpenSuse Leap is going away
               | since Suse (the corporation) is doing away with non-
               | immutable distros. Whether it keeps KDE remains to be
               | seen as MicroOS has lots of issues with KDE. Tumbleweed
               | has KDE as the first choice still, but it's basically
               | hobbyist-only from this point since there's no equivalent
               | Suse distro. Aeon is Gnome-only.
        
           | a_e_k wrote:
           | For Fedora, at least, there's been a recent proposal to
           | upgrade KDE to the same status as Gnome.
           | 
           | https://www.phoronix.com/news/Fedora-KDE-Desktop-Promoted
        
           | FergusArgyll wrote:
           | KDE is standard in my house
        
         | aidenn0 wrote:
         | It is almost impressive how much worse a GTK4/Adwaita
         | application is compared to a GTK2 application. I just tried
         | this and it has a fucking hamburger menu in a desktop
         | application. If that ever becomes what is considered "native"
         | on Linux I will abandon it after using it for 25 years.
        
           | tristan957 wrote:
           | You are free to take libghostty and create an XApp app
           | runtime for it, or even fork it and do what you want. Just
           | because you don't like something does not make it worse.
        
             | aidenn0 wrote:
             | Oh, GhostTTY is a _great_ project. I also agree that some
             | flavor of Gnome is the default out of the box on most
             | distros. I 'm bemoaning that fact, not the existence of an
             | excellent terminal library and 3 frontends for it that I
             | will never use.
        
         | tristan957 wrote:
         | GTK-based desktop environments: GNOME, Pantheon, MATE, Xfce,
         | Cinnamon
         | 
         | Qt-based desktop environments: KDE, LXQt
         | 
         | Iced-based desktop environments: COSMIC
         | 
         | By going GTK, you support 5 desktop environments. If you really
         | don't like GTK, just build a Qt app runtime with libghostty.
         | Lots of people want a Qt version.
        
         | bogantech wrote:
         | Looks really out of place for me on KDE, big fat gnome title
         | bar and buttons etc...
        
       | navigate8310 wrote:
       | Any love for Windows. I'm getting restless to ditch putty but
       | unable to find any good emulator that has select and login style
       | of management screen.
        
         | karmakaze wrote:
         | > Windows support is planned after the 1.0 release.
         | 
         | This really does aim to be _the_ terminal for all.
        
         | metaltyphoon wrote:
         | When on windows I have been happy with WezTerm
        
         | baaym wrote:
         | Apparently it works great on WSL
         | 
         | See this other user's comment:
         | https://news.ycombinator.com/item?id=42518033
        
           | 38 wrote:
           | For the 10th time WSL is not windows, it's a Linux emulator.
        
         | ComputerGuru wrote:
         | I ditched putty a long time ago. Conemu is better than putty
         | these days (latest Windows 10 or Windows 11 if you're unlucky
         | enough).
         | 
         | I don't like the "feel" of the new Windows Terminal "app" but
         | it is more "modern" and "capable" (running a newer conhost
         | under the hood).
         | 
         | But if you're willing to use non-standard software then
         | WezTerm, Alacritty, and Kitty (WSL with an XServer) are all
         | good options.
        
       | emmelaich wrote:
       | Already in homebrew if you want to use that!
       | 
       | I'm very new to Ghostty and went looking for my favorite theme
       | "Solarized Light"; it's listed as "iTerm2 Solarized Light" -- in
       | contrast (heh) to "Solarized Dark"
        
       | RainyDayTmrw wrote:
       | As someone who uses the default terminal app, I'm curious to
       | learn about other people's use-cases where the choice of terminal
       | app makes a difference and how.
        
         | naikrovek wrote:
         | I am not sure how to answer this.
         | 
         | Why choose a non-default anything? It feels like deeper down,
         | you're asking why anyone chooses anything.
         | 
         | These terminal emulators all behave slightly differently and
         | have different strengths and weaknesses. Some are configurable.
         | Some are programmable. Some feel "right". Others can be made to
         | feel "right". Etc.
         | 
         | Why use any non-default application? Same answer for terminal
         | emulators.
        
           | wiseowise wrote:
           | This is a very specific question.
        
           | oneeyedpigeon wrote:
           | > These terminal emulators all behave slightly differently
           | 
           | That's the point. Different browsers or word processors
           | behave _completely_ differently. They were asking what
           | differences there are between this and other TEs.
        
         | robinsonrc wrote:
         | Lack of true colour support was the first thing that got me
         | looking at other options
        
           | matwood wrote:
           | This. I try to stick with the built ins, but lack of true
           | color on Terminal.app is annoying. I wouldn't consider myself
           | an advanced terminal person, but I do all my git interactions
           | using the terminal and like it to look nice.
        
         | m1keil wrote:
         | I really like to copy on select in the terminal. Terminal.app
         | used to have a hack available to add this feature in, but since
         | SIP days, it is no longer possible.
        
         | barnabee wrote:
         | My most used "unique" feture of WezTerm and one of the main
         | reasons I'd struggle to move to any of the alternatives is
         | quick select mode[0] which massively speeds up copying or
         | typing file names, hashes, IDs, etc. from the output of
         | commands.
         | 
         | [0] https://wezfurlong.org/wezterm/quickselect.html
        
         | themadsens wrote:
         | Very impressed with ghostty so far, but: Main reasons for
         | sticking with ITerm2 (for the moment at least):
         | 
         | - "Seamless" cut & paste with paste on "2 X right click" +
         | "Trim trailing LF"
         | 
         | - Quadruple click "Smart selection"
         | 
         | - Brillant search with highlighting in text and scrollbar
         | 
         | - Support for OSC-1 "icon titles" in tabs, as opposed to OSC-0
         | "header title"
        
       | cranberryturkey wrote:
       | no windows version?
        
       | pzo wrote:
       | Landing page and github README could improve:
       | 
       | - picture or gif is worth a thousand word
       | 
       | - it mentioned its cross-platform but I don't see support for
       | Windows or Android - its better make it explicit it's only for
       | macOS and Linux. Yesterday was looking for some nicer terminal on
       | Android and was hoping ghostty could work.
       | 
       | - I like simple landing pages but this... is too simple and not
       | much useful (only 2 buttons and ASCII image. Why even bother with
       | such landing page and not just stick with github README?
       | 
       | - it doesn't provide me any fast information how to compares to
       | different terminals and why I should switch from Warp
        
         | grantcarthew wrote:
         | I disagree, the landing page is just fantastic.
         | 
         | I like the product as well, however, I need to use it for a
         | week to comment.
        
           | punkspider wrote:
           | I think it would help if there were more information about
           | it, along with demos, to clearly communicate what it's about.
           | At the moment I'm still confused because I see Ghostty has
           | gotten so much attention, and I'm not clear why it's special.
           | 
           | I am sold thanks to the author's authenticity, but if I had
           | not seen this, I wouldn't know what I'm looking at. So I
           | think it would be very helpful if there were more info on the
           | landing page.
        
             | srik wrote:
             | Performance of course but native is a big part of ghostty's
             | appeal; there's an article by a neovim dev that expands on
             | that native part a bit - https://gpanders.com/blog/ghostty-
             | is-native-so-what/
        
           | tapirl wrote:
           | I have to enable JavaScript to make it load. It seems the
           | animation on the page requires JavaScript. So, I agree with
           | @pzo that a GIF would be better in this case.
        
         | kelvinjps10 wrote:
         | Cross platform doesn't mean every single platform, and it is
         | not common of terminals supporting android
        
           | bigstrat2003 wrote:
           | It's true that you wouldn't normally expect a terminal to
           | support Android, but generally one _does_ expect  "cross-
           | platform" to mean Linux, Mac, and Windows.
        
         | someothherguyy wrote:
         | A noscript tag on the landing page with a link to the
         | repository's readme would be appreciated (or ssr the react).
         | There are a small number of users who don't enable javascript
         | for every domain.
        
       | tsrez wrote:
       | This is such a cool project, looks amazing!
        
       | kaycey2022 wrote:
       | I love the terminal. But I'm seeing relatively high CPU usage.
       | Maybe there's some non default setting that can reduce that?
        
         | AndyKelley wrote:
         | Are you perhaps hitting this KDE bug?
         | https://bugs.kde.org/show_bug.cgi?id=497341
        
           | kaycey2022 wrote:
           | I'm on macos
        
       | casey2 wrote:
       | It's pretty slow and buggy for me idk
        
       | iambvk wrote:
       | Does this support the non-standard key-press, key-release, etc.
       | events proposal by kitty project? They are necessary for _nicer_
       | terminal UI projects.
        
         | mitchellh wrote:
         | Yes.
        
           | iambvk wrote:
           | Cool. Thanks.
        
       | dr_kretyn wrote:
       | [flagged]
        
         | lawgimenez wrote:
         | The description is in the documentation. What's the trouble by
         | clicking on it? It won't take a second.
        
           | dr_kretyn wrote:
           | I don't know whether it's going to take a second or half a
           | minute. I also don't know whether there will be an answer on
           | the first page, or there's going to be a cute image and then
           | I'll need to find "Getting Started" to learn how to get
           | started with unknown project. My subjective experience on the
           | internet is that if the gate isn't labelled, there's unlikely
           | value on the other side.
        
             | tptacek wrote:
             | People who are interested in this are talking about it
             | because they're interested in it. Nobody is trying to
             | convert you.
        
               | abenga wrote:
               | People who are interested in things learn about them at
               | different times. You make it seem like it's "learn about
               | it at the outset or gtfo".
        
               | halostatue wrote:
               | And it might be that next month there's a different
               | homepage with more details. For a launch where all
               | "marketing" has been via blog post, discord, and
               | discussions across various nerdy social media sites...I'm
               | more than happy for them to have some fun to celebrate
               | this.
               | 
               | There are people who have been watching this for a few
               | months waiting for it to go 1.0 -- and, at least on day
               | 1, "if you know, you know."
        
             | lawgimenez wrote:
             | Whatever dude, you hating because of a missing label on the
             | intro page.
        
             | twoparachute45 wrote:
             | > I don't know whether it's going to take a second or half
             | a minute.
             | 
             | You know how you could find out how long it's going to
             | take? By clicking the button. It's free. It's easy. Hell,
             | it would've taken you less time to click that single button
             | and read the first sentence than it would have taken you to
             | post this comment.
             | 
             | You didn't even bother to spend half a second actually
             | opening the documentation page and then you come here
             | complaining about how you don't know whats in the
             | documentation. This is entirely a problem of your own
             | creation. What gives?
        
         | reanimus wrote:
         | > I hate things in "if you know then you know" category. This
         | is one of them.
         | 
         | > Documentation? Reading a manual for an unknown thing?
         | 
         | Well. Yes? Maybe I'm assuming too much, but I feel like the
         | target audience here (terminal emulator 'enthusiasts') either
         | know about this already or are totally willing to go over to
         | the manual to read what it is. The very first section upon
         | opening the documentation explains it succinctly: Ghostty is a
         | fast, feature-rich, and cross-platform terminal emulator that
         | uses platform-native UI and GPU acceleration.
        
           | chooma wrote:
           | I wouldn't word it that strongly, however I would've like to
           | see the first line of the documention on the homepage :)
           | 
           | I'll give it a spin later, looks interesting.
        
         | mitchellh wrote:
         | This isn't a company, I'm not trying to convince you to use it,
         | this is more of a personal art project. If that doesn't vibe
         | with you that's completely fine. You're happy to not use it.
         | I'm happy whether you use it or not. It's all good mate.
         | 
         | (The first sentence in the docs page does explain what it is
         | but if that's too much for you, it's all good.)
        
           | dr_kretyn wrote:
           | Fair. And I'm not here to convince you to cater to everyone.
           | The explanation might be on the first page of the doc, but
           | unless you click on it, you won't know. My prior experience
           | is that docs don't necessarily tell "what" but rather "how"
           | which means that you need to know why you're there. Their
           | weight also varies. Thus, I learned to not speculate how many
           | clicks and real time it's going to take me to learn about the
           | project. If the author doesn't want me to know it, I won't be
           | digging into it.
           | 
           | I enjoy personal projects and if you're saying that this is
           | your personal - all the best! Given high praise count it's
           | likely very good.
        
           | Udo wrote:
           | > You're happy to not use it. I'm happy whether you use it or
           | not.
           | 
           | I think you misunderstood the OP. The criticism was about the
           | landing page, not the project.
           | 
           | And _fwiw_ , it's not unwarranted. Putting the words
           | "terminal emulator" somewhere on the page would make less
           | people bounce off. You may be fine with them bouncing off,
           | but still, I think it was meant as constructive criticism.
        
             | geodel wrote:
             | > I hate things in "if you know then you know" category.
             | This is one of them.
             | 
             | A little too constructive I guess.
        
               | Udo wrote:
               | You're right, maybe I read the post a bit too charitably.
        
           | torstenvl wrote:
           | It's constructive criticism. You don't have to respond with
           | "Well get fucked then"
        
             | hombre_fatal wrote:
             | It's okay to filter people out who are too uninterested to
             | click a "Documentation" link yet vocal enough to come post
             | about it.
             | 
             | It works for https://www.midjourney.com/home and apparently
             | this project too with its 1100+ upvotes.
        
               | torstenvl wrote:
               | No, it isn't okay to filter people out for giving helpful
               | feedback solely because you don't like the feedback.
               | 
               | It's _especially_ not okay to be so rude on HN.  "Please
               | don't post shallow dismissals"
        
               | btheunissen wrote:
               | The original commenter posted a shallow dismissal by
               | putting the effort into posting a comment without
               | clicking a single button on the page :)
        
               | torstenvl wrote:
               | No. He didn't post any kind of dismissal at all.
        
               | twoparachute45 wrote:
               | The feedback provided wasn't helpful. You're absolutely
               | correct in that shallow dismissals aren't kind, but
               | you're wrong about who was shallow and who was not. OP
               | didn't dismiss anyone, nor was their comment shallow. And
               | they don't owe you or anyone else anything as far as
               | "explanation" goes, and they can filter out whoever the
               | hell they want. Click the link and look further, or
               | don't.
               | 
               | Meanwhile, dr_ketyn's comment was both rude and not
               | constructive in the slightest (here's a tip: starting
               | feedback with "I hate this" isn't constructive or kind).
        
               | dmkolobov wrote:
               | I would think, or hope, that this guideline is geared
               | towards protecting a years-long effort such as writing a
               | performant, feature-rich terminal emulator, rather than a
               | comment which takes 5 minutes max to draft.
               | 
               | Not clicking on a documentation link on a technical
               | project is the definition of a shallow dismissal in my
               | opinion.
        
               | torstenvl wrote:
               | No. The rule is about protecting a culture. Having a
               | brief description on the front page is an eminently
               | reasonable suggestion. Mitchell's response was a shallow
               | dismissal _of the person_ (calls out  "you" five times in
               | six sentences) and was against site guidelines.
        
               | dmkolobov wrote:
               | Which culture would that be? Starting off a post with "I
               | hate things... this is one of them"?
               | 
               | I think the discussion here would be different if the
               | tone was more moderated. Seems like you're dying on a
               | hill for the right to be abrasive without consequence.
        
           | dbmnt wrote:
           | But... don't you want people to use it? You seem passionate
           | about it otherwise.
           | 
           | I'll admit, I almost didn't click past the animation either.
           | I did, and the doc quickly answered "what is it?", but why
           | not just put that sentence on the landing page? I don't get
           | the unnecessary obscurity either.
        
           | btheunissen wrote:
           | I think the documentation does a very good job in the first
           | sentence of describing the project. Not sure why the tone of
           | the commenter was so offended they had to click on a single
           | button to find that.
        
           | unsungNovelty wrote:
           | I had the same problem. I digged through it only cos it was
           | #1 in HN so I knew something's up. If I had come across this
           | any other way, I wouldn't bother looking past the home page.
           | I don't think you have to be selling the project (financially
           | or otherwise). But you will lose a lot of potential users cos
           | you didn't add the description you have in docs right there
           | in the home page.
           | 
           | > Ghostty is a fast, feature-rich, and cross-platform
           | terminal emulator that uses platform-native UI and GPU
           | acceleration.
           | 
           | Now after reading it, the name makes so much sense as well.
           | GhosTTY. My first thought was alternative to ghost.org or
           | something.
        
         | uncomplexity_ wrote:
         | just different tastes i guess
         | 
         | midjourney still has the same thing on their homepage and i dig
         | it
        
         | __rito__ wrote:
         | Well, it is named GhosTTY. TTY being in the end, it is a
         | terminal emulator. That's obvious to me. Just like AlacriTTY,
         | PuTTY, KiTTY, etc.
        
           | metaltyphoon wrote:
           | I swear this makes 1000% sense but it never occurred to me
           | before.
        
           | boomboomsubban wrote:
           | I thought it was some modern cowsay with a ghost in the tty.
        
         | zug_zug wrote:
         | Yeah I agree. To me the "If you know you know" mentality is a
         | negative signal about something, suggesting that something is
         | possibly seen as cool/trendy (which is a negative signal
         | against being the most practical/utilitarian/unsexy solution).
        
         | crystaln wrote:
         | Yeah I was wondering why there's an ascii animation at #1 on
         | HN. Flash back to 2008.
        
         | dang wrote:
         | Can you please greet the things that are new to you in a more
         | welcoming spirit? At least as long as you're posting here. What
         | we want on this site (other sites may differ) is a spirit of
         | curiosity [1]. If you post in a "you're doing it wrong" or
         | "you're not providing me with the information I deserve"
         | spirit, that not only isn't the curiosity we're hoping for, it
         | dampens the entire thread for everybody.
         | 
         | https://news.ycombinator.com/newsguidelines.html
         | 
         | [1]
         | https://hn.algolia.com/?dateRange=all&page=0&prefix=true&sor...
         | 
         | Edit: I just saw https://news.ycombinator.com/item?id=42519739,
         | which means you already covered the point, but I'll leave this
         | up pour encourager les autres.
        
       | HeliumHydride wrote:
       | Will the eventual windows release support GPU shaders like
       | Windows terminal does?
        
       | johan914 wrote:
       | The default macOS terminal app has CMD UP/DOWN to move to
       | previous prompts. This is one of my pet peeves about terminal
       | apps, they seem to lack this command?
        
         | slater wrote:
         | Not even cmd up/down, just hit up/down key, no cmd needed
        
           | johan914 wrote:
           | There's a difference between moving the window and inserting
           | text.
        
             | slater wrote:
             | Oh i thought you meant "go through previously-entered
             | commands"
        
         | m1keil wrote:
         | Ghostty supports it (like many other terminals) - it is called
         | shell integration and it is supposed to be enabled by default,
         | just like in Terminal.app.
        
         | rererereferred wrote:
         | It works for me with cmd+shift+up/down. I had it set up with
         | the iterm2 shell integration and it just worked.
        
           | djpowers wrote:
           | Just for reference, it looks like it's also bound to cmd +
           | up/down (without shift). Documented as "jump_to_prompt" here:
           | https://ghostty.org/docs/config/keybind/reference#jump_to_pr.
           | ..
        
       | uncomplexity_ wrote:
       | anyone know if this can be plugged into vscode to replace
       | xtermjs?
        
         | pfg_ wrote:
         | no. it's planned for the future to make a libghostty that is
         | embeddable, and it would be up to someone to make a
         | modification for vscode to do that (not sure if it can be done
         | with vscode's extension api)
        
           | tristan957 wrote:
           | VSCode would switch from xterm.js to a libghostty WASM build.
        
       | cryptozeus wrote:
       | You can downvote this but Why they never put a single screen
       | shots !
        
         | dchest wrote:
         | The whole home page is a screenshot and two buttons.
        
           | mkl wrote:
           | But not showing any of the native interface elements that are
           | supposed to set this terminal emulator apart.
        
             | oneeyedpigeon wrote:
             | The home page is obviously going for 'quirky', but it's mad
             | that it doesn't even say "...is a terminal emulator"
             | anywhere. At first, I thought Ghostty was an ASCII
             | animation library! I guess the name's suffix should've
             | clued me in, but that's easy to overlook in a hurry.
        
               | cruffle_duffle wrote:
               | Somebody please read this! I thought it was some goofy
               | JavaScript demo or something. It wasn't until I clicked
               | on the download link that I realized it was something
               | else entirely. I was thinking "why does this ghost
               | JavaScript demo thing have a download link?" and I
               | expected it to go to some GitHub page or something
               | 
               | The homepage is cool but on mobile it isn't at all
               | obvious this is software, let alone a terminal emulator.
               | If this HN post didn't already have like 1000 votes I
               | probably wouldn't have even bothered with testing the
               | link. I would have said "cool ghost" and moved on with my
               | day.
               | 
               | That being said, I am looking forward to trying this as
               | an iterm2 replacement. Iterm2 has been my default
               | terminal on Mac since forever... it was probably the
               | first hit for "putty for mac" or something, and I
               | probably installed it and never even considered trying
               | something else. It's always "just worked".
        
       | sss111 wrote:
       | Is it mining cryto? Caused my mac to slow down, CPU usage shot up
       | to 100%, and it dropped right down after I quit it.
        
       | exabyte wrote:
       | Genuinely excited to see this land! Can't wait to try it out.
       | This could be the last piece of the puzzle to a nearly flawless
       | terminal experience
        
       | unit149 wrote:
       | > support native GUIs for configuration in line with our native
       | UI philosophy
       | 
       | As a terminal emulator, running and building it from source in
       | Wayland as a passive process that exists in the shell, while
       | being a method of input-output system call management.
        
       | daft_pink wrote:
       | Best. Christmas. Gift. Ever.
        
       | turnsout wrote:
       | I ran into some funkiness once I ssh'd into a FreeBSD box. The
       | shell history was wonky, and goaccess wouldn't launch at all,
       | complaining about the terminal environment, which I've never
       | seen. With that said, this looks like an awesome project and I'll
       | be following it closely!
        
         | matrixhelix wrote:
         | https://ghostty.org/docs/help/terminfo#ssh
        
       | codetrotter wrote:
       | When I try to ssh into one of my servers using this terminal I
       | get the following:                 missing or unsuitable
       | terminal: xterm-ghostty       Connection to xxx.xxx.xxx.xxx
       | closed.
       | 
       | (IP address removed by me.)
       | 
       | It turned out that this is associated with how I automatically
       | run tmux by having the following kind of config for how I connect
       | to that server.                 Host server3000
       | IdentityFile
       | ~/.ssh/host_specific/foo/bar/server3000/id_ed25519_baz
       | RequestTTY yes        RemoteCommand /usr/bin/env tmux new-session
       | -A -s '%L'
       | 
       | Whereas if I outcomment the RemoteCommand setting in my
       | ~/.ssh/config of the laptop I'm connecting form, I can connect
       | fine even using Ghostty as my terminal and from
       | env | grep ^TERM=
       | 
       | I get output                 TERM=xterm-256color
       | 
       | in the initial normal shell.
       | 
       | And if I run tmux, then inside of it from                 env |
       | grep ^TERM=
       | 
       | I get output                 TERM=tmux-256color
       | 
       | So there seems to be some termcap stuff I'd have to figure out if
       | I want to use Ghostty and still be able to run tmux automatically
       | in the way I'm currently doing without problem when using the
       | Terminal that ships with macOS and ssh'ing into my servers.
        
         | matrixhelix wrote:
         | https://ghostty.org/docs/help/terminfo
        
           | codetrotter wrote:
           | Thank you. I'll probably go with sticking their suggestion
           | into my ssh client config                 SetEnv
           | TERM=xterm-256color
           | 
           | mentioned in the end of your link. I'll put it next to the
           | line where I set RemoteCommand and include a comment for
           | myself that this SetEnv is for being able to still use
           | RemoteCommand tmux thing even when using Ghostty.
        
       | eviks wrote:
       | Since this has some plans for being the best, will it add the
       | great unique feature of wezterm: scripting config support?
        
       | Kylejeong21 wrote:
       | this is way better than using warp (ai gen terminal).
       | 
       | i'd rather use a nice-looking and well designed (UX) terminal
       | than have to use a clunky ai native one.
        
         | LambdaComplex wrote:
         | Warp has been around since 2020, i.e. since before the
         | generative AI craze took off.
         | 
         | Every HN thread about it that I've seen has been full of
         | comments that boil down to "this seems cool but I refuse to use
         | a terminal emulator that's full of telemetry and requires sign-
         | in."
         | 
         | And of _course_ the VC-funded terminal emulator has AI
         | shoehorned in now. I shouldn 't be so surprised.
         | 
         | tldr: you're setting a low bar
        
       | terminaltrove wrote:
       | We've added Ghostty to the terminals section of Terminal Trove
       | for comparison.
       | 
       | https://terminaltrove.com/terminals/ghostty/
       | 
       | You can find all terminals for comparison below and also the list
       | of terminals (including Ghostty)
       | 
       | https://terminaltrove.com/compare/terminals/
       | 
       | https://terminaltrove.com/terminals/
        
         | meitham wrote:
         | The one feature I clicked for is RtL languages support, could
         | that be added to your comparison table please
        
           | terminaltrove wrote:
           | We will add this to the table, is there a quick test to check
           | if a terminal has RtL / bidirectional language support?
           | 
           | If there are any other features you look for in a terminal
           | not on the comparison table please let us know!
        
             | meitham wrote:
             | Thanks! Another important factor I find is weather the
             | configurations is file based or menu based.
        
         | kseistrup wrote:
         | How come TT's categories aren't listed alphabetically?
        
           | terminaltrove wrote:
           | Do you mean here?
           | 
           | https://terminaltrove.com/categories/ (1)
           | 
           | Or any other category on the page? (2)
           | 
           | We can change (1) alphabetically if that is what you mean.
        
             | kseistrup wrote:
             | Yes, those categories. I should have been more explicit.
             | 
             | I found it confusing to look for a category among the
             | unsorted boxes. It would help if they were sorted.
        
               | terminaltrove wrote:
               | It is now sorted on the categories section.
               | 
               | https://terminaltrove.com/categories/
        
               | kseistrup wrote:
               | Yay, it looks great! Thanks! \o/
        
       | cakealert wrote:
       | Should of used QT.
       | 
       | > error(gtk): unable to get current color scheme:
       | GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
       | org.freedesktop.portal.Desktop was not provided by any .service
       | files
        
         | tristan957 wrote:
         | You would have the same problem with Qt. You don't have the
         | xdg-desktop-portal and an associated backend running. If you're
         | going to build your own Linux system, you should be aware of
         | why something is broken before making a complaint to the wrong
         | people. In this case, you misconfigured your own system.
        
           | cakealert wrote:
           | Odd how a hundred other applications have no issues
           | whatsoever then.
           | 
           | This Portal is something from flatpak btw, no other terminal
           | depends on it.
           | 
           | This is likely some cancer from GTK that metastasized,
           | anything using GTK has to lock it down tight to rely on the
           | absolute minimum of "features".
        
         | SSLy wrote:
         | Should have used a grammar checker.
        
       | bonniesimon wrote:
       | I've tried it out and I can notice that ghostty is a little more
       | snappy than Alacritty. I was happy with Alacritty, but I used a
       | face a weird issue where the whole terminal freezes. I'm not sure
       | if this is a Alacritty issue or tmux issue. I can only confirm
       | this by using Ghostty and checking if the same issue happens.
       | 
       | Anyways this is a great piece of software. I've never been this
       | hyped for a software ever before. Great work team.
        
       | favadi wrote:
       | For some reasons, the font looks thinner compare to Kitty on
       | macOS. Not sure if it is a bug or intentional.
        
         | theanirudh wrote:
         | Yes, it is. Try setting font-thicken = true
         | https://ghostty.org/docs/config/reference#font-thicken
        
           | favadi wrote:
           | Thanks, that's exactly what I am used to!
        
       | asdf147 wrote:
       | General question, how safe is it to use non-stock os terminals?
       | In the end often they need to receiver super user at some point.
        
         | PhilipRoman wrote:
         | I would say it's about as safe as using any other program. On
         | Linux, by default you will not get any isolation within the
         | same user context. So if your account has access to sudo
         | (regardless whether with password or not), assume that any
         | program you've ever run on that account also has sudo access.
         | There are sandboxes and selinux but neither is used
         | consistently enough on consumer systems.
        
       | paoda wrote:
       | I've been in the beta for quite a while, the only issues I had
       | were resolved quite quickly. I never got to contribute that much
       | in feedback since I honestly never had anything to complain
       | about, outside of not being able to also use ghostty on Windows
       | (lol).
       | 
       | Congrats on 1.0! It's been a joy to use I wish everyone can enjoy
       | this wonderful piece of software as much as I have!
        
       | microflash wrote:
       | Have set it up with Nushell. It's pretty fast while displaying
       | really long log files. Going to sit alongside iTerm2 until I get
       | comfortable with it.
       | 
       | The only things I miss are (1) right click to copy paste
       | selection (akin to Putty), and (2) profiles (I work with
       | different shells depending on my projects and use Profiles
       | frequently on iTerm2)
        
       | arnath wrote:
       | I dunno if this was obvious to everyone but OP is one of the
       | founders of Hashicorp
        
       | l0b0 wrote:
       | nixpkgs PR: https://github.com/NixOS/nixpkgs/pull/368404
        
         | teroshan wrote:
         | Corresponding Nixpkgs-Tracker link, to track if it's merged
         | into your branches of interest: https://nixpkgs-
         | tracker.ocfox.me/?pr=368404
        
       | iammrpayments wrote:
       | I tried and it looks really nice, best christmas gift this year
        
       | yakshaving_jgt wrote:
       | Looks nice, but the Quick Terminal isn't instant, so I'll stick
       | with iTerm2.
       | 
       | iTerm2 isn't instant either, but they feel about the same[0],
       | although with iTerm2 the full screen Quake-mode (Quick Terminal
       | equivalent) hides the MacOS menu bar, and Ghostty doesn't.
       | 
       | For my taste, I want a full screen terminal, with no menu bar, no
       | delay, and no animations, which I can toggle with a global
       | hotkey.
       | 
       | [0]: Actually, scratch that. I tested again, and iTerm2 opens
       | more quickly.
        
       | lifeinthevoid wrote:
       | This product just breathes craftsmanship and love. Respect and
       | thank you!
        
       | tntxtnt wrote:
       | > Ghostty is a fast, feature-rich, and cross-platform terminal
       | emulator
       | 
       | Doesn't have a binary for Windows so it's not "cross-platform"
       | yet.
        
         | isametry wrote:
         | The minimum number of platforms for "cross-platform" software
         | is by definition two (2).
        
       | sspiff wrote:
       | Does this have sixel support?
        
         | matrixhelix wrote:
         | No, and there are no plans to support it from the core
         | developers. However, if there's a PR, they might consider it.
         | It supports Kitty Image Protocol
        
       | danielmartins wrote:
       | Looks awesome, amazing work!
       | 
       | Any particular/strong reason for choosing Zig for this?
        
         | yla92 wrote:
         | Check "Why Zig" slide from this talk
         | 
         | https://mitchellh.com/writing/ghostty-and-useful-zig-pattern...
        
           | danielmartins wrote:
           | Thanks!
        
       | jwr wrote:
       | It's the first terminal app that made me switch from Terminal.app
       | on my Mac. It gets basically everything right, and doesn't try to
       | have every feature. Fantastic work, thank you!
        
       | Alifatisk wrote:
       | I couldn't find any screenshots, also, why is this being hyped so
       | much? What have I missed?
        
         | d3m0t3p wrote:
         | Just try it. I tried and the launch was so smooth that I'm
         | keeping it a few days to test it. My current biggest problem is
         | that I launch my terminal using the spotlight shortcut
         | ([?]-space on mac) and while iterm2 is found when I search for
         | term, ghostty isn't.
        
           | metaltyphoon wrote:
           | It took a minute for me, but it did find it. Something is off
           | with macOS indexing. Any app that you install via brew takes
           | a bit to show up.
        
             | d3m0t3p wrote:
             | I'm not complaining about the indexing (you can start the
             | indexing by starting spotlight on and off). I'm complaining
             | about having to search for "ghos..." instead of "term...".
             | Because I don't don't like to remember the specific app
             | name. But this complaint is the same for everything; when
             | searching for Excel, I would like "Numbers" to also show up
             | in the results. When looking for vscode I would like
             | "Visual Studio code" to also show up, but I need to type
             | either code, visual or studio.
        
               | rererereferred wrote:
               | Sounds like a feature request for spotlight to add
               | aliases or tags. Personally I always keep a terminal
               | open.
        
               | itishappy wrote:
               | Huh, you've got me curious, and the Windows start menu
               | does in fact launch Visual Studio Code when searching for
               | "vscode." Color me pleasantly surprised!
        
         | homebrewer wrote:
         | I'm wondering about this too. I looked at it and don't see any
         | reasons to switch away from kitty, which is just as fast, has
         | more features, and has never given me trouble. Kovid is a
         | fantastic developer who's very responsive and fixes bugs in
         | sometimes literal minutes after they were reported.
        
         | rererereferred wrote:
         | I guess the hype is from the series of blogposts about the
         | lengths they've gone to make it fast. Also it looks like mac
         | doesn't get a lot of native terminals so this has them excited.
        
       | noisy_boy wrote:
       | Compiled ok but crashed upon execution:                   info:
       | ghostty version=1.0.1-main+a8e5eef1         info: ghostty build
       | optimize=ReleaseFast         info: runtime=apprt.Runtime.gtk
       | info: font_backend=font.main.Backend.fontconfig_freetype
       | info: dependency harfbuzz=8.4.0         info: dependency
       | fontconfig=21402         info: renderer=renderer.OpenGL
       | info: libxev backend=main.Backend.io_uring         info(os):
       | setlocale from env result=en_US.utf8         info(gtk): GTK
       | version build=4.6.9 runtime=4.6.9         info: optional config
       | file not found, not loading
       | path=/home/xxxx/.config/ghostty/config         info(config):
       | default shell source=env value=/usr/bin/bash         "vulkan-
       | disable" is only available when building GTK with G_ENABLE_DEBUG.
       | See GDK_DEBUG=help         info(gtk): libadwaita version
       | build=1.1.7 runtime=1.1.7              (process:164888): Adwaita-
       | WARNING **: 19:33:13.357: Using GtkSettings:gtk-application-
       | prefer-dark-theme with libadwaita is unsupported. Please use
       | AdwStyleManager:color-scheme instead.         error(gtk): unable
       | to get current color scheme:
       | GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such
       | method "ReadOne"         info(grid): loaded OpenGL 3.2
       | warning(grid): OpenGL version is too old. Ghostty requires OpenGL
       | 3.3         error(gtk_surface): surface failed to realize:
       | error.OpenGLOutdated         info(sentry): sentry envelope does
       | not contain crash, discarding
       | 
       | System:                   OS: Pop!_OS 22.04 LTS x86_64
       | Host: 20QVCTO1WW ThinkPad X1 Extreme 2nd          Kernel:
       | 6.9.3-76060903-generic          Uptime: 2 hours, 20 mins
       | Packages: 5314 (dpkg), 22 (flatpak)          Shell: bash 5.1.16
       | Resolution: 3840x2160          DE: Plasma 5.25.5          WM:
       | KWin          WM Theme: Breeze          Theme: [Plasma], Adwaita-
       | dark [GTK2/3]          Icons: Papirus-Dark [Plasma], Papirus-Dark
       | [GTK2/3]          Terminal: konsole          Terminal Font:
       | JetBrains Mono 11          CPU: Intel i7-9750H (12) @ 4.500GHz
       | GPU: NVIDIA GeForce GTX 1650 Mobile / Max-Q          GPU: Intel
       | CoffeeLake-H GT2 [UHD Graphics 630]          Memory: 6307MiB /
       | 31738MiB
        
         | tylersmith wrote:
         | You have OpenGL 3.2 but need 3.3
        
           | nacs wrote:
           | Error is a little misleading. OpenGL is likely much higher
           | than 3.3 since op is using nvidia gpu.
           | 
           | Problem is that this application uses OpenGL ES for which 3.3
           | was only recently even finalized as a standard and most GPUs
           | like nvidia don't support.
        
         | nacs wrote:
         | Also same issue. Seems it's using a bleeding edge OpenGL ES
         | that even nVidia drivers don't support.
        
           | noisy_boy wrote:
           | I raised an issue for this: https://github.com/ghostty-
           | org/ghostty/issues/3435
        
       | tuananh wrote:
       | - xterm still feel faster to me.
       | 
       | - some visual artifacts with the gtk menu
       | 
       | - sometimes prompt got clear when openning 2nd / 3rd windows
       | 
       | - cant get keybinding quick toggle to work
        
         | manmal wrote:
         | In case you mean the quick terminal (ctrl+`):
         | keybind = global:ctrl+grave_accent=toggle_quick_terminal
        
           | tuananh wrote:
           | doesn't work for me. i'm using i3.
           | 
           | olps, it's macOS only feature.
        
         | l-p wrote:
         | > - some visual artifacts with the gtk menu
         | 
         | You need a compositor. picom works.
         | 
         | For a proper "native i3 experience" I recommend setting gtk-
         | titlebar=false and unbinding tab/pane management keybinds. I
         | already have a window manager, I don't need a second one.
         | 
         | I also had to disable adwaita because when it's enabled closing
         | a shell with ^D closes all open windows, sometimes it leaves an
         | empty window instead.
         | 
         | > - xterm still feel faster to me.
         | 
         | lxterminal also launches 6 times faster, I guess on a slow
         | laptop without a dedicated GPU these terminals are not the most
         | efficient option.
        
           | tuananh wrote:
           | there's a black box after i click the burger menu button.
        
       | tecleandor wrote:
       | I've been using Alacritty so I can switch back and forth from my
       | work's Mac to my own Linux, and share the config, but I'm testing
       | Ghostty and I'm really liking it. And no silly closed AI
       | somethingsomething integration.
        
       | Emigre_ wrote:
       | I'm excited about the fact that this is written in Zig. I'm a
       | Kitty user at the moment, but if this delivers I'll change to
       | Ghostty.
        
       | christophilus wrote:
       | I use Foot as my terminal and Niri as my WM. It's a great combo.
       | Niri handles splits for me, and I don't need tabs. I also turn
       | off all window decorations, so my terminal content gets 100% of
       | the terminal's screen real estate-- so I don't need a native UI.
       | All that said, it looks like Ghosty can be configured to match
       | this setup, so I'll give it a try. I just wanted to mention Foot
       | to anyone who is running Linux. Foot is a simple, focused
       | project.
        
         | conaclos wrote:
         | I am a happy foot user and I am considering switching from Sway
         | to Niri. What has been your experience with Niri? One thing
         | that concerns me about Niri is that it is not wlroots based.
         | This means that many tools I accustomed to don't work with
         | Niri. Do you have some dedicated tools for screen sharing,
         | screen recording, screen printing, multi-monitor management,
         | ...?
        
           | christophilus wrote:
           | I absolutely love Niri. It has a built-in screen capture
           | which is good enough for me. Screensharing works fine from
           | Firefox (which is where I do all of my video conferencing). I
           | stopped using multiple screens a long time ago, but I do
           | occasionally hook my laptop up to my TV, and that works out
           | of the box. Though, for stuff like that, I might log into to
           | a Gnome + PaperWM session simply because I don't remember how
           | to fiddle with things, and I'm not generally trying to
           | optimize for my workflow when I'm giving a live talk or
           | watching TV.
        
         | ramon156 wrote:
         | Is it weird that I never considered foot because of the name?
         | At least when you say "alacritty" i understand that it's a
         | terminal. When I tell someone I use "foot"... I don't know, it
         | doesn't give a good feeling.
        
           | globular-toast wrote:
           | What about when you tell someone you "cat" a file or use
           | "sudo"? Who cares what normies think?
        
         | aleden wrote:
         | What I like about foot is the heuristics governing text
         | selection with the mouse. I find that more often than not, if I
         | double click with the mouse on some text, what it ends up
         | selecting is just the part I need.
        
           | opan wrote:
           | I actually have to fight this feature a lot, but I appreciate
           | what it's trying to do. For me the issue is I'm often trying
           | to triple click to select full IRC lines and it keeps only
           | selecting parts of the line because the person had put some
           | quotes in part of what they said, and the selection "smartly"
           | will only select the area between two quotes, even if those
           | quotes were the ending of a pair on the left and start of a
           | pair on the right, aka not even truly quoted text is being
           | selected, but all the un-quoted text between two pairs of
           | quoted text. The solution is to click a different spot,
           | usually the timestamp is the safest, but I find I naturally
           | drift toward the far right side of the terminal for selecting
           | lines, or sometimes somewhere in the middle.
        
       | diimdeep wrote:
       | Nice addition.
       | 
       | Slightly more CPU heavy than Kitty.
       | 
       | in MacOS yabai tiling manager has problems dealing with native
       | tabs, that's gonna annoy me like with Finder.
       | 
       | also in MacOS try pressing "Cmd + Shift + \", also works in
       | Finder, it's there, it's cool, but I never use it.
        
         | rererereferred wrote:
         | That's neat but how do I select a panel afterwards? Arrow keys
         | do nothing and hjkl start a search.
        
           | crabique wrote:
           | On my system it's ctrl+tab to cycle through tabs, then escape
           | to open the one that is currently highlighted.
        
       | rauanm wrote:
       | I tried to install and play around with it, it's really nice.
       | 
       | Took a bit of tinkering to set a theme and my favourite Pragmata
       | Pro, but what ultimately annoys me is the lack of 'turnkey'
       | selecting for text.
       | 
       | When I run `Cmd + A`, I want my terminal to make a full text
       | selection of an entered command, not of the screen content. Or
       | when I run `Option + Shift + Arrow left/right`, I want to select
       | words from an entered command, not to type '4D;4C;4D;4C'.
       | 
       | I'm not a vimer or emacser, I want to have normal macos
       | experience. For this reason alone I thought it's too early to
       | switch and Warp is still great for me.
        
         | rauanm wrote:
         | But `ghostty +list-themes` is damn impressive.
        
         | vrnvu wrote:
         | Cmd+A to select the entered command isn't standard.
         | 
         | You could try:
         | 
         | - Ctrl+A: Move to the beginning of the line.
         | 
         | - Ctrl+E: Move to the end of the line.
         | 
         | - Ctrl+K: Cut the command from the cursor position to the end.
         | 
         | - Ctrl+U: Cut the command from the cursor to the beginning of
         | the line.
         | 
         | - Ctrl+Y: Paste the text back.
         | 
         | This should work in all terminals.
        
           | metaltyphoon wrote:
           | Ctrl+W: delete last word
        
         | eviks wrote:
         | Good ideas (and possible in Wezterm if shell marks the semantic
         | zones, not sure whether possible if not), though not really a
         | normal macos experience given mac's default terminal doesn't
         | select of an entered command on Cmd+A
        
       | jFriedensreich wrote:
       | Am I the only person wondering why we need 100 terminal emulators
       | when there are only 2 or 3 solutions to using command line tools
       | more like a REPL? (to some degree warp, some bash support in
       | hydrogen, advanced edit mode of powershell) I don't care for
       | using "fancy" TUIs all i want is better tooling to interact with
       | these that does not feel like 1970 and more like the chrome
       | console.
        
         | __float wrote:
         | > I saw tradeoffs that I didn't like. I saw features that I
         | wanted. I saw performance that I could improve. I saw
         | stagnation. There are many fantastic terminals out there and
         | you should use them if they work for you. But I wanted
         | something different and thought maybe others did too.
         | 
         | This motivation is pretty clearly stated in the article.
         | 
         | Some people use "fancy TUIs" (the famous editors vim and emacs
         | surely count) and if you don't, feel free to ignore this new
         | option.
        
           | CarlitosHighway wrote:
           | Unfortunately, launching a fancy TUI like lazydocker inside a
           | fresh install of Ghostty will make the TUI exit with an
           | error, when the same TUI runs just fine on iTerm, alacritty,
           | etc.
        
       | styfle wrote:
       | Congratulations!
       | 
       | I was hoping 1.0 would mean CMD+F search would work, but looks
       | like that was pushed back to a later release unfortunately.
       | 
       | https://github.com/ghostty-org/ghostty/issues/189#issuecomme...
        
       | rharb wrote:
       | Congratulations on making it to the launch!
       | 
       | I really appreciate the levelheadedness of your responses
       | regarding Ghostty, and how clear you are to be speaking
       | positively for your thing instead of negatively about anyone
       | else's.
       | 
       | Going to build it at lunch today and give it a shot :)
        
       | linsomniac wrote:
       | Does Ghostty support TiteInhibit? The docs say "if xterm does
       | something we should do it", but I don't see any mention of
       | "tite".
        
       | rplnt wrote:
       | Is there a way to restore session (windows, tabs, paths) after
       | (application) start? How is this not default everywhere is beyond
       | me (looking at Firefox).
       | 
       | But my main point here would be that the lack of explorable
       | configuration, and the docs not having any search, make it quite
       | challenging search for this.
        
       | artooro wrote:
       | This happens to be exactly what I was looking for in a Terminal
       | app. Native UI, fast, and native screen splitting, doesn't try to
       | do too much. Five stars
        
       | Gormo wrote:
       | Looks interesting. I'm playing around with it on Linux (with
       | Xfce), but can't figure out how to get rid of the CSD header bar
       | / hamburger menu and use a normal menu bar instead. I see Mac
       | screenshots with a normal Mac-style menu bar, but I don't see how
       | to enable the equivalent on Linux. The `window-theme` and
       | `window-decoration` options do not seem to do anything.
        
         | tux1968 wrote:
         | They should work if you exit and restart ghostty.
        
           | Gormo wrote:
           | Thanks, that worked. Apparently, the reload-config hotkey
           | doesn't always work for certain changes. In this case,
           | setting `gtk-titlebar = false` disabled the header bar --
           | only issue now is that there is no menu bar at all!
        
       | pilgrim0 wrote:
       | I would love to try but it doesn't support Monterey
        
       | rplnt wrote:
       | > Split Right | Split Down
       | 
       | Thanks for this. After 7 years of using iterm2 I still don't know
       | what will happen with the ambiguous "Split Horizontally | Split
       | Vertically". I know the issue is I'm thinking about it and should
       | just learn it, but it would be more helpful if it was named
       | "Split A | Split B".
       | 
       | (might be a non-native language problem)
        
         | robertlutece wrote:
         | I think it ambiguous. vim has vsplit ("Like |:split|, but split
         | vertically.") that is "split right", however, wezterm has
         | "Split Vertically (Top/Bottom). Split the current pane
         | vertically into two panes, by spawning the default program into
         | the bottom half"
        
         | dcre wrote:
         | I'm a native English speaker and I also have trouble with this.
         | When the panes are arranged horizontally, the line dividing
         | them is vertical.
        
       | stainablesteel wrote:
       | looks really cool! i'm gonna play with it, thanks for this
       | awesome project
        
       | quantonganh wrote:
       | You mentioned that Ghostty gets around 500 FPS, but I tested it
       | myself and only got 160 FPS on M1 Pro (WezTerm gets 400 FPS).
       | What can be the reason?
        
       | dabdab44 wrote:
       | text is missing left padding on macOS otherwise nice
        
         | poetril wrote:
         | There is a config setting for this "window-padding-x" I
         | believe.
        
       | xtat wrote:
       | My takeaway is that it's mostly useful for apple stuff-- why
       | would "platform native" matter on Linux?
        
         | ur-whale wrote:
         | You should try it.
         | 
         | I'm on Linux, and first impression is ghostty is really good.
         | Speed in particular is impressive.
        
       | aleden wrote:
       | I went to ghostty.org and spent a long time staring at that
       | animated ghost, and thought of clippy. Except this guy seems to
       | have wider range of emotions.
       | 
       | Anyways, I eventually learned this was about a terminal emulator
       | (which is awesome), but the ghost on the front page really
       | inspired my imagination. I think it would be a good thing to have
       | some kind of companion like that, when it's me, by myself,
       | constantly surrounded by terminals all day. Is the choice of
       | having the ghost be rendered in a text-mode terminal important? I
       | think it is for me.
        
       | codedokode wrote:
       | I have a traumatic experience with GPU-based GUI. Long time ago I
       | tried to run Ubuntu in a VM, and they switched to GPU-based
       | rendering. But as VM doesn't have a GPU, the system fell back to
       | something called "llvmpipe". The result was that the widgets
       | reacted approximately with 30 second lag to every action.
       | 
       | So what I am asking, if you are making a GPU-based rendering
       | toolkit, please write also SIMD software fallback _without_
       | shaders. Remember how fast Windows 95 was and make it a little
       | bit faster.
        
         | pvillano wrote:
         | I am asking this in good faith
         | 
         | Why would you not ssh?
        
           | codedokode wrote:
           | Because I wanted to see how a new Ubuntu looked. Not to do
           | something useful.
        
           | codedokode wrote:
           | Also to SSH into a VM you need to setup a second network card
           | and to do this you need at least log into a text console.
        
       | yourapostasy wrote:
       | Neat, this [1] looks like the project uses vttest [2] to test DEC
       | VT terminal compatibility?
       | 
       | [1] https://github.com/ghostty-org/ghostty/blob/main/TODO.md
       | 
       | [2] https://invisible-island.net/vttest/
        
       | CSDude wrote:
       | I wanted something as fast as Alacritty that had native tabs,
       | could divide horizontal/vertical without tmux. And this seems
       | like it!
        
       | lopkeny12ko wrote:
       | To be honest, I don't "get" ghostty. I am not really seeing how
       | this is so much better than the GNOME terminal that ships with my
       | Linux distro.
       | 
       | A lot of people are claiming that ghostty is "faster." I watched
       | the lightning talk where the author claims that catting files and
       | binaries is faster.
       | 
       | I tried this against ghostty itself after building with zig build
       | -Doptimize=ReleaseFast, using: time cat ghostty.
       | 
       | In GNOME terminal, it took 3.340s. In ghostty, it took 16.947s. I
       | must be doing something wrong?
        
         | matrixhelix wrote:
         | The cool part is that you don't have to "get" Ghostty, you can
         | continue using whatever you prefer
        
       | thornewolf wrote:
       | i use the base mac/Windows terminals and have never had any
       | issues. what are the main things that draw people to
       | alternatives?
        
         | ur-whale wrote:
         | > what are the main things that draw people to alternatives?
         | 
         | Speed.
        
       | ur-whale wrote:
       | Real nice so far.
       | 
       | The fact it does its own window decoration is a bit of a turn-
       | off, but:
       | 
       | A quick test of speed against wezterm and gnome-terminal show
       | ghostty (on my laptop) to be around 3 times faster than both of
       | the other.
       | 
       | Will definitely try it for a couple of weeks.
        
       | geodel wrote:
       | I wonder if there is any equivalent of 'iterm2 broadcast input'
       | in ghostty. I use this pattern to deploy same application on
       | multiple servers or checking logs on multiple servers for same
       | service.
        
       | vinhnx wrote:
       | Everything about it is so polished, it's hard to believe it's
       | just a v1.0.0 release!
       | 
       | The only thing I'm eagerly waiting for now is the implementation
       | of search [1], but otherwise, it's absolutely stellar.!
       | 
       | I set Ghostty as my default terminal emulator now.
       | 
       | [1] https://github.com/ghostty-org/ghostty/issues/189
        
       | aizk wrote:
       | Wow, I had no idea ghostty was this much of a big deal. Really
       | cool!
        
       | brundolf wrote:
       | What's the elevator pitch vs other terminals?
        
       | CarlitosHighway wrote:
       | Love this in theory but the first time user experience could be
       | improved:
       | 
       | $ brew install ghostty
       | 
       | Launch it, don't configure anything, in the new terminal window
       | then enter:
       | 
       | $ lazydocker
       | 
       | Response: 2024/12/28 09:04:42 An error occurred! Please create an
       | issue at https://github.com/jesseduffield/lazydocker/issues
       | 
       | *exec.ExitError exit status 1
       | /home/runner/work/lazydocker/lazydocker/main.go:96 (0x9397d7) /op
       | t/hostedtoolcache/go/1.21.13/x64/src/runtime/internal/atomic/type
       | s.go:194 (0x43bc1b)
       | /opt/hostedtoolcache/go/1.21.13/x64/src/runtime/asm_amd64.s:1650
       | (0x46b9e1)
       | 
       | Which does not happen with fresh out of the box Mac Terminals,
       | iTerm.
       | 
       | Probably it would be good to have less specific default options
       | for people who just want to try it out before starting to
       | configure it.
        
         | adamdecaf wrote:
         | That's a problem with lazydocker, not ghostty.
         | 
         | Maybe contribute to
         | https://github.com/jesseduffield/lazydocker/issues/610 ?
        
       | graynk wrote:
       | Looks pretty cool! Unfortunately I can't use it yet, as I am on a
       | Ubuntu-based distro (Pop! OS 22.04), so my GTK version is not
       | high enough. I imaging that's the case for a lot of people who
       | stick to LTS versions. I may check it out on my Mac for work
       | though
        
       | bpev wrote:
       | So i've basically been a terminal.app purist, but downloaded
       | ghostty on a whim because of all the excitement...
       | 
       | I did not realize it would be THAT much faster. I guess I should
       | have started using better terminals earlier
        
       | lgxz wrote:
       | There are MANY problems with the default configuration. For
       | example, the UP/DOWN key doesn't work, the TERM is xterm-
       | ghostly...
        
       | mike31fr wrote:
       | Many people here seem impressed about speed/performance. I have
       | been using all sorts of terminals / emulators over the past 20
       | years and it never occurred to me a terminal can be slow. When I
       | type a command, I just get the result instantaneously, for any
       | terminal. What are the use cases that can make a terminal be
       | slow?
        
         | danhau wrote:
         | I don't get it either. The only use case I can see is for
         | programs that output basically a video feed in text form.
         | 
         | A commenter in this thread mentioned sifting through log /
         | debug output... but why wouldn't you pipe it to a file instead?
        
         | itsn0tm3 wrote:
         | I think this mostly plays a role when using modal text editors
         | like vim in your terminal. Speed matters so very much then!
         | Give it a try if you want ;)
        
           | mike31fr wrote:
           | Have you ever experienced vim being slow? If so, would you
           | know how I could reproduce this?
        
       | anaumann wrote:
       | Took me only ten minutes to tweak the config to my liking and
       | recreate my color scheme from iterm.
       | 
       | I've been using Ghostty for a day now and it simply works.
       | Smooth, seamless and perfectly integrated to the point where this
       | should just be the default terminal in macOS.
       | 
       | P.S.: If you want to port your iterm color scheme, set:
       | 
       | window-colorspace = display-p3
       | 
       | for the colors to match.
       | 
       | (And bold-is-bright = true if you set this option in iterm)
        
       | denolfe wrote:
       | I took this for a spin today. Coming from a long-time iTerm2
       | user, the first thing I noticed was how snappy everything feels,
       | especially when resizing the window. The straight-forward
       | configuration was extremely nice as well and can be stored in my
       | dotfiles now (iTerm was a giant dump of XML).
       | 
       | A few things that keep me from switching to it full time:
       | 
       | - Missing search scrollback (cmd+f). This appears to be coming
       | soon: https://github.com/ghostty-org/ghostty/issues/189
       | 
       | - More of a nitpick than anything, but the only way to disable
       | cursor blinking is to disable shell integration. Unfortunately,
       | this means taking away things like native scrolling and likely
       | some other things I don't know about. I see there is a discussion
       | here to possibly address this: https://github.com/ghostty-
       | org/ghostty/discussions/2812
       | 
       | I feel like this would be a no-brainer switch for me once the
       | above are addressed.
        
       ___________________________________________________________________
       (page generated 2024-12-28 23:02 UTC)