Bug 386470 - Contribute Chrome theme to Eclipse
Summary: Contribute Chrome theme to Eclipse
Status: RESOLVED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.3   Edit
Hardware: PC Windows 7
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-02 04:36 EDT by Nobody - feel free to take it CLA
Modified: 2014-03-26 10:21 EDT (History)
9 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nobody - feel free to take it CLA 2012-08-02 04:36:05 EDT
I've recently kept track of the development of this project in github: https://github.com/jeeeyul/eclipse-themes

What initially started as an alternative simple theme has grown in a solid theme customizer with plenty of features. Actually it is present as an offering on the marketplace here http://marketplace.eclipse.org/content/eclipse-4-chrome-theme

Should we consider making this part project of Eclipse? Maybe initially on e4 incubator and when it's mature enough make it part of the default selection of themes among the default ones?

Also this would expose the project to further contribution.
Comment 1 Eric Moffatt CLA 2012-08-02 16:03:20 EDT
That sounds like a great idea...

Also it might be nice to provide a spot on the marketplace to pick up new themes...
Comment 2 Lars Vogel CLA 2012-08-10 03:15:58 EDT
@Sopot: Would Jeeeyul interested in contributing this theme to Eclipse?
Comment 3 Nobody - feel free to take it CLA 2012-08-10 03:55:39 EDT
I have contacted him to state his opinions on this bug. CC'ing some people which (I think) should give opinions.
Comment 4 Jeeeyul Lee CLA 2012-08-10 03:59:18 EDT
I love to contribute.

but I have some worries about my hack codes which seems to not honor other contributors and API contracts.
Comment 5 Nobody - feel free to take it CLA 2012-08-10 06:27:28 EDT
In which parts are those hacks needed ? 

If the framework leaves you no choice but to hack around in order to build a customized theme than I guess we are open for enhancements on the framework itself. 

It would be great if you file some bugs on platform/ui detailing the missing public API or blocks you faced while building your theme and customizer. This way we can gradually turn your code into "well behaved" code.
Comment 6 Jeeeyul Lee CLA 2012-08-10 07:52:42 EDT
Major problem is strong cohesiveness of CTabFolder, CTabItem and CTabFolder renderer.

CTabFolderRenderer works with CTabFolder using package visibility APIs.
And CTabFolderRenderer doesn't have an Interface to co-operate.
So custom renderer must have to extend CTabFolder renderer, but can't use API of parent. (since they have Package Visibility)

Custom renderer can compute each part(of CTabFolder) size, but can't determine every details.

for instance, Custom renderer doesn't have an way to know bounds to draw close button for each CTabItem. because of, CTabItem stores bounds as a package visibility field, and it is computed by CTabFolder.

with this restrictions, 
CTabFolderRendering in e4 already have some hacks already.
I did let my renderer extends CTabFolderRendering, 
so Hacks became more worse.

So CTabFolder, CTabItem should have to be rewritten to get more flex co-operation with CTabFolder renderer.


Other problems are relatively minor.
 - SashLayout(e4) doesn't have APIs to set margin and sash width.
 - There is no way to set padding of Top Window.
Comment 7 Jeeeyul Lee CLA 2012-08-13 03:34:39 EDT
Where can I open a bug for enhancement of CTabFolder
Comment 9 Lars Vogel CLA 2012-08-13 07:18:35 EDT
AFAIK Tom and Kai are working on a new renderer implementation. If you open a new bug, please copy them into the bug.
Comment 10 Thomas Schindl CLA 2012-08-13 07:21:41 EDT
(In reply to comment #9)
> AFAIK Tom and Kai are working on a new renderer implementation. If you open
> a new bug, please copy them into the bug.

CTabFolder has nothing to do with renderer implementations because it is completely controlled by CSS and SWT.
Comment 11 Jeeeyul Lee CLA 2012-08-13 10:52:52 EDT
css/swt, renderer have no chances to fix these cohesiveness problems.
This problem lies on CTabFolder and CTabItem, CTabFolderRenderer.

As I reverse engineered current CTabFolderRendering(CTabFolderRenderer which supports CSS),
It uses CTabFolder's rendering methods indirectly through it's parent class(CTabFolderRenderer).

CTabFolderRenderer delegates pretty many things to CTabFolder using package visible interface. 

as A Result, current implementation of CTabFolderRendering is very cohesive with CTabFolder.

I will inspect problems more deeply, and I will open bugs against of CTabFolder.
Comment 12 Eric Moffatt CLA 2012-08-15 15:14:44 EDT
Thanks Jeeeyul, this is great input !
Comment 13 Lars Vogel CLA 2012-11-09 02:41:36 EST
I'm not sure this bug belongs to e4, moving to Platform. Feel free to move it back.

Things I like to see from Jeeeyul in the standard:

- Ability to set the Sash Width
- Ability to turn on / off MRU
Comment 14 Lars Vogel CLA 2014-03-25 05:38:40 EDT
I suggest we open more specific bugs to enhance our default theme with ideas from the chrome theme. I mark this one as WONTFIX, this does not mean that I think that we should migrate ideas from the Chrome theme to our default theme, I just think we should be more specific with the bug reports.
Comment 15 Eric Moffatt CLA 2014-03-25 14:21:05 EDT
Lars, I'm unclear as to why you marked this as WONTFIX. If Jeeeyul is OK with submitting it I think that it would be a good thing overall. Note that this is unlikely to happen in Luna simply because we haven't vetted the UI for various 'enterprise' aspects like accessibility and NLS support (Jeeeyul, do you know what the state of this is ?).

Just to clarify, the new CTabFolder implementation uses an *internal* renderer that has not been exposed as API but is needed to tweak the CTF UI in various low level ways.

Lars, I certainly agree that if we package this with the IDE then it (or a derived flavor) should be the default way for users to tweak the CSS and the text-based CSS editor should be secondary (or merged somehow).
Comment 16 Lars Vogel CLA 2014-03-25 15:42:31 EDT
(In reply to Eric Moffatt from comment #15)
> Lars, I'm unclear as to why you marked this as WONTFIX. If Jeeeyul is OK
> with submitting it I think that it would be a good thing overall. N

I have a bug open on Jeeeyuls side and he did not answer that. So far it is unanswered and I think that means Jeeeyuls prefers not to contribute it. For reference https://github.com/jeeeyul/eclipse-themes/issues/99 Also email reminders remained unanswered.

If he changes his mind, can should reopen this bug.
Comment 17 Timo Kinnunen CLA 2014-03-25 16:26:43 EDT
He seems busy developing new features. (The kickass gradient editor is seriously a couple of months new and the latest update added hue shifting to it, also fixed bug 430872 just because I guess.) Maybe you could fix whatever is blocking its inclusion in Eclipse and send him a pull request? Worked for me and my issue...
Comment 18 Eric Moffatt CLA 2014-03-26 10:21:43 EDT
Still seems like a shame to me...;-(, it'd be a great step forward IMO...