Bug 455892 - [Themes] Suggestions for theme improvements
Summary: [Themes] Suggestions for theme improvements
Status: RESOLVED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.4.1   Edit
Hardware: All All
: P3 major with 2 votes (vote)
Target Milestone: ---   Edit
Assignee: Platform UI Triaged CLA
QA Contact:
URL:
Whiteboard:
Keywords: bugday, helpwanted
Depends on:
Blocks:
 
Reported: 2014-12-21 06:13 EST by Matthew DOnofrio CLA
Modified: 2015-02-12 14:13 EST (History)
6 users (show)

See Also:


Attachments
Default theme example (135.06 KB, image/png)
2014-12-21 06:14 EST, Matthew DOnofrio CLA
no flags Details
Enhanced theme example (124.90 KB, image/png)
2014-12-21 06:14 EST, Matthew DOnofrio CLA
no flags Details
Windows/Linux auto-hide scrollbars proof-of-concept (3.37 MB, application/octet-stream)
2014-12-21 06:15 EST, Matthew DOnofrio CLA
no flags Details
Bright OS-native scrollbars vs dark-themed Eclipse (152.61 KB, image/png)
2014-12-21 07:06 EST, Matthew DOnofrio CLA
no flags Details
Prototype executable used to create the video demonstration (3.85 MB, application/octet-stream)
2015-01-05 13:33 EST, Matthew DOnofrio CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew DOnofrio CLA 2014-12-21 06:13:35 EST
I've been using Eclipse for a while and while it's one thing to submit bug reports and and there about a very specific enhancement to the IDE, it's been a long time coming for me to propose that we take a closer look at the default look-and-feel.

There are many problems I see with the default theme are have been outlined below.

- A massive amount of wasted screen real estate
  * Cannot disable overview ruler
  * File menu does not auto-hide on Windows
  * No option to disable status bar without modifying CSS
  * The radius' added by a curved UI wastes space
  * No option to provide a right-angle interface
  * Split windows in the text editor look atrocious
  * Horizontal scrollbars which are always-on is a sin

- The default icons need an overhaul
  * The default icon set makes my eyes bleed
  * Cannot easily customize or share icons themes
  * View icons are too large and often wrap beneath tabs
  * Interface icons are a mishmash of png and gif; all-png please!
  * Many, MANY icon resources are duplicates (>3,000 duplicates)

- Text editor colors are extremely frustrating to work with
  * Saving, porting, and sharing is frustrating and is not easy to do
  * The text editor, font, and perspective colors are not unified
  * There is no easy way to reuse color themes cross-perspective
  * There is no easy way to reuse color themes cross-workspace

- Some UI bugs should not be over 10 years old..
  * https://bugs.eclipse.org/bugs/show_bug.cgi?id=17805

- Scrollbar functionality needs to be revisited for Windows/Linux
  * Scrollbars do not auto-hide on Linux/Windows
  * Bright, always-on, scrollbars are painful with a dark color theme

- Other nit-pickings
  * The gutter should have a width of 18px to accommodate 16x16 icons 
  * The overview "tab" should have a 1px border on top

I'm sure there are a lot of other things that could use some love but this is all I have for now.

Examples:
http://codespunk.com/files/upload/eclipse_promo_1.png
http://codespunk.com/files/upload/eclipse_promo_2.png

Eclipse IDE w/OSX-Like Scrollbars:
This is a video of a working prototype for the purpose of demonstrating the possibility of hidden scrollbars for the Eclipse IDE on Windows.

In this case, the scrollbars are a custom owner-drawn implementation similar to what you might encounter on OSX; for the added benefit of providing additional screen real estate.

http://codespunk.com/files/upload/eclipse_promo_h264.mkv
Comment 1 Matthew DOnofrio CLA 2014-12-21 06:14:22 EST
Created attachment 249573 [details]
Default theme example
Comment 2 Matthew DOnofrio CLA 2014-12-21 06:14:42 EST
Created attachment 249574 [details]
Enhanced theme example
Comment 3 Matthew DOnofrio CLA 2014-12-21 06:15:26 EST
Created attachment 249575 [details]
Windows/Linux auto-hide scrollbars proof-of-concept
Comment 4 Matthew DOnofrio CLA 2014-12-21 06:18:41 EST
Windows/Linux auto-hide scrollbars proof-of-concept also on YouTube:

https://youtube.com/watch?v=-pPzqeoOYQU
Comment 5 Matthew DOnofrio CLA 2014-12-21 06:23:25 EST
Addition:

Line height of text editor font cannot be customized.
Comment 6 Matthew DOnofrio CLA 2014-12-21 07:06:51 EST
Created attachment 249577 [details]
Bright OS-native scrollbars vs dark-themed Eclipse
Comment 7 Matthew DOnofrio CLA 2014-12-21 08:23:11 EST
As an oversight, I neglected to mention that I have borrowed heavily from the icons available through the NetBeans project for the updated theme. These icons are available under a permissive license which should be alright for Eclipse:

http://wiki.netbeans.org/FaqUseOfImagesOtherPrograms
https://netbeans.org/about/legal/index.html

I have made several modifications and additions for icons which appear in Eclipse but not on the Netbeans platform. The only requirements are that we contribute the changes back to the NetBeans community, which is fine.
Comment 8 Matthew DOnofrio CLA 2014-12-21 08:30:21 EST
The tab replacement concept would not be possible without help from Jeeeyul's Eclipse Themes plugin:

https://github.com/jeeeyul/eclipse-themes

Jeeeyul's work is also available under a permissive license and he has already expressed interest in having it incorporated as an enhancement to Eclipse (see milestone):

https://github.com/jeeeyul/eclipse-themes/issues/99
Comment 9 daniel gallardo CLA 2014-12-21 10:17:10 EST
+1, the default scrollbars are horrible, yours are awesome :)
Comment 10 Lars Vogel CLA 2015-01-05 12:18:22 EST
Thanks, but this is a very general bug and I think we have already special bugs for most of the suggested topics.

For example for the possibility to exchange the native scrollbars we have Bug 455526. Also we are working on an improved icon set (using the same icons but moving them to png). I suggest to close this bug and to work on the more specific ones.
Comment 11 Matthew DOnofrio CLA 2015-01-05 13:33:35 EST
Created attachment 249722 [details]
Prototype executable used to create the video demonstration

Here is the working prototype I used in the youtube video demonstration. It's not pretty but feel free to give it a try:

http://codespunk.com/files/upload/eclipse_osx_scrollbars.zip
Comment 12 Lars Vogel CLA 2015-01-27 04:48:54 EST
(In reply to Matthew DOnofrio from comment #11)
> Created attachment 249722 [details]
> Prototype executable used to create the video demonstration
> 
> Here is the working prototype I used in the youtube video demonstration.
> It's not pretty but feel free to give it a try:
> 
> http://codespunk.com/files/upload/eclipse_osx_scrollbars.zip

Matthew, do you have patches to share?
Comment 13 Matthew DOnofrio CLA 2015-02-03 20:58:04 EST
This is just a proof-of-concept of what could be implemented in Eclipse; it's pure Win32. I don't know anything about modding Eclipse.

I would be happy to work with someone who does know how to mod Eclipse to reimplement my solution natively.
Comment 14 Lars Vogel CLA 2015-02-12 14:13:10 EST
(In reply to Matthew DOnofrio from comment #13)
> This is just a proof-of-concept of what could be implemented in Eclipse;
> it's pure Win32. I don't know anything about modding Eclipse.
> 
> I would be happy to work with someone who does know how to mod Eclipse to
> reimplement my solution natively.

Great proposals you made to improve the L&L of Eclipse. In Eclipse we are unfortunately not short of ideas, a lot of people have great suggestions. What typically takes a lot of time is to implement them. Maybe you can try to implement one or two of your suggested changes and provide patches for them. I mark this bug as closed and suggest to evaluate the possibility how to solve a specific issue on your side, in case you still want to contribute. Once you have a good idea how to implement it, please open a specific bug for this change and ask if this change would be accepted.