Hacker News new | past | comments | ask | show | jobs | submit login
Windows Terminal 1.18 Preview – Tab Tear-Out (github.com/microsoft)
5 points by zadjii on May 23, 2023 | hide | past | favorite | 1 comment



This is probably the biggest single change to the Terminal since release. Being able to tear-out tabs required a pretty substantial rewrite of the codebase - one that's been underway for years.

We'd been actually going in a totally different direction with tab-tear out until just late last year. A colleague pointed out that one of the assumptions we had in our design (that you couldn't have multiple XAML islands in the same process on different threads) was actually _wrong_. We could just create all the Terminal HWNDs in the same process. Fortunately, we were able to pivot a lot of the earlier refactoring and quickly whip up a new solution that used a single Terminal process for all hwnds.

This had all sorts of beneficial side effects - like being able to leave the Terminal running in the background, without any windows, so that global hotkeys would work without an open terminal window. Startup perf is a little better for warm windows (when the Terminal is already running), and there's quite a lot less IPC going on. It's just a lot cleaner.

There's a bunch of other big work that went in this release - a huge rewrite of environment variable handling which whould enable hot-reloading of env vars for new tabs. Setting env vars in the settings per-profile. A massive renderer rewrite to make it even faster, enable overhangs, and better scale complex glyphs. A huge amount of startup perf optimizations. A context menu on right-click (as opposed to just pasting).

It's probably my favorite release we've ever had.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: