6 ms·
How many colors are too many colors for Windows Terminal?
- throwawayboise 4y agoSounds like choosing the wrong environment for the application. A console terminal is for displaying console text. It needs 8, maybe 16 distinct colors. Some might argue it doesn't need colors at all.
- ravi-delia 4y agoEh, a true color terminal is significantly prettier with pretty minimal cost. It feels more readable too, but I won't pretend that's the main reason. Why stare at something ugly when you really don't have to?
- djbusby 4y agoToo right. I wanna see my ugly code on a beautiful display.
- Ansil849 4y ago> Some might argue it doesn't need colors at all. Some might argue it doesn't need letters either.
- AnIdiotOnTheNet 4y agoOne wonders why we still find it so important, in 2022, to emulate 1970s hardware in the first place. However, if we're going to insist on tradition hildinng back computing interfaces then we may as well add simple things like 32 bit color.
- notafraudster 4y agoSo, I want to share a use case. I use a Mac and iTerm. iTerm comes with a nonstandard terminal extension called `imgcat` that allows you to output images, including over SSH. My understanding is basically that it works by passing some special control characters to iTerm itself, who then render an image accordingly. Clearly this is well outside the bounds of what a normal terminal does. I have a project that involves maintaining an image database of about 15,000 images. The images come from one of three canonical sources, or they can be gathered manually and added. Over time, more data points get added (typically every few years a new batch of a few hundred are added), and manually added images are replaced with canonical images, and canonical images upgrade in quality. I wrote a command line tool that basically allows me to monitor missing images, available upgrades, sources for each image I have, etc. So, I run my tool, and it says, say, "there is a canonical version of image 12714 available, do you want to replace the current version?". Typically it's going to download both versions, and I'm going to proceed by imgcatting both versions and making a judgment call. This is happening on a remote server than isn't running a windowing system. I make a decision there and it's solved quickly. Absent imgcat, the workflow is that I maintain a full copy of the database on my local machine, rsync the image directories, use a window manager to open a file explorer and preview both versions of the image, make a judgment call, and then return to the same terminal environment where I tell the same command line application which version to keep. Repeat several hundred times. This doesn't seem like a better workflow to me. So I guess my question is how do I benefit from my terminal emulator not being able to display images, based on the design I've just told you?
- svnpenn 4y agoI really wish Microsoft would stop wasting time on pointless stuff like this. Windows Terminal was sorely needed, but it's now (and has been for 1-2 years) good enough for daily use, and much better than Console Host. What Microsoft really needs to focus on is PowerShell. PowerShell can't even do basic stuff like piping right, something Bash has been able to do since the 90s: https://github.com/PowerShell/PowerShell/issues/1908 https://github.com/PowerShell/PowerShell/issues/1908
- opan 4y agoI doubt the same people are working on each or that work on WT reduces work done on Powershell.
- sharken 4y agoOptimizing graphics output in WT requires different skills than doing piping in PowerShell. But i agree that it's almost embarrassingly bad, that native piping has had no significant progress since 2016. With PowerShell Core (7.x) now in a good state, one would think the piping could be improved. Do note that it is targeted for PowerShell 7.3 tentatively, so it won't be used by default in Windows 10/11 or Windows Server.
- csdvrx 4y agoI find the comments here a bit sad: some say it's "pointless stuff" and Microsoft should now stop working on WT as it's "good enough", others say "8, maybe 16 distinct colors" are all that's needed. I just can't agree with that: I want 24 bit colors in my terminal, I want images, I want alpha blending, I want fonts with advanced attributes... Fortunately, there are a few other people like me. We treasure Windows Terminal (and Foot on Wayland) as in 2022 it is one of the rare terminals that is still evolving and adding features. Pull requests like this one (#11623) and the work that went behind it (exploring the LUT caching issues) are extremely encouraging: they demonstrate there is still a lot of progress possible, with many low hanging fruits! Personally, I'm eagerly waiting for Sixel support in WT, until then I suggest https://github.com/csdvrx/sixel-tmux https://github.com/csdvrx/sixel-tmux to derasterize sixels and show them even in terminals that don't support sixels. If you find such things interesting, check https://github.com/dankamongmen/notcurses/issues/1223 https://github.com/dankamongmen/notcurses/issues/1223 and the notcurses project: a great introduction is https://www.youtube.com/watch?v=b4lmMADP1lA https://www.youtube.com/watch?v=b4lmMADP1lA
- hamburglar 4y agoI don't know if I need 24 bit colors in my terminal, but I agree that being satisfied with such crappy performance when you go a little above "typical" is pretty lame. Software doesn't need to suck, and I appreciate people who want to make it better for better's sake.
- 13of40 4y agoOne of the reasons the "terminal" (the old console subsystem) stagnated in Windows for so long was that they assigned ownership of it to the same team that owned Explorer (the local one, not IE) and for basically every release up to Windows 8.1 they weren't able to get any budget to improve it. It wasn't until then that people started to realize that the console wasn't just a relic from the past that we would eventually shed, but something that played a serious role in software engineering and IT.
- hamburglar 4y ago
- peter_l_downs 4y agoThe notable update is: > Update May 9, 2022: This article was originally published without giving proper credit where it is due. We would like to thank Joe Wilm of Alacritty for establishing modern GPU terminal rendering, Christian Parpart of Contour for the continued support and advice, and Tom Szilagyi for describing the idea previously. Special thanks to Casey Muratori for suggesting this approach and Mārtiņš Možeiko for providing a reference HLSL shader. I deeply apologize to everyone mentioned. Additionally, a wording mistake was corrected in the previous paragraph. For more background, see https://news.ycombinator.com/item?id=31284419 https://news.ycombinator.com/item?id=31284419 and https://news.ycombinator.com/item?id=31287647 https://news.ycombinator.com/item?id=31287647
- cyber_kinetist 4y agoBTW, the basic idea of keeping a texture atlas that contains a cache of the most used render elements isn't really that novel. It has already been done way before in the past by game engine devs who were trying to create 2D sprite renderers that automatically batch sprite textures to save draw calls (on runtime without any preprocessing step). Some examples I could find: - https://docs.cocos.com/creator/2.4/manual/en/advanced-topics/dynamic-atlas.html https://docs.cocos.com/creator/2.4/manual/en/advanced-topics... - https://github.com/mattdesl/gl-sprite-batch https://github.com/mattdesl/gl-sprite-batch - https://github.com/RandyGaul/cute_headers/blob/master/cute_spritebatch.h https://github.com/RandyGaul/cute_headers/blob/master/cute_s... It's a simple and relatively straightforward approach that a sufficiently bright programmer would come up in their own while looking at the design constraints though, so overall I find it a bit meaningless to find the ultimate person for the "original idea".
- jchw 4y agoIf I’m not mistaking, the reason why it became a sticking point is because the Alacritty dev had suggested it before Windows Terminal ran into this issue, and they were opposed to it at that point. Is it petty? Honestly, I won’t try to judge that.
- aliswe 4y agoHe didn't claim it was anything else than straightforward, though, which is why he got frustrated that the idea was dismissed, afaik: https://twitter.com/cmuratori/status/1523028039705055234?t=x91IgzTwhhONjrz8dwSApg&s=19 https://twitter.com/cmuratori/status/1523028039705055234?t=x...
- porker 4y agoOff topic but why do terminal emulators default to what on my computers are illegible colours? With a black background the blue that's picked for folders doesn't have enough contrast to read. On macOS iTerm at least comes with multiple colour schemes but the default setting is still the impossible to read one.
- colechristensen 4y agoThe colors being set for text are for light backgrounds, I can’t tell you why but this is pretty universal.
- IshKebab 4y agoI agree it's quite annoying. I always redefine the unreadable blue on Mac. It does seem like some platforms (Ubuntu?) have fixed it though based on this table: https://en.wikipedia.org/wiki/ANSI_escape_code#3-bit_and_4-bit https://en.wikipedia.org/wiki/ANSI_escape_code#3-bit_and_4-b...
- cout 4y agoI don't know if this is the reason but historically the default blue on PCs in text mode has been unreadable on a black background. Does windows terminal use the same colors?
- cma 4y agoBy default they mostly don't use black or white, instead using gray approximations, and throwing away monitor contrast and OLED blacks for the background.
- BiteCode_dev 4y agoWindows terminal is the best thing that happened to Windows since WSL and I hoped it's going to be default soon, because I work with clients that are using W10 but still stuck with cmd.exe, and I have to bypass all their security policy to use cmder so that I have a decent working experience.
- nickstinemates 4y agoAlacritty is a very good windows terminal; the default one has left a lot to be desired.
- frameset 4y agoI believe it's the default on Windows 11. At least it was on my installation.
- hnbad 4y agoYeah, it came preinstalled on my Surface laptop.
- mixmastamyk 4y agoIf you can bypass, why not install it?
- celdon25 4y agoThese Terminal performance tuning devs at Microsoft really have a lot of pride. I’ll leave it at that. https://news.ycombinator.com/item?id=31284419 https://news.ycombinator.com/item?id=31284419
- green_biri 4y agoRead the post again, they have given credit where it's due.
- celdon25 4y agoUnderstood, but they still didn’t pass up the opportunity to toot their own horn again.
- ineedasername 4y agoI was critical of them initially, but when faced with that sort of thing a lot of people will dig in & go into complete defensive mode. Whether or not that was their initial reaction it takes some effort-- and they did it-- to step back, evaluate, and correct course. It's a credit to them that they were willing to accept the criticism and fix a mistake. Giving proper credit to community contributors is very important. There are often few perks beyond personal satisfaction for taking the time & effort to help improve projects. Public acknowledgment both validates that effort further and also provides a sort of 3rd party "certification" of it that is a more powerful boost to a Vitae & professional standing than the individual noting accepted pull requests.