Mitchell Hashimoto's banner
Mitchell Hashimoto's profile picture

Mitchell Hashimoto

@mitchellh202,103 subscribers

Creator of Ghostty. 👻 Prev founded @HashiCorp, created Vagrant, Terraform, Vault, and others.

Shorts

Here's the ATC audio clip of my final landing ever. From humble beginnings in a DA40 to ~600 hours in a Vision Jet at 31,000 feet, I love to fly. Due to my growing personal and professional obligations, my final and best ADM decision as a PIC was to stop. This was my toughest landing. The skies were clear. The wind was straight down the runway. It's my home field I've landed at hundreds of times. But I knew it was my last. You can't hear it in the clip but my voice felt shaky. I'm doing my best to focus on a safe landing but I knew that was the last "cleared to land" readback I'd ever give. The landing was smooth. I parked the jet, locked her up, and gave her one last pat on the nose. We had good times. I'm no longer a pilot. Locking in for what's next. 🫡

Here's the ATC audio clip of my final landing ever. From humble beginnings in a DA40 to ~600 hours in a Vision Jet at 31,000 feet, I love to fly. Due to my growing personal and professional obligations, my final and best ADM decision as a PIC was to stop. This was my toughest landing. The skies were clear. The wind was straight down the runway. It's my home field I've landed at hundreds of times. But I knew it was my last. You can't hear it in the clip but my voice felt shaky. I'm doing my best to focus on a safe landing but I knew that was the last "cleared to land" readback I'd ever give. The landing was smooth. I parked the jet, locked her up, and gave her one last pat on the nose. We had good times. I'm no longer a pilot. Locking in for what's next. 🫡

102,026 görüntüleme

Jump to any open terminal by title, working directory, or tab color. A little highlight animation shows the terminal you jumped to so you can find it more easily. Available very soon in nightly macOS builds.

Jump to any open terminal by title, working directory, or tab color. A little highlight animation shows the terminal you jumped to so you can find it more easily. Available very soon in nightly macOS builds.

226,840 görüntüleme

Ghostty on Linux now has native GUI for showing progress bars (as reported by ConEmu's OSC 9;4 code). The style can be customized through GTK CSS (e.g. colors, size, and more). The terminal escape code: Ignore my missing "new tab" icon lol.

Ghostty on Linux now has native GUI for showing progress bars (as reported by ConEmu's OSC 9;4 code). The style can be customized through GTK CSS (e.g. colors, size, and more). The terminal escape code: Ignore my missing "new tab" icon lol.

229,955 görüntüleme

Ghostty on macOS now also has native GUI for showing progress bars reported by OSC 9;4. This is, as far as I know, the first macOS terminal to support this (will be part of Ghostty 1.2, coming soon. Available now in tip releases). Esc sequence and script in quoted post.

Ghostty on macOS now also has native GUI for showing progress bars reported by OSC 9;4. This is, as far as I know, the first macOS terminal to support this (will be part of Ghostty 1.2, coming soon. Available now in tip releases). Esc sequence and script in quoted post.

179,593 görüntüleme

Ghostty on macOS now copies multiple formats into the clipboard. If you paste into rich text apps now, it'll preserve formatting! If you paste plain text, that'll work too. I think Ghostty may be the only macOS terminal other than the built-in to do this. Coming soon to GTK.

Ghostty on macOS now copies multiple formats into the clipboard. If you paste into rich text apps now, it'll preserve formatting! If you paste plain text, that'll work too. I think Ghostty may be the only macOS terminal other than the built-in to do this. Coming soon to GTK.

139,220 görüntüleme

Still a lot of polish to go, but soon update popups will never show up in your demos again Romain Huet or anyone else. 😎

Still a lot of polish to go, but soon update popups will never show up in your demos again Romain Huet or anyone else. 😎

148,567 görüntüleme

The macOS unobtrusive update feature is now shipped to tip releases (aka. OpenAI Demogate). Demo shows a real update! Beyond visuals, also mproved functionality, e.g. tip updates will now link to a GH compare view between your commit and the latest in lieu of release notes.

The macOS unobtrusive update feature is now shipped to tip releases (aka. OpenAI Demogate). Demo shows a real update! Beyond visuals, also mproved functionality, e.g. tip updates will now link to a GH compare view between your commit and the latest in lieu of release notes.

119,127 görüntüleme

Ghostty now has scrollbars for macOS drawn using native macOS GUI widgets of course! Available now in tip releases. GTK will follow very shortly. 50% of Ghostty memes now dead.

Ghostty now has scrollbars for macOS drawn using native macOS GUI widgets of course! Available now in tip releases. GTK will follow very shortly. 50% of Ghostty memes now dead.

108,726 görüntüleme

Ghostty now has a keybinding system powerful enough to enable a "vim mode." This is built by composing multiple Ghostty features together, meaning you can create any modes you want (emacs, tmux, whatever). We'll keep adding more bindings to make these even more powerful! The config:

Ghostty now has a keybinding system powerful enough to enable a "vim mode." This is built by composing multiple Ghostty features together, meaning you can create any modes you want (emacs, tmux, whatever). We'll keep adding more bindings to make these even more powerful! The config:

67,478 görüntüleme

Getting close with this one! Initial merged work will only support moving splits to other split locations, but eventually will support dragging out to new windows and tabs. This isn't merged, there's still polish to do (it is on a pushed branch though). Drag source had to be AppKit (NSDraggingSource) but drop target and all the drop zone overlays I was able to use SwiftUI completely.

Getting close with this one! Initial merged work will only support moving splits to other split locations, but eventually will support dragging out to new windows and tabs. This isn't merged, there's still polish to do (it is on a pushed branch though). Drag source had to be AppKit (NSDraggingSource) but drop target and all the drop zone overlays I was able to use SwiftUI completely.

59,535 görüntüleme

Work in progress, but too excited not to share. The upcoming Ghostty website homepage. Colors are not final. The vibe is final though.

Work in progress, but too excited not to share. The upcoming Ghostty website homepage. Colors are not final. The vibe is final though.

150,276 görüntüleme

Getting closer now. Navigable search results are now in. The last hard problem is done. I'm now starting the macOS GUI for all of this (GTK will follow).

Getting closer now. Navigable search results are now in. The last hard problem is done. I'm now starting the macOS GUI for all of this (GTK will follow).

60,903 görüntüleme

Command palette coming to Ghostty, implemented with native UI of course. macOS initially but GTK will follow and be part of the same tagged release, since there's already a mostly complete open PR. Almost all keybinding actions available, will be able to customize entries too.

Command palette coming to Ghostty, implemented with native UI of course. macOS initially but GTK will follow and be part of the same tagged release, since there's already a mostly complete open PR. Almost all keybinding actions available, will be able to customize entries too.

103,054 görüntüleme

Even with close confirmation I sometimes close my terminal and think "OH FUCK NO." Coming soon to Ghostty, you can undo that. 🥰 (Technical details: we keep the terminal running for a configurable time in the background before terminating for real, similar to email undo send). (macOS only for now, AppKit APIs provide a nice undo manager implementation that eases this quite a bit. I still have to do research on GTK for Linux.)

Even with close confirmation I sometimes close my terminal and think "OH FUCK NO." Coming soon to Ghostty, you can undo that. 🥰 (Technical details: we keep the terminal running for a configurable time in the background before terminating for real, similar to email undo send). (macOS only for now, AppKit APIs provide a nice undo manager implementation that eases this quite a bit. I still have to do research on GTK for Linux.)

87,146 görüntüleme

They said it couldn't be done!* But it's getting close! Search match styling will change, and there is no GUI for this yet. But we now have an end-to-end connection between the renderer, input stack, and search internals. *: Nobody said it couldn't be done.

They said it couldn't be done!* But it's getting close! Search match styling will change, and there is no GUI for this yet. But we now have an end-to-end connection between the renderer, input stack, and search internals. *: Nobody said it couldn't be done.

51,501 görüntüleme

I should start a daily WTF for GitHub. Anyways, here's today's WTF.

I should start a daily WTF for GitHub. Anyways, here's today's WTF.

81,796 görüntüleme

Cursor position and color uniforms are now available to custom shaders in Ghostty, enabling cursor animations (and other effects). Video below is a rough demo of something simple. Can't wait to see what the custom shader community does with this. :) Docs:

Cursor position and color uniforms are now available to custom shaders in Ghostty, enabling cursor animations (and other effects). Video below is a rough demo of something simple. Can't wait to see what the custom shader community does with this. :) Docs:

69,438 görüntüleme

Following up on dragging splits into other split locations and across windows, you can now also drag a split outside any valid windows to pull it out into a new window. It even works with undo/redo.

Following up on dragging splits into other split locations and across windows, you can now also drag a split outside any valid windows to pull it out into a new window. It even works with undo/redo.

35,641 görüntüleme

First major Tahoe PR for Ghostty, first addressing the most visually obvious things: titlebar/tab styling. Everything adapts except `titlebar-style = tabs` looks pretty different. I think it's kind of nice, though! Ignore the bg color glitches, they're just screenshot artifacts. There's definitely some readability issues, and glass doesn't look great when there's nothing actively animating underneath it. Those are both not currently my problem, though, and I hope that Apple addresses them in future betas.

First major Tahoe PR for Ghostty, first addressing the most visually obvious things: titlebar/tab styling. Everything adapts except `titlebar-style = tabs` looks pretty different. I think it's kind of nice, though! Ignore the bg color glitches, they're just screenshot artifacts. There's definitely some readability issues, and glass doesn't look great when there's nothing actively animating underneath it. Those are both not currently my problem, though, and I hope that Apple addresses them in future betas.

60,010 görüntüleme

When Ghostty detects a password input prompt, it now changes the cursor to a lock and on macOS enables the secure input API. When the secure input API is enabled, we show a neat, animated icon that explains what's going on when clicked. Another example of native UI wins (imo). Secure Input is the macOS system API that prevents accessibility APIs from reading your keystrokes, so things like screen recording software and so on can't read your passwords. Other terminals on macOS support secure input. I think only iTerm also supports secure input on password detection. So as a disclaimer, I'm not trying to claim this as a huge innovation, I just think our implementation is nice. 😊

When Ghostty detects a password input prompt, it now changes the cursor to a lock and on macOS enables the secure input API. When the secure input API is enabled, we show a neat, animated icon that explains what's going on when clicked. Another example of native UI wins (imo). Secure Input is the macOS system API that prevents accessibility APIs from reading your keystrokes, so things like screen recording software and so on can't read your passwords. Other terminals on macOS support secure input. I think only iTerm also supports secure input on password detection. So as a disclaimer, I'm not trying to claim this as a huge innovation, I just think our implementation is nice. 😊

81,616 görüntüleme

Videos