Bug 481227 - Improve Dark Theme
Summary: Improve Dark Theme
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: IDE (show other bugs)
Version: 4.8   Edit
Hardware: PC All
: P3 normal (vote)
Target Milestone: 4.8 M2   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 23837 384906 430278 489889 490927 505835 509648 510728 514337
Blocks:
  Show dependency tree
 
Reported: 2015-11-02 05:42 EST by Kaloyan Raev CLA
Modified: 2017-09-08 06:31 EDT (History)
9 users (show)

See Also:


Attachments
Dark Theme on Windows (198.68 KB, image/png)
2015-11-02 05:42 EST, Kaloyan Raev CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kaloyan Raev CLA 2015-11-02 05:42:08 EST
Created attachment 257678 [details]
Dark Theme on Windows

A lot of work was invested in having a Dark Theme in Eclipse, but we are still not quite there. Our company continues to get feedback from customers that they are switching to alternative products because of the disappointing quality of the Dark Theme in Eclipse.

Consider the attached screenshot of the Dark Theme on Windows. We can see some of the major issues:
* Shell (window/dialog frame) is not dark
* Menus are not dark
* Scroll bars are not dark
* Buttons are not dark
* Table headers and grid are not dark
* Checkboxes and radio buttons are light and their label is black (not readable)
* Group label is black (not readable) 
* Editor gutter is not styled for a dark theme

And many other issues that are not visible on the screenshot. In fact, we have different set of issues for each operating system.

So many light artifacts and unreadable labels just ruin the experience of using the dark theme.

Like for the GTK 3 support (Bug 479686) it may make sense to invest for a QT or JavaFX port of SWT.
Comment 1 Alexander Kurtakov CLA 2015-11-12 12:20:32 EST
Investing in QT or JavaFx port would be substantial investment as this have to planned longterm as creating the port is way cheaper than maintaining it with the range of versions of the underlying toolkit being used on all the different platforms.
Fixing Dark theme is subcase of improve theming support and fixing the issues described is not exposed as api for given controls thus not easy to solve without either custom components or mix and match override of certain drawing functions, both having big downsides.
What this could evolve into is enhancing SWT to make use of the platform theming API and all these provide way more sophisticated control over all the UI parts that are problematic to set colors directly (window decorations, scrollers, menues, etc.). Ideally, this should not polute SWT API but have very few entry points e.g. getStyle/setStyle retrieving/receiving CSS string.
I really think this FEEP should evolve into such proposal, maybe it would be better to open new one to start it clear.
Comment 2 Pascal Rapicault CLA 2015-11-18 09:47:56 EST
> Our company continues to get feedback from customers that they are switching to alternative products because of the disappointing quality of the Dark Theme in Eclipse.
   Since your company seems to be mainly impacted by issues in the dark theme, then it should directly fund the development of this. This is also why Eclipse is open source. This is why I'm voting -2
Comment 3 Kaloyan Raev CLA 2015-11-18 10:06:46 EST
(In reply to Pascal Rapicault from comment #2)
>    Since your company seems to be mainly impacted by issues in the dark
> theme, then it should directly fund the development of this. This is also
> why Eclipse is open source. This is why I'm voting -2

Pascal, I believe your comment is due to misunderstanding of the FEEP program [1]. My company may consider a directed donation for fixing this issue as part of the FEEP program. It just too early to discuss about money. First, we need to clarify the potential technical solution and to have some cost estimation.

[1] https://eclipse.org/contribute/dev_program.php
Comment 4 Pascal Rapicault CLA 2015-11-18 10:16:46 EST
> Pascal, I believe your comment is due to misunderstanding of the FEEP
> program [1]. My company may consider a directed donation for fixing this
> issue as part of the FEEP program. It just too early to discuss about money.
> First, we need to clarify the potential technical solution and to have some
> cost estimation.
    I understand the program more than you think :)  My point is that there are many things that annoy many companies in Eclipse, some will wait for the FEEP (which is a long bet), others will directly fund work to get things moving (Ericsson has been the poster child for this on many fronts).

From your description, problems in the dark themes are arming your company's revenues, FEEP does not look like the way to go and causes me some "ethic" issues.
Comment 5 Kaloyan Raev CLA 2015-11-18 11:06:32 EST
There are big companies and small companies. My company is hundreds times smaller than Ericsson and other big corporations. We are total of 4 Eclipse developers working on quite a big product. We do a significant number of code contributions to Eclipse projects. We focus our code contributions on topics with most significant impact on our product. 

The Dark Theme is not our greatest problem, but it is major enough and, I believe, affects not only our product, to bring it up here. So far, we reported bugs, contributed a few fixes, raised a bounty for one... But the progress is too slow. And the topic is too big for our team. We cannot afford dedicating a full time developer on it. But we can invest some money in this, if there is anyone available for fixing the problem, and other companies willing to invest money too (if it turns to be an expensive endeavour).

So, I have some hopes in the FEEP program that it can be the platform for resolving such complex issues in the Eclipse Platform.

I hope this makes sense to you.
Comment 6 Lars Vogel CLA 2015-11-18 11:27:35 EST
Kaloyan, maybe you can suggest more isolated work items for FEEP, like allow Buttoms to be styled under Windows? This might fit better into the FEEP program.
Comment 7 Kaloyan Raev CLA 2015-11-18 11:42:59 EST
Lars, yes, I can do this, if you believe this approach has better chances.
Comment 8 Lars Vogel CLA 2015-11-18 11:58:55 EST
(In reply to Kaloyan Raev from comment #7)
> Lars, yes, I can do this, if you believe this approach has better chances.

I think at least from the implementation side it is more likely that someone can fix a specific issue in the dark theme with a realistic effort. The first time I saw this issue I thought "this issue is unlikely to be put into action as is really hard to fix all issues at once".
Comment 9 Kaloyan Raev CLA 2015-11-18 12:11:55 EST
OK then. I can start opening bugs for the most annoying issues on Windows.

Where should I open the bugs? Here in the Architecture Council component or in Platform UI/SWT and link them to this bug?
Comment 10 Lars Vogel CLA 2015-11-18 12:24:06 EST
(In reply to Kaloyan Raev from comment #9)
> OK then. I can start opening bugs for the most annoying issues on Windows.
> 
> Where should I open the bugs? Here in the Architecture Council component or
> in Platform UI/SWT and link them to this bug?

I very sure we have bugs in Platform UI or SWT for all issues with the dark theme. I suggest to pick the 2 most annoying onces (which can be fixed) and add the FEEP prefix to them. If these get selected for the first round of FEED, we can suggest more. 

If you have problems finding the bugs drop me an email, I think I'm registered to most of them.

FYI, AFAIK SWT API does not allow to style scrollbars, before suggesting a FEEP for this, I suggest to check with the SWT team how and if they would support this.
Comment 11 Alexander Kurtakov CLA 2015-11-18 12:27:33 EST
(In reply to Lars Vogel from comment #10)
> (In reply to Kaloyan Raev from comment #9)
> > OK then. I can start opening bugs for the most annoying issues on Windows.
> > 
> > Where should I open the bugs? Here in the Architecture Council component or
> > in Platform UI/SWT and link them to this bug?
> 
> I very sure we have bugs in Platform UI or SWT for all issues with the dark
> theme. I suggest to pick the 2 most annoying onces (which can be fixed) and
> add the FEEP prefix to them. If these get selected for the first round of
> FEED, we can suggest more. 
> 
> If you have problems finding the bugs drop me an email, I think I'm
> registered to most of them.
> 
> FYI, AFAIK SWT API does not allow to style scrollbars, before suggesting a
> FEEP for this, I suggest to check with the SWT team how and if they would
> support this.

I can't speak for SWT team in general but I already described my feelings in comment 1. There have been some alternative ways proposed in various places (like drawing scrollers in swt itself) but for me this is a total no-go as there is no way this can be done and integrated nicely with platform theming.
Comment 12 Lars Vogel CLA 2015-11-18 12:47:52 EST
Kaloyan, FYI I just noted http://www.codeaffine.com/2015/11/04/clean-sheet-an-ergonomic-eclipse-theme-for-windows-10/ in which Frank is using a custom scrollbar. I did not look into the source but that might be a solution to our ugly scrollbar issue in dark Eclipse.
Comment 13 Thomas Schindl CLA 2015-11-18 17:30:21 EST
[...]

> Like for the GTK 3 support (Bug 479686) it may make sense to invest for a QT
> or JavaFX port of SWT.

For JavaFX this has already been researched and the sources are available in the git-repo of e(fx)clipse https://wiki.eclipse.org/Efxclipse/SWTonFX

For Qt a port has once been done at https://code.google.com/a/eclipselabs.org/p/swtqt/ but because the Java-Qt-Binding (QtJambi) died and by the time had the wrong license (LGPL) this never was released but IIRC it was fairly complete. 

I've also internally for our company investigated a Qt-Java-Binding which is generated from a Xtext-DSL but this stuff is not public domain nor do we proactively share this stuff.

Final note: Qt == the widget toolkit, QT == QuickTime ;-)
Comment 14 Kaloyan Raev CLA 2015-12-02 07:46:03 EST
(In reply to Lars Vogel from comment #10)
> I very sure we have bugs in Platform UI or SWT for all issues with the dark
> theme. I suggest to pick the 2 most annoying onces (which can be fixed) and
> add the FEEP prefix to them. If these get selected for the first round of
> FEED, we can suggest more. 

Together with Lars we identified the top 3 dark theme issues that should be addressed:
- Bug 23837 - Button, do not respect foreground and background color on Windows
- Bug 430278 - Add support for styling Scrollbars
- Bug 384906 - Allow styling of table headers via CSS
Comment 15 Patrik Suzzi CLA 2016-10-01 17:20:22 EDT
I'd say Bug 497562 - [Dark Theme] Improve Dark theme in Eclipse Neon is blocking this. 

The above bug is a collector for more of the bugs to improve the dark background, as of 2016. I'm adding it among dependencies.
Comment 16 Patrik Suzzi CLA 2016-10-11 10:55:12 EDT
Removed 497562 from "Depends on", as that bug is not FEEP.
Comment 17 Lars Vogel CLA 2017-09-08 06:31:15 EDT
Marking as fixed, as all bugs except Bug 491032 are done, and it is not useful to keep an aggregator bug for only one open issue. Also Bug 491032 is not likely be be fixed in the next future.