GNOME Bugzilla – Bug 721932
Use white text on a black background by default
Last modified: 2015-08-16 10:38:47 UTC
Right now the default terminal looks a lot like a notepad, and terminal windows are difficult to differentiate from the windows of other apps. Using white text on a black background would have the following positive effects: * The terminal would look more like a terminal [1, 2, 3]. * It would be easier to differentiate terminal windows, including within the shell overview. * Coloured text is more effective with a dark background (it really doesn't work very well with a white background), and could potentially be used by default. [1] The current black text on white background makes the terminal look like a document. It's not a document - it's an interactive interface. [2] While we don't want to get too pseudomorphic, terminals clearly do have an ancestry, which is what gives them many of their characteristics. Referencing this visually helps to communicate what the terminal app is and how it works. [3] It is instructive that the terminal icon - whose role is to communicate what the app is - uses white text on a black background. I don't think the icon would actually work with black text on white.
The default is black-on-white because we default to using theme colours (as requested by the design team in bug 695079). The default for non-theme colours is green-on-black, which is the Classic Terminal Look™. I'm totally fine with using that. (In reply to comment #0) > * Coloured text is more effective with a dark background (it really doesn't > work very well with a white background), and could potentially be used by > default. Now that point is absurd. Colours work great on white, otherwise books with colours wouldn't be printed on white paper :-)
Created attachment 266861 [details] screenshots - light and dark backgrounds (In reply to comment #1) > The default is black-on-white because we default to using theme colours (as > requested by the design team in bug 695079). I've checked with Jon and he's OK with not using the theme here. One point that Jon raised - which I agreed with - is that the dark theme would be a better fit if we go with a dark background; this way the window chrome and the terminal itself won't compete. This would be a good reason to introduce a setting for which variant of the theme to use. > The default for non-theme colours > is green-on-black, which is the Classic Terminal Look™. I'm totally fine with > using that. I don't think green and black is a good choice for the default. It looks old-fashioned and overly stylised. White on black gives a nod to the terminal's functionality while being also being straightforward. > > * Coloured text is more effective with a dark background (it really doesn't > > work very well with a white background), and could potentially be used by > > default. > > Now that point is absurd. Colours work great on white, otherwise books with > colours wouldn't be printed on white paper :-) The background colour obviously has an impact on which foreground colours can be used, and in what way. If you want to establish contrast with a light background, the colours used must be dark. If you want to have a variety of colours of text, it helps to have a dark background, since you can use bright colours which are easy to distinguish from one another. The attached image compares the use of the Tango palette with a dark and a light background. In the dark background example, the (relatively light) green text is easier to read because it has more definition. In general the coloured text jumps out from the background more effectively.
A specific proposal for 3.12: * Remove the "use colours from system theme" check box - and remove the link between the theme and the background and text colour. * Use white on black by default. * Change white on black to use slightly off-colour shades (to help avoid eye strain): profile-editor.c : { N_("Black on white"), { 0.045, 0.045, 0.045, 1 }, { 0.95, 0.95, 0.95, 1 } * Use the dark theme variant by default.
(In reply to comment #2) > One point that Jon raised - which I agreed with - is that the dark theme would > be a better fit if we go with a dark background; this way the window chrome and > the terminal itself won't compete. This would be a good reason to introduce a > setting for which variant of the theme to use. Recent versions have a setting: org.gnome.terminal.legacy:dark-theme
> too pseudomorphic Did you mean: skeuomorphic Otherwise +1, dark Adwaita terminal looks very nice and the "white terminal looks too much like a document" reasoning is sound.
(In reply to comment #5) > > too pseudomorphic > > Did you mean: skeuomorphic Ha ha ha. Yes. :)
My last discussion with Christian on the matter: <chpe> aday_: I've already said i'm ok with black bg. however, which fg to choose... <chpe> aday: "old-fashined and overly stylised" reads to me as 'I just don't like green-on-black, but I don't really have a good reason for it' :-) <aday_> chpe, part of it is aesthetic, but i wouldn't say it's purely subjective <chpe> however, xterm also defaults to white on black ... <chpe> urxvt also defaults to white on black; can't see what konsole defaults to since there seems to be no way to reset my settings...
Created attachment 269449 [details] [review] schema: Use the dark theme variant by default Looks like someone taught the theme to use white on black with the dark variant. This makes me like mccann's suggestion to keep using the "use colors from system theme".
Created attachment 269549 [details] debarshi's screenshot This looks good to me. Using the system theme works better for the dark theme variant than the light theme, but also means that the default colour scheme will get updated if someone changes the dark/light theme setting.
Created attachment 269563 [details] Screenshot from Continuous
So, this is just a schema change ? Any chance that we could land that for 3.12 ?
I'm not sure this change is right. AFAIK, text readability is *better* with dark text on light background that the inverse. Also, IMO the dark theme setting looks awful, so I'd rather not enable it by default. So if we decided for black background, I'd prefer to uncheck 'use system theme colours' by default, instead.
(In reply to comment #12) There are two issues here. One is whether we should use dark terminals or light ones; the second is whether we should have lower contrast between the foreground and background colours. I do not know whether dark terminals are better than lighter ones, though I do prefer dark terminals. Ubuntu also ships dark terminals. About the second issue ... > Also, IMO the dark theme setting looks awful, so I'd rather not enable it by > default. So if we decided for black background, I'd prefer to uncheck 'use > system theme colours' by default, instead. I am guessing that you do not like the "dark theme setting" with "use system theme colours" because the white on black is slightly off-shade and hence of lower contrast. Let me produce a datapoint from the very popular Solarized palette (that we have recently added to gnome-terminal): http://ethanschoonover.com/solarized#features They claim that lower contrast between the foreground and background colour is better, because higher contrast tends to tire the eye. I agree because I have often found myself reducing the brightness of my display when working for long hours because my eyes tend to get tired otherwise.
Sorry for the slow response. (In reply to comment #12) > I'm not sure this change is right. AFAIK, text readability is *better* with > dark text on light background that the inverse. Readability is dependent on a number of interdependent factors, of which colour is just one. Font and font style, line length and spacing, whether the text moves and the style of highlighting (such as weight, size changes, spacing changes, etc) all play a factor. While dark text on white is often better for traditional documents, that rule doesn't neatly translate to terminals, where you have monospace fonts, moving text, varied line length, text that is highlighted through a wide palette of colours, and so on. Thinking about this more broadly, there are some contexts where it is traditional to use white text on a dark background. Film credits is an obvious example; readability is important here and does not seem to be impaired. We could wrap ourselves up in a neverending debate about readability, but I think that, as far as this bug is concerned, we have some more reliable data points: * Pretty much every other terminal uses white text on a black background by default. * In my experience, most GNOME Terminal users actually switch the colour to white (or some other colour) on a dark background. * As mentioned in the original report, using coloured text for highlighting is more effective with a dark background. I don't think we'd see the first two points if white on black was that much harder to read than white on black. > Also, IMO the dark theme setting looks awful, so I'd rather not enable it by > default. So if we decided for black background, I'd prefer to uncheck 'use > system theme colours' by default, instead. This is the first time I've heard any complaints about the appearance of the dark theme, and I'm not sure why you don't like it. I think it looks great, and works much better when the content of the app is also dark.
FWIW the three developers of vte (ChPe, Egmont, me) all prefer the terminal to be the way it is, ie. like all other apps.
(In reply to comment #5) > > too pseudomorphic > > Did you mean: skeuomorphic > > > Otherwise +1, dark Adwaita terminal looks very nice and the "white terminal > looks too much like a document" reasoning is sound. How is that sound? If one color scheme is better for reading, how is another app different?
Just for reference: This conversation was just revived upon seeing Linus's opinion on "Emo mode" at https://plus.google.com/u/0/+LinusTorvalds/posts/Wh3qTjMMbLC (including his followup comments).
(In reply to comment #16) ... > > Otherwise +1, dark Adwaita terminal looks very nice and the "white terminal > > looks too much like a document" reasoning is sound. > > How is that sound? If one color scheme is better for reading, how is another > app different? I tried to answer that in comment #14, but maybe I didn't do a good job! Terminal text is somewhat different from other apps: it only uses monospace, lines don't tend to wrap (although there are obvious exceptions to that), and - perhaps most importantly - text can be in a variety of colours. In my own experiments, terminal text that has a non-standard color is often difficult to read on a white background, compared with a black one (see https://bug721932.bugzilla-attachments.gnome.org/attachment.cgi?id=266861 ). If dark backgrounds are dramatically more inefficient to read than light ones, I don't think that they would be as popular amongst Terminal users as they are. (In my unscientific surveys, dark backgrounds actually seem more popular than light ones.)
(In reply to comment #18) > Terminal text is somewhat different from other apps: What do you mean "other apps"? Of course, every app is different. Web browsers are somewhat different from other apps. Text editors are somewhat different from other apps. Image editors are somewhat different from other apps. Movie players are somewhat different from other apps... I don't see terminals being even more different than the rest. > it only uses monospace, Gedit also uses monospace by default, yet it's black on white. Sure it's just the default there, but as for the colors, we're also only discussing the defaults. > lines don't tend to wrap (although there are obvious exceptions to that), and - > perhaps most importantly - text can be in a variety of colours. Just as in any word/excel-like app. > In my own experiments, terminal text that has a non-standard color is often > difficult to read on a white background, compared with a black one (see > https://bug721932.bugzilla-attachments.gnome.org/attachment.cgi?id=266861 ). In this particular screenshot, I can read the text on white background more easily. Maybe it's just because I got used to that, who knows. Blue on black seems to be the hardest one for me to read. Plus: with the black background there's a huge context switch for me between reading white text and reading blue+green texts: I can either focus on white text and then I can't see what's written in blue+green, or I concentrate on reading blue+green and then my eyes ignore the white stuff. It takes a good half-ish of a second to switch. I personally don't have this problem with white background: I just look at it and read everything at once. Of course this might be just me. > If dark backgrounds are dramatically more inefficient to read than light ones, > I don't think that they would be as popular amongst Terminal users as they are. > (In my unscientific surveys, dark backgrounds actually seem more popular than > light ones.) I think it's a bit of a chicken-and-egg problem. Traditionally more people used dark background, so some apps have a color scheme that's much better on black background than on white one (especially bright yellow and bright cyan are bad on white background) which causes more people to stick with black background instead of changing their palette or their app's colors.
Thanks Allan. Lets discuss this again then: (In reply to comment #14) > Sorry for the slow response. > > (In reply to comment #12) > > I'm not sure this change is right. AFAIK, text readability is *better* with > > dark text on light background that the inverse. > > Readability is dependent on a number of interdependent factors, of which colour > is just one. Font and font style, line length and spacing, whether the text > moves and the style of highlighting (such as weight, size changes, spacing > changes, etc) all play a factor. Hard to argue with that. > While dark text on white is often better for traditional documents, that rule > doesn't neatly translate to terminals, where you have monospace fonts, moving > text, varied line length, text that is highlighted through a wide palette of > colours, and so on. How about a non-terminal IDE or editor? Same rules apply. That's exactly what Egmont brought up, and I fully agree. For the past ten years the most-used apps on my laptop have been web browser, gnome-terminal, and gedit. They look fairly similar, which makes it easy to context switch between them. > Thinking about this more broadly, there are some contexts where it is > traditional to use white text on a dark background. Film credits is an obvious > example; readability is important here and does not seem to be impaired. That's because of the medium. In a dark theater, light on dark is not as disruptive to the eyes as dark o light is. The sheer light needed to light up the background is disruptive. > We could wrap ourselves up in a neverending debate about readability, but I > think that, as far as this bug is concerned, we have some more reliable data > points: > > * Pretty much every other terminal uses white text on a black background by > default. That's because they all emulate real physical terminals. Which, again, because of the medium, started with black background. > * In my experience, most GNOME Terminal users actually switch the colour to > white (or some other colour) on a dark background. Citation needed. > * As mentioned in the original report, using coloured text for highlighting is > more effective with a dark background. Works just fine for me. Sure, xterm's colors don't work. But in gnome-terminal we have color schemes designed to work very well for white background, and they do. > I don't think we'd see the first two points if white on black was that much > harder to read than white on black. Almost everyone who defends dark background mentions that it's easier to read at nights. I used to be in that camp myself. But then I developed a life. These days, I stare at my monitor mostly during the day. None of us are saying that there are no valid usecases for dark background. We just are arguing that there's no reason to change the default to be, well, non-default.
(In reply to comment #19) > (In reply to comment #18) > > > Terminal text is somewhat different from other apps: > > What do you mean "other apps"? I was primarily referring to traditional document editors. ... > I think it's a bit of a chicken-and-egg problem. Traditionally more people used > dark background, so some apps have a color scheme that's much better on black > background than on white one... I don't agree there. It's a lot harder to have a palette of distinctive colours with a light background, since all the text needs to be dark in order to be easy to read.
(In reply to comment #20) ... > > Thinking about this more broadly, there are some contexts where it is > > traditional to use white text on a dark background. Film credits is an obvious > > example; readability is important here and does not seem to be impaired. > > That's because of the medium. In a dark theater, light on dark is not as > disruptive to the eyes as dark o light is. The sheer light needed to light up > the background is disruptive. I knew I shouldn't have used that example! :) The point I was trying to make is that light text on dark backgrounds isn't all that uncommon. > > * Pretty much every other terminal uses white text on a black background by > > default. > > That's because they all emulate real physical terminals. ... That's not an argument against white on black text though. The fact that other terminal apps use white on black establishes/reinforces a convention, which informs expectation. Sure, you can try and break with that, but then you end up with a terminal app that doesn't look like a terminal, and looks like a document editor instead. > > * In my experience, most GNOME Terminal users actually switch the colour to > > white (or some other colour) on a dark background. > > Citation needed. I said *in my experience* - so no, I don't. > > * As mentioned in the original report, using coloured text for highlighting is > > more effective with a dark background. > > Works just fine for me. Sure, xterm's colors don't work. But in > gnome-terminal we have color schemes designed to work very well for white > background, and they do. I really disagree. The standard palette includes colours that don't have nearly enough contrast with a white background. > > I don't think we'd see the first two points if white on black was that much > > harder to read than white on black. > > Almost everyone who defends dark background mentions that it's easier to read > at nights. ... I didn't say anything to do with that.
Since all gnome-termianl developers are in agreement on this, WONTFIX.
(In reply to comment #22) > That's not an argument against white on black text though. The fact that other > terminal apps use white on black establishes/reinforces a convention, which > informs expectation. Sure, you can try and break with that My first Unix memories are from almost 20 years ago, sitting in front of an X Terminal (!= xterm) connecting to some Sun system, running twm, inside that an xterm, inside that a text editor. I'm quite certain the terminal was black-on-white. Then I used SuSE for some years, its xterm was (probably still is) black-on-yellowish. So white-on-black might be more frequent, black-on-white(ish) is not that uncommon either. > but then you end up > with a terminal app that doesn't look like a terminal, and looks like a > document editor instead. I still don't see your point trying to categorize all applications into these two categories: either a document editor or a terminal emulator. Obviously there are far more than these. I don't see this is as an argument why a terminal emulator should be different. You could just as well say that a spread sheet editor should be white-on-black so that it can't be confused with a word processor which is black-on-white. This would also be totally invalid. And by the way, for me the most typical use of a terminal is running a text editor inside, so it is, after all, a document editor. > I really disagree. The standard palette includes colours that don't have nearly > enough contrast with a white background. Readability depends on a tons of things, like font, surrounding light, monitor's settings etc. I guess you're right that the standard palette set is generally more readable on black background, although the difference is not dramatic (if it was, we wouldn't be arguing :)). Given that both color schemes are pretty frequent, I believe it's the responsibility of app developers and distributions to use colors that look good both on black and on white bg. Let's not forget that g-t, similarly to pretty much any terminal emulator nowadays, supports 256 colors and e.g. Fedora's "ls" makes use of these by default, this extended palette gives you plenty of colors that are easy to read on either background. (Actually g-t even supports 16M true colors but that's rarely used.) If it was about g-t only and nothing else, one fullscreen g-t occupying the whole screen, I'd probably agree with you that black background is a slightly better choice. But it's not about g-t only, it's about the look and consistency of the whole desktop, and in my opinion this outweighs the question of which color scheme would be a little better on its own. We're talking about the default only. Many people just open a terminal to copy-paste a few commands they looked up on the net, and don't particularly care about the colors - to them probably a more consistent desktop look is better to the eyes. Anyone with a strong preference can of course easily change their settings.
(In reply to comment #20) > None of us are saying > that there are no valid usecases for dark background. We just are arguing that > there's no reason to change the default to be, well, non-default. (In reply to comment #24) > Anyone with a strong preference can of course easily change > their settings. And yet, I see this: commit 5f6c514a8840a5d1b87a8c399defee3b5052ec18 Author: Christian Persch <chpe@gnome.org> Date: Thu Jan 8 14:08:43 2015 +0100 prefs: Remove dark theme pref It's more trouble than it's worth. https://bugzilla.gnome.org/show_bug.cgi?id=707206 https://bugzilla.gnome.org/show_bug.cgi?id=742040 https://bugzilla.gnome.org/show_bug.cgi?id=742333 https://bugzilla.gnome.org/show_bug.cgi?id=649358
That's something else. You can simly uncheck 'use theme colours' and change the bg and fg according to your preferences.
In Gentoo we will be following Fedora's example and reverting that commit. Because the contrast between dark-themed terminal background and white tabs and window chrome literally makes my eyes hurt after a while :/
Note that openSUSE is also reverting that commit downstream. To my knowledge, only Fedora chose to make white-on-black the default, though. (Tangentially related: Fedora and openSUSE both carry the transparency restoration patch, as well.)
Again, that commit has nothing to do with this bug.