|Why is making Eclipse dark so difficult ? [message #1767755]
||Mon, 10 July 2017 16:31
| Nelson Teixeira
Registered: December 2011
And for many years I would like to use a dark theme. Each new version I see people saying things like "dark theme support", "dark theme improved" and stuff like that.
So here's Oxygen. guess what feature I tested first? Dark theme. And as always the result was the same: terrible. Absolutely horrible and full of bugs.
I can list just from a quick look:
-fields and lists with horrible white borders (just check git support, JESUS!)
-icons that clearly were used from white theme with white interiors instead of being redesigned
-all the buttons from interface suddenly appear as white when a dialog opens
-the code context menu flashing in every item when we press down or up arrows
-side menus that sometimes appear white
-flashing columns in the scroll bars
-tabs with white borders
-and many many more
I mean... there's only one word for this: terrible. Seriouly if I would rate it 0 to 10 I'd give it 1.
And Darkest Dark theme doesn't do much better. It's horrible also with lots of bugs. Both are absolutely unusable.
If this is so hard why it's still being developed ? my feeling is that it's much better abandon a dark theme than show this level of results to the public.
Why is this a so hard task to a world class team as Eclipse developers ? Can anyone elaborate on this ? Is there anyway to help ? Where can we find a team or documentation on why this is so hard ?
I included some screenshots where I circled the several errors I saw.
[Updated on: Mon, 10 July 2017 18:55]
Report message to a moderator
|Re: Why is making Eclipse dark so difficult ? [message #1768029 is a reply to message #1767755]
||Thu, 13 July 2017 06:37
| Ed Merks
Registered: July 2009
Here's my opinion. When developing Oomph and making it available, users opened bugs complaining about how certain things looked poor in dark theme, so I started to debug how to fix that (and hence I have direct experience trying to understand that and making it work). My conclusion in the end is that the whole design of theme support seems like a bit of a disaster to me. The fundamental reason (it seems to me), is that SWT itself is designed to provide native support, so it should support all the native themes directly, i.e., if you don't set any colors at all, it should just be the native theme colors). When programming the UI, you can set the color of each SWT thing to be a certain color. There's a layer of abstraction in JFace and such where you can use colors specified in preferences and can change them in the preferences dialogs for those things. So you write code and set colors in what you hope is the appropriate way. Already this gets tricky, because these values don't change based on the native theme. But then there is yet another layer of abstract added on top by e4 (Eclipse 4) to support themes. So a rendering engine comes along and changes the colors you set to match what's defined in a CSS style theme. All kind of cool in principle, but in practice that means the rendering engine is fighting/conflicting/changing the colors you set direct in the SWT. So if you create a derived SWT composite, the engine doesn't know what do do with it, and doesn't set the colors. It's all totally confusing and extremely hard to write something that actually works well with dark theme. And of course as a user, you always end up seeing unlovely things like dark blue on a black background and other awful things that make you cry (even just from the eye strain). My sense was that this design makes it next to impossible for developers developing UI contributions to fix directly...
Powered by FUDForum
. Page generated in 0.08297 seconds