Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-pmc] Request API exemption for Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution

The problem is that the same branding image is currently used by all themes. The current branding image looks good for all existing themes, but not for the new Solstice theme. Products (usually via org.eclipse.ui.intro/INTRO_THEME in their plugin_customization.ini) and users (via UI) can choose the theme of their choice (i.e. not use the default). If we change the branding image to make Solstice look nice it will make all other themes look bad and affect most existing products. They would be forced to change their product and might have to update screenshots. That's not an acceptable approach.

We don't need to add a new API / property but simply document on the 'org.eclipse.core.runtime.products' extension point that theme specific branding images can be provided by prepending the last segment of the theme ID to "-intro-eclipse.png". No changes to the existing themes would be required.


From:        "Oberhuber, Martin" <Martin.Oberhuber@xxxxxxxxxxxxx>
To:        "eclipse-pmc@xxxxxxxxxxx" <eclipse-pmc@xxxxxxxxxxx>
Date:        19.04.2016 17:41
Subject:        Re: [eclipse-pmc] Request API exemption for Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution
Sent by:        eclipse-pmc-bounces@xxxxxxxxxxx

Hi Brian,

My first impulse was to support the idea that a Theme could also influence image selection from the product bundle. But
  • Looking at the Gerrit contriburtion, I'm missing docs for the new API (what does the new property do ? Could a .exsd for the plugin editor be provided?)
  • I'm also not sure about the name of the property ("filePrefix"), shouldn't it be "productImagePrefix" and how does it relate to HIGH_CONTRAST_PREFIX ?
To be honest, I question the value of providing multiple Themes in the SDK to choose from, and try to make all of them look really good.
What is the expected audience who would ever want to switch to a different Intro Theme ?
Isn't that just Product Builders, who would create their own product bundle eventually ?

In other words, why don't we just provide one default Theme – Solstice – with excellent quality in the SDK and get rid of the other ones or move them to an "example plugin" (or keep them around but don't care about how good they look) ?

I might be missing background on why the "choose theme" was created in the first place – any thoughts ?

Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River
direct +43.662.457915.85  fax +43.662.457915.6

From: <eclipse-pmc-bounces@xxxxxxxxxxx> on behalf of "briandealwis@xxxxxxxxx" <briandealwis@xxxxxxxxx>
eclipse-pmc@xxxxxxxxxxx" <eclipse-pmc@xxxxxxxxxxx>
Thursday 14 April 2016 at 16:35
eclipse-pmc@xxxxxxxxxxx" <eclipse-pmc@xxxxxxxxxxx>
[eclipse-pmc] Request API exemption for Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution

I’d like to request an API exemption for M7 for the following change:

Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution

This change adds a new theme property for Welcome/Intro themes called “filePrefix” used to resolve theme-dependent variants of images that are referenced by the theme.

We need this functionality for the new Solstice theme (bug 466370). Unlike the previous themes (circles, slate, and mesh), the Solstice theme has a dark background where the product logos are shown.  The Eclipse logo is effectively invisible in this theme.

The filePrefix causes the Intro code to first attempt to resolve images with the given prefix and then fallback to the path as-is.  This prefixing only happens for files specified as product-properties, such as the branding logo.  For example, the Solstice theme defines (simplified; full details in patch):

<theme id=“org.eclipse.ui.intro.universal.solstice">
       <property name=“filePrefix” value=“solstice-“ />


The Platform and SDK products specify their branding logo using a product property like:

<property name=“introBrandingImage” value=“product:intro-eclipse.png” />

When resolving the introBrandingImage, the code will now first try resolving ’solstice-intro-eclipse.png’ from the product bundle.  If not found, it will fallback to ‘intro-eclipse.png’.  If a directory is specified (e.g., ‘product:logos/eclipse.png’) then the prefix is applied to the file portion (‘logos/solstice-eclipse.png’).

Without this change, product definitions have to explicitly reference a more Solstice-friendly logo.  But then the other themes don’t look as intended. [Though to be honest, I think they all look better with the white logo.]


Solstice with the current logo (purple lettering):

[attachment "Without Solstice-friendly logo.PNG" deleted by Daniel Megert/Zurich/IBM] _______________________________________________
eclipse-pmc mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

Back to the top