Terminal colours are tricky
(jvns.ca)
from kirk781@discuss.tchncs.de to technology@lemmy.world on 18 Jan 2025 14:17
https://discuss.tchncs.de/post/28801523
from kirk781@discuss.tchncs.de to technology@lemmy.world on 18 Jan 2025 14:17
https://discuss.tchncs.de/post/28801523
threaded - newest
Not to mention that the article author apparently likes dark-on-light coloration (“light mode”), whereas I like light-on-dark (“dark mode”).
Traditionally, most computers were light-on-dark. I think it was the Mac that really shifted things to dark-on-light:
<img alt="" src="https://lemmy.today/pictrs/image/b0511463-093b-4d5d-8576-fc80f8b13dcb.png">
My understanding from past reading was that that change was made because of the observation that at the time, people were generally working with computer representations of paper documents. For ink economy reasons, paper documents were normally dark-on-light. Ink costs something, so normally you’d rather put ink on 5% of the page rather than 95% of the page. If you had a computer showing a light-on-dark image of a document that would be subsequently printed and be dark-on-light on paper, that’d really break the WYSIWYG paradigm emerging at the time. So word processors and the like drove that decision to move to dark-on-light:
<img alt="" src="https://lemmy.today/pictrs/image/ddc6ec2e-ea54-442b-8607-cb6e4c824bd9.png">
Prior to that, a word processor might have looked something like this (WordPerfect for DOS):
<img alt="" src="https://lemmy.today/pictrs/image/65d268bb-6371-41a2-90ef-adbdb2f5d5da.png">
Technically, I suppose it wasn’t the Mac where that “dark-on-light-following-paper” convention originated, just where it was popularized. The Apple IIgs had some kind of optional graphical environment that looked like a proto-Mac environment, though I rarely saw it used:
<img alt="" src="https://lemmy.today/pictrs/image/1d88a2d5-5e6f-4651-9a03-e719cd1babbd.png">
Update: apparently that wasn’t actually released until after the Mac. This says that that graphical desktop was released in 1985, while the original 128K Mac came out in 1984. So it’s really a dead-end side branch offshoot, rather than a predecessor.
The Mac derived from the Lisa at Apple (which never became very widespread):
<img alt="" src="https://lemmy.today/pictrs/image/62b1fe51-c211-45a3-8358-7e32dc7c21dc.jpeg">
And that derived from the Xerox Alto:
<img alt="" src="https://lemmy.today/pictrs/image/8de1981f-1570-4f1b-9f6c-6b818a56375e.png">
But for practical purposes, I think that it’s reasonably fair to say that the Mac was really what spread dark-on-light. Then Windows picked up the convention, and it was really firmly entrenched:
<img alt="" src="https://lemmy.today/pictrs/image/20518aca-856c-418b-bcee-d6dbc8f6ef3a.png">
Prior to that, MS-DOS was normally light-on-dark (with the basic command line environment being white-on-black, though with some apps following a convention of light on blue):
<img alt="" src="https://lemmy.today/pictrs/image/028fb574-44ae-4cbf-a63f-be6d773c7e4e.jpeg">
<img alt="" src="https://lemmy.today/pictrs/image/75313441-fc71-4475-b743-3860ddaafb10.jpeg">
Apple ProDOS, widely used on Apple computers prior to the Mac, was light-on-dark:
<img alt="" src="https://lemmy.today/pictrs/image/bcd8a9af-8814-47d9-9d14-6c4c1818af31.png">
The same was true of other early text-based PC environments, like the Commodore 64:
<img alt="" src="https://lemmy.today/pictrs/image/b2a1917a-06ad-4b82-9dfd-68253fce0503.jpeg">
Or the TRS-80:
<img alt="1000009146" src="https://lemmy.today/pictrs/image/82c51867-1027-49aa-8d9f-b48204d6de09.jpeg">
When I used VAX/VMS, it was normally off a VT terminal that would have been light-on-dark, normally green, amber, or white on black, depending upon the terminal:
<img alt="" src="https://lemmy.today/pictrs/image/89f562ab-a6b9-4a6e-aab9-c3d448d4be95.jpeg">
And as far as I can recall, terminals for Unix were light-on-dark.
If you go all the way back before video terminals to teleprinters, those were putting their output directly on paper, so the ink issue comes up again, and they were dark-on-light:
<img alt="" src="https://lemmy.today/pictrs/image/d6104e25-15f9-4107-a1f6-dc4e295b1205.jpeg">
But I think that there’s a pretty good argument that, absent ink economy constraints, the historical preference has been to use lig
It should be pointed out that modern LCDs use local dimming zones to only light up certain parts of the display, although that only really helps if large swaths of the image are solid black. LCDs have come a long way from the old days when they were side or backlit by CCFLs. So even LCDs might draw slightly less power for light-on-dark, although you’d probably get even more benefit by just turning down the displays brightness regardless of the color scheme.
Wow that was quite an encyclopedic post. Thank you for the good read!
Superb comment. Well done! Very enjoyable to read and posit about.
It was due to neccesity too that light on dark was used in CLI environments, due to the way CRT work, not because it’s superior or whatever. It could even be argued that the blue background of some tools was the equivalent of a light mode.
No, you can run dark-on-light material on CRTs just fine. Literally all of the screenshots I have in the above post with dark-on-light are of computer systems that were sold with CRTs. The transition to LCDs didn’t come until something like twenty years after the transition from light-on-dark.
I thought more of earlier models and then usus. Ok, maybe not 100% neccessity.
Btw, does tty have a background-/color option?
I’m not sure what you mean by “tty”.
Televisions or computer displays? They didn’t (well, normally, probably some television out there that can do it) – if you plug an Apple II into a television or a display, it’s just gonna be light-on-dark.
Hardware dumb terminals, like VT100s? I’ve never seen one configured that way, but it might be possible that some supported running in light-on-dark mode. There are escape codes that will throw the terminal into showing reverse mode, and that was used for stuff like highlighting text, but I don’t know if there was an option invisible to the remote end to reverse colors. Like, you could set some of the default terminal modes at boot, stuff like terminal speed and such, but I don’t know if there’s a persistent flag that would always override what the remote end was using.
kagis
vt100.net/docs/vt510-rm/DECSCNM.html
vt100.net/docs/vt100-ug/chapter3.html
So on the VT100, there was a flag you could set that would be saved in nonvolatile memory that would persist across terminal boots, but it also could be flipped by the remote end, wasn’t invisible to it. If you used escape sequences that fiddled with the color mode, I’m not sure if it’d retain that.
Virtual terminal programs?
xterm
has-rv
/+rv
, which flips the foreground/background color, and pretty much all virtual terminal programs have some way to configure the 8/16 ANSI colors they use. If you’re talking changing how they interpret 8-bit color codes or 24-bit color codes, I don’t believe that I’ve typically seen some sort of mapping system in virtual terminal software – like, normally one configures software emitting those color codes on a per-program basis; normally, software that uses one of those will also have configurable color options. Like, Cataclysm: Dark Days Ahead, which uses IIRC 8-bit color, has a default set of colors, a set of alternate themes, and can be configured on a per-color basis. Ditto for emacs. Most console software uses the ANSI colormap, so remapping that in virtual terminal software handles most cases. Use of either 8-bit or 24-bit color by console software is fairly rare, so that’s tolerable today, though I imagine that if use becomes really common, that maybe virtual terminal software will try to add some sort of high-level mapping of colors.My bad, i meant getty, the initial terminal service.