After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 721932 - Use white text on a black background by default
Use white text on a black background by default
Status: RESOLVED WONTFIX
Product: gnome-terminal
Classification: Core
Component: general
3.11.x
Other Linux
: Normal normal
: ---
Assigned To: GNOME Terminal Maintainers
GNOME Terminal Maintainers
3.12
Depends on:
Blocks:
 
 
Reported: 2014-01-10 12:22 UTC by Allan Day
Modified: 2015-08-16 10:38 UTC
See Also:
GNOME target: ---
GNOME version: 3.11/3.12


Attachments
screenshots - light and dark backgrounds (1.15 MB, image/png)
2014-01-21 12:54 UTC, Allan Day
  Details
schema: Use the dark theme variant by default (780 bytes, patch)
2014-02-17 18:35 UTC, Debarshi Ray
none Details | Review
debarshi's screenshot (31.29 KB, image/png)
2014-02-18 14:01 UTC, Allan Day
  Details
Screenshot from Continuous (17.84 KB, image/png)
2014-02-18 14:38 UTC, Debarshi Ray
  Details

Description Allan Day 2014-01-10 12:22:04 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.
Comment 1 Christian Persch 2014-01-13 19:21:49 UTC
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 :-)
Comment 2 Allan Day 2014-01-21 12:54:57 UTC
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.
Comment 3 Allan Day 2014-02-11 11:38:28 UTC
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.
Comment 4 Debarshi Ray 2014-02-11 11:41:43 UTC
(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
Comment 5 Tobias Wolf 2014-02-11 17:36:23 UTC
> 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.
Comment 6 Allan Day 2014-02-11 17:38:04 UTC
(In reply to comment #5)
> > too pseudomorphic
> 
> Did you mean: skeuomorphic

Ha ha ha. Yes. :)
Comment 7 Allan Day 2014-02-17 12:55:36 UTC
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...
Comment 8 Debarshi Ray 2014-02-17 18:35:39 UTC
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".
Comment 9 Allan Day 2014-02-18 14:01:10 UTC
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.
Comment 10 Debarshi Ray 2014-02-18 14:38:03 UTC
Created attachment 269563 [details]
Screenshot from Continuous
Comment 11 Matthias Clasen 2014-02-19 15:53:53 UTC
So, this is just a schema change ?

Any chance that we could land that for 3.12 ?
Comment 12 Christian Persch 2014-02-21 19:41:00 UTC
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.
Comment 13 Debarshi Ray 2014-02-22 20:44:15 UTC
(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.
Comment 14 Allan Day 2014-02-28 15:24:35 UTC
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.
Comment 15 Behdad Esfahbod 2015-01-01 21:24:26 UTC
FWIW the three developers of vte (ChPe, Egmont, me) all prefer the terminal to be the way it is, ie. like all other apps.
Comment 16 Behdad Esfahbod 2015-01-01 21:27:04 UTC
(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?
Comment 17 Egmont Koblinger 2015-01-01 22:21:02 UTC
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).
Comment 18 Allan Day 2015-01-02 11:49:10 UTC
(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.)
Comment 19 Egmont Koblinger 2015-01-02 12:16:34 UTC
(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.
Comment 20 Behdad Esfahbod 2015-01-02 19:08:02 UTC
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.
Comment 21 Allan Day 2015-01-07 14:44:21 UTC
(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.
Comment 22 Allan Day 2015-01-07 14:53:46 UTC
(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.
Comment 23 Christian Persch 2015-01-07 18:44:18 UTC
Since all gnome-termianl developers are in agreement on this, WONTFIX.
Comment 24 Egmont Koblinger 2015-01-07 20:08:20 UTC
(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.
Comment 25 Debarshi Ray 2015-01-08 14:11:15 UTC
(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
Comment 26 Christian Persch 2015-01-08 14:36:15 UTC
That's something else. You can simly uncheck 'use theme colours' and change the bg and fg according to your preferences.
Comment 27 Alexandre Rostovtsev 2015-05-25 17:33:47 UTC
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 :/
Comment 28 Michael Catanzaro 2015-05-25 23:46:22 UTC
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.)
Comment 29 Christian Persch 2015-08-16 10:38:47 UTC
Again, that commit has nothing to do with this bug.