Skip to content

Updating Branding

Simeon Andreev edited this page May 24, 2023 · 1 revision

This page contains information on updating the Eclipse SDK branding elements (icon, splash screen, etc).

Most items on this page only need updating when there is a change in branding, or theme, such as perhaps for every major release.

But, some need to be updated every release, even service releases, such as see Version Numbers and Copyright blurbs.

Splash screen

The splash screen used for both the Eclipse SDK and Eclipse Platform Runtime is located in the bundle org.eclipse.platform (see in Git repository). It is a single file called splash.bmp (a 452x302 bitmap). The same directory in the source tree contains some PhotoShop source files that can be used to update the splash. Typically each year the splash needs updating with the current year in the copyright statement, and the name of the Simultaneous Release.

In the same org.eclipse.platform bundle, the plugin.xml file contains properties specifying the font color and position of progress messages that are overlayed on the splash screen during startup. These properties might need changing if there are significant changes to the splash screen layout. See properties startupForegroundColor, startupMessageRect, and startupProgressRect

'''Note: ''' If your image program offers a choice, such as GIMP 2.8.10 does, it is important to save the bmp WITHOUT color space information saved or, else, the splash screen will not be displayed on Windows .... apparently a silent failure to read a "modern" BMP file (watch ). And use care, since in Gimp anyway, the choice is a negative check-off: Do not write color space information is unchecked by default, but must be checked to save the bmp WITHOUT color space information -- just like it says, but as I repeatedly misread.

Also, The bitmap should be saved in 24-bit format (8R, 8G, 8B) for else "funny colors" (such as red instead of blue, or green instead of blue) will sometimes appear if the 32-bit format is used, with 8 bits of "transparency".

'''Note: ''' If your image program offers a choice, such as GIMP does, it is important to save the BMP or PNG as 72 DPI for proper display on macOS: GIMP } Image } Scale Image... } X resolution: 72; Y resolution: 72 } Scale

Icons

The icons for the Eclipse SDK are rarely updated, but when they do change, it is a significant process. Icons have to be prepared in various sizes and formats for different platforms. They have to be inserted into the build in various places.

Icon sizes and formats

The following sizes and formats are needed, as a starting point:

Png - 32 bit: (all sizes) 16, 22, 24, 32, 48, 64, 128, 256, 512, 1024

Gif - 8 bit / 256 colors 16, 22, 24, 32, 48

4 bit / 16 colors 16,22,24,32,48

Note: Besides the "normal" icon, a 16x16 Gif is needed where the Eclipse icon has a border around it. This is used inside the IDE at various places (see below)

How these sizes and formats will be further prepared for delivery depends on platform:

Windows ICO file containing:

  • 32 bit PNG: 16x16, 24x24, 32x32, 48x48, 64x64 and 256x256
  • 8 bit GIF: 16, 24, 32, 48
  • 4 bit GIF: 16, 24, 32, 48
  • Only a 32-bit copy of the 256x256 pixel image should be included, and only the 256x256 pixel image should be

compressed to keep the file size down. Note that the sizes (24x24 and 64x64) are included for "classic" mode on XP.

MAC ICNS file format containing 1024x1024, 512x512, 256x256, 128x128, 32x32, 16x16, original format is PNG

Linux XPM file containing a single resolution. Currently 256x256.

Icon locations

Feature icons for about dialog

  • Every feature with a branding plugin contains a copy of the 32-bit PNG file. The file name is specified in about.ini, but is usually called eclipse32.png. Note: The About dialog groups the features by their icons. To do this, it compares the file content and not the name!
  • The primary product features (org.eclipse.platform and org.eclipse.sdk), also contain a larger image for the about dialog called eclipse_lg.gif or eclipse_lg.png (we prefer eclipse_lg.png, but it should have no alpha or transparency channels). Its size should be close to 116 pixels wide and 302 pixels high.
  • - For more details about the about dialog image, it should end (on the bottom) in a solid color or a pattern that is easy to reproduce since if we ever need to add more text that is displayed in the about box then the "area to cover" vertically may grow and we will need to make the image higher than 302 pixels. Note, the image can be wider if needed, but that should be done knowing that may change the size of the whole about box and text layout and hence affect the height, as well. Plus, 250 pixels is an absolute width. If the image is that wide, then only the image is displayed, and not text is. See the AboutDialog class if need. Plus there are several examples that show, for example, the "image only" about Dialog.

Window images

The images that appear in the upper left hand corner of each window are specified by the product branding plugin (org.eclipse.platform and org.eclipse.sdk in our case). A variety of sizes and formats are given, and SWT has an algorithm to select the most appropriate image for a given platform. We currently provide:

  • 32x32 GIF image (eclipse32.gif)
  • 48x48 GIF image (eclipse48.gif)
  • 32x32 PNG image (eclipse32.png)
  • 48x48 PNG image (eclipse48.png)
  • 256x256 PNG image (eclipse256.png)

Typically you can just replace the existing files with new files of the same name. If you need to add additional sizes, they are listed in plugin.xml, in the property "windowImages".

Launcher (Desktop) icons

Windows

On Windows, the eclipse.ico icon is embedded in the eclipse.exe executable. This is done by the launcher build. The icon file (which itself contains 6 or so icons of various sizes), is placed in this Git location. A launcher build must then be run to build a new executable with the embedded icon. Most build systems can "replace" those icons during a custom build, as long as replacements are "same shape" as what is in original, embedded ICO resource.

Use common pallet

As mentioned in for icons that will, or might, require a "reduced pallet" (say, 256 colors only) then all those icons must use the same pallet, in an ICO file. Hence it is important to create them with this in mind (i.e. with exact same pallet), otherwise, heavy distortions may occur as "ICO creation" tools try to adjust them to all fit in the same pallet. Ideally, even if original images require more than 256 colors, the "main" 256 colors will all be common.

Others

On other platforms, the icon is just included as a separate file (or, files) in the launcher installable unit. The icons just need to be dropped into appropriate Git location(s), and then are packaged by the rest of the build. Note: currently, some icons are duplicated, either literally or by "copy-resources" during the build to the 'tychobuilder' product definitions. We probably only need them in the product definitions area, not the executable feature area (except, for Windows, since that is built into executable), but still need to investigate pros and cons of that approach. See .

MacOSX

The Eclipse.icns file goes in subdirector of the 'Eclipse.app', such as this in this Git location.

Linux

The icon.xpm icon file goes under the architecture directory for Linux, such as in this Git location.

Icon in IDE

The IDE itself uses the 16x16 PNG variant of the Eclipse icon ('eclipse16.png'). Note that this icon must have a border of space around it, e.g. in the Product wizard or for the Eclipse launch configuration:

  • /org.eclipse.ant.ui/icons/full/obj16/eclipse16.png
  • /org.eclipse.pde.api.tools.ui/icons/full/obj16/eclipse16.png
  • /org.eclipse.pde.ui/icons/etool16/eclipse16.png
  • /org.eclipse.pde.ui/icons/obj16/eclipse16.png

References

(1) SWG User Interface Branding - Application Icon, Icon Creation: http://stwweb1.torolab.ibm.com/uibranding/rational/appl_icon_creation.html

Other branding elements

Welcome page

The welcome page has branding that may need updating if there is a major theme change.

Version Numbers

Most "versions" displayed for feature or bundles are determined by the version of the feature (in feature.xml) or bundle (in MANIFEST.MF). And, remember, a "branding bundle" should be assigned the same version as the feature for which it is the branding bundle, even though it itself may not change.

One exception is the "version" in the main "about box". For Eclipse 4.5 (Mars release) this says "Version: Mars (4.5)" and, for example, would be expected to be "Mars.1 (4.5.1)" for first maintenance release.

  • The "train name", is set in the parent pom, via the property "releaseName", for example, <releaseName>Mars</releaseName> which would be <releaseName>Mars.1</releaseName> for first service release.
  • The "marketing number" in the about box, such as "4.4", or "4.4.1", is also set in the parent pom, with the properties

<releaseNumberSDK> and <releaseNumberPlatform>. Typically these are the same value, and typically the same value as the "feature version" of the Eclipse Platform or Eclipse SDK, but would not have to be. They are, technically, an attribute of the product Eclipse Platform and Eclipse SDK.

  • The version in the splash screen (for the Eclipse SDK) is determined by a property defined in the .product file, such as for sdk.product:
<nowiki>
 <property name="eclipse.buildId" value="${unqualifiedVersion}.${buildQualifier}" />
</nowiki>

The "unqualifiedVersion" part of that value, is artifact ID of the maven artifact for the product, as defined in the product's pom.xml file. One of the few cases where the artifact Id must be updated for maintenance streams. (This is handled differently than the above "release number" cases simply because Tycho is in charge of one of them, and our "branding bundles" are in charge of the other.) And, this value determines the release number in "updates" (that is, becomes part of the content repository metadata.

  • For main features, there's a description property in the *.p2.inf that contains the release name, see here, e.g.

properties.1.value = Initial Mars Release of the Eclipse Platform.

These should be changed every release so that users can "see" that something is new, even if it is to say simply "First Update Release for Mars", or similar.

  • Another change to make every release, is in the .eclipseproduct marker file, that is a root file of the eclipse platform feature. It's version should be updated to match the "marketing number" of the release. (Investigating if can be automated, in ).

Copyright blurbs

The copyright statement comes from two sources. First are the about.properties file, for any "root feature".

But, the copyright in the main "about box" comes from the plugin.properties of the branding bundle for the product.

Note: we intentionally, currently do not use the copyright symbol ('\u00A9', or '©') since it is not part of every code page in every language. See or other sources.