Hacker News new | past | comments | ask | show | jobs | submit login
The Windows Console gets support for Sixel images (github.com/microsoft)
53 points by zadjii 5 months ago | hide | past | favorite | 37 comments



Congrats to the Windows Terminal team member who went through the process of getting a PhD to implement this.


Worth noting for people who don't use MS tech stack much, this is the new Terminal that you get from the windows store (for free) not cmd.exe

Which anyone who knows how to actually use a terminal should have upgraded to years ago anyway, mind you.


conhost.exe is the terminal, cmd.exe is the shell, this patch is in fact only currently used in conhost


That is _technically_ correct (the best kind). There's some plumbing between conhost and Terminal we need to clean up before we can add it to Terminal too. We've got a branch ready, we've just got to merge a whole stack of PRs first before we can get there.


conhost is in the terminal repo? Huh interesting, that surprises me.


Conhost and Terminal share quite a lot of code in fact. The text buffer, the renderer, the VT sequence parser - all that's the same codebase. That allows bugfixes and improvements to the the Terminal to also flow back to the vintage console (for people who still use that)


Interesting tidbit - thank you for sharing. That's handy for those who prefer the vintage console (including myself).


Terminal is built into newer versions of Windows 11.


They added directly finally? Good to know they hadn't when I got Win 11.


We shipped it (the Terminal) with the first versions of Windows 11. I don't think the "default terminal" feature defaulted to the new Terminal in the first win11 builds, but it should now. And you can always pick whichever terminal you want as the default terminal


Really? I swear when I got my alienware I had to go to the store to install it.

And I just type term when I hit the windows key anyway so default mostly doesn't matter for me, but good to know.


It's nice for me because my workplace turns off access to the Windows Store.


I was about to express my surprise that such a major part of Windows was now open source on Github.


Has been for like, five years now ;)



So this is basically writing to the terminal as if it's a six pin dot matrix printer?

Are Sixel images actually used very often these days? Is support in Windows Console a big deal, or just lots of fun?


> So this is basically writing to the terminal as if it's a six pin dot matrix printer?

Yes, if that dot matrix printer could then also select any color you like. Sixels can do full color images.

> Are Sixel images actually used very often these days?

No, but support and use of them is increasing, not decreasing as one might expect.


There are some fun things you can do with it like terminal image viewing, etc. The notcurses library uses it, some of their demo videos are really neat.


I think it was necroed by a Japanese Twitter addict(@tsutsuii) to display Twitter user icons without X on NetBSD/luna68k, then others started doing all sorts of unholy things with it from w3m with images to terminal-based RDP client.

There aren't a lot of "legitimate" use cases for now, I believe, but it's neat, and IMO an image mode extension for tty kind of makes it whole.



Great! I'm always looking for more places where I can make semigraphics

https://en.wikipedia.org/wiki/Semigraphics

but I've fallen out of the habit because it's a hassle to get them to display right all of the time on the web.

One of my favorite terminals of all times were the DEC ReGIS terminals

https://en.wikipedia.org/wiki/ReGIS

which supported a set of commands similar to the drawing commands in BASIC back in the day but supported more and better colors than home computers at the time and could also freely mix graphics and text. Since the PDP-11 supported BASIC you could write graphical programs in BASIC that would draw on the terminal using the right character sequences.


that's nice, but .. wouldn't it be better to implement kitty graphics directly at this time ? https://sw.kovidgoyal.net/kitty/graphics-protocol/


kitty is a product of a single open-source project, Sixel is a product of DEC with multiple independent implementations. DEC is out of business and there's very little risk of anyone coming out with a new version of VT333/VT340 reference manual, so Windows Terminal/conhost can have its own implementation of Sixel and ensure interoperability with other implementations as it sees fit, as opposed to committing to either chase compatibility with the Kitty project or committing to shipping someone else's code in perpetuity.


Kitty's standard is described for other people to implement both emulators and clients for. Since this relationship already exists, there's enough friction between emulators implementing new features, and clients actually using them (in a backwards-incompatible way), that I believe one can be relatively sure their emulator will support clients well into the future.

Either way, I agree that kitty's protocol should become a versioned standard, but I also don't think that people will be very quick to change it at this point.


I love everything about kitty except the refusal to implement sixel.

Maybe someone has an independent patch that can be applied?


how long until its just X11 with some extra steps :V


There are already a couple of ways to run an X server inside of a sixel–capable terminal: https://www.youtube.com/watch?v=UOTMGdUPYRo


Woo, storming into the 1980s. Is this compatible with my Voodoo 2?


I kind of lament that a format that was invented for dot matrix printers, where switching heads is a costly operation, transfer speeds don't matter since moving the head is a bottleneck, and color accuracy doesn't matter as the technology wasn't there yet, is being revived, as opposed to some of the more modern ideas for doing this... It doesn't make sense in a terminal emulator context at all.


Finally. msys2/mingw terminal (mintty) has had sixel support for many years now. Can't wait to see notcurses running on this.


_looks pointedly at Apple_


You don't actually use Terminal.app do you?


I do, it largely fits my needs - or rather I have not found I need the features in the alternatives.


You realize there are such things as corporate policies, right?


I have a hard time imagining a situation where you'd need Sixel images in a corporate setting.


You’ve never run Gnuplot to examine some data? It is super convenient to run it and see the plot right there inline in your terminal.


Nope. Never had an application like that, although thanks for the example, it makes sense.




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

Search: