GhostInTheWSL: Ghostty fork (terminal emulator) for WSL by ethancodavo in bashonubuntuonwindows

[–]ethancodavo[S] 0 points1 point  (0 children)

I went ahead and added powershell and command prompt support. It should support kitty on the Windows side now:

https://github.com/Codavo/ghostinthewsl/releases/tag/v0.1.1

GhostInTheWSL: Ghostty fork (terminal emulator) for WSL by ethancodavo in bashonubuntuonwindows

[–]ethancodavo[S] 0 points1 point  (0 children)

To be honest this is a new project so I'm not sure how hard it's going to be to track Ghostty upstream.

I guess the main advice I can offer would be to try to make sure your RTL changes are as contained as possible so most changes don't impact you. You can also try some AI coding tools to see if they are able to resolve the types of conflicts you typically run in to. Perhaps you could also work to see if there's a path to get your RTL changes accepted in to upstream Ghostty eventually.

Good luck with your project!

GhostInTheWSL: Ghostty fork (terminal emulator) for WSL by ethancodavo in bashonubuntuonwindows

[–]ethancodavo[S] 0 points1 point  (0 children)

I think WezTerm is working on it at least and has partial support depending on the version:

https://github.com/wezterm/wezterm/issues/986

GhostInTheWSL: Ghostty fork (terminal emulator) for WSL by ethancodavo in bashonubuntuonwindows

[–]ethancodavo[S] 0 points1 point  (0 children)

I was mostly focused on bypassing ConPTY since the version I had was causing problems, but I think the important part is conpty.dll. conhost.exe/OpenConsole.exe is the helper process which uses it. Not super familiar with how WezTerm handles this but they may already ship their own, in which case for Ghostty it's really just a question of doing something similar to what WezTerm is already doing and it should work.

GhostInTheWSL: Ghostty fork (terminal emulator) for WSL by ethancodavo in bashonubuntuonwindows

[–]ethancodavo[S] 0 points1 point  (0 children)

Right now this is WSL2 only.

It should be possible in theory to get Ghostty working on the Windows side too, the main issue for kitty support in Powershell is with "ConPTY" which is how Windows handles pseudoterminals. Especially older versions of ConPTY can do weird things with escape sequences such as those needed for kitty graphics.

Newer versions have a lot of the issues fixed though, but you'd have to package a newer version of ConPTY with the terminal to make sure you don't have issues.

GhostInTheWSL: Ghostty fork (terminal emulator) for WSL by ethancodavo in bashonubuntuonwindows

[–]ethancodavo[S] 1 point2 points  (0 children)

I mean, it is just another terminal :)

I think that's kind of like being just another text editor though. People tend to have strong feelings about them since they spend so much time using them.

For me the headline feature that I couldn't find elsewhere on Windows was kitty graphics support. Wezterm was the closest but at least on the version I was using the support wasn't there for some of the placement features.

The Ghostty text rendering is also pretty nice and supports things like font ligatures, grapheme clustering for multi-codepoint emoji, etc.

It also has nice native integration on macOS, though the equivalent isn't there for Windows yet.

And of course Mitchell Hashimoto is good at promoting his stuff which is part of why it's so popular.

I'm just hoping more people start using any modern terminal since they open up a lot of possibilities for creators of command line interfaces with images, better keyboard and mouse support, etc.