Total Eclipse of my Heart - and also my UI

Absolute Sonnenfinsternis: Das „Darkest Dark“-Theme für Eclipse ist da

Tim Webb

©Shutterstock / Vadim Sadovski

Ein modernes, dunkles UI für Eclipse ist da. Tim Webb, Vice President of Operations bei Genuitec, stellt in diesem Beitrag das „Darkest Dark“-Theme für die Eclipse IDE vor.

Wir freuen uns, das kürzlich veröffentlichte „Darkest Dark“-Theme für die Eclipse IDE vorstellen zu können. Es handelt sich dabei um ein von Grund auf neues Theme, das einen scharfen Kontrast und einen Satz flacher, gut sichtbarer Icons bietet.

Im nachfolgenden Bild wird die Veränderung der IDE vom „helligstem Tag“ bis in die „tiefste Nacht“ ersichtlich:

darkest-dark-fig-1-1-768x304

Lust bekommen, mal selbst reinzuschauen? Das “Darkest Dark”-Theme ist kostenlos im Eclipse Marketplace erhältlich.

Helfen Sie mit!

Weiter unten werden wir darauf eingehen, wie wir dieses Plug-in gebaut haben. Aber zuvor müssen wir um etwas Hilfe bitten, damit wir sicherstellen können, dass wirklich jedes Eclipse Plug-in damit super aussieht.

Hier ist das Problem: Es gibt in den Untiefen des Internets eine große Fülle an Plug-ins für Eclipse, und wir alle verwenden verschiedene Sets. Sobald Sie das „Darkest Dark“ also installiert haben und etwas seltsam Aussehendes entdecken, nehmen Sie sich bitte die Zeit und erstellen Sie einen Eintrag in unserem Theme-Problemforum.

Zuerst werden wir uns um die populärsten Plug-ins sowie die schlichtweg fehlerhaften Stellen kümmern. Das wären zum Beispiel ausgesprochen unpassende Icons oder eine schlechte Farbwahl, die wir für gewöhnlich sehr schnell ändern können, sofern die Reproduktion kein Hindernis darstellt. „Darkest Dark“ verwendet unsere Update-Technologie, wodurch immer, wenn einige Probleme gelöst wurden, alle Updates direkt ausgeliefert werden, sodass niemand Out-of-Date laufen kann.

Vielen Dank bereits im Voraus für die Mithilfe – wir wissen sie wirklich zu schätzen!

Also: Wie haben wir das gemacht?

Genau genommen war es wirklich schwer, da es sich nicht um ein Theme im eigentlichen Sinne handelt. Es gaukelt der Eclipse-Installation nur vor, es wäre eins. Das „Darkest Dark“-Theme zu schaffen erforderte nicht nur E4-Styling, sondern auch die kreative Nutzung von OSGi, um Low-Level-Aufrufe abzufangen.

Unser Code verhindert das Laden der Standard-Icons, für bspw. die Toolbar, und lädt stattdessen On-the-fly generierte Ersatzsymbole. Die Vorteile davon sind einerseits weniger Ladezyklen und andererseits ein vollständiger HiDPI-Support. Natürlich bietet es ebenso die Flexibilität, Farben anzupassen, ohne die schlussendlichen Bilder bearbeiten zu müssen.

Verzwickter werden die Dinge allerdings, wenn man sich erst anschaut, wie die Entwickler innerhalb der Plug-in-Community bisher verschiedenste Patterns zur Erstellung ihrer schicken UIs nutzten. Beispielsweise gibt es Grafikdesigner, die es zulassen, verschiedene Items zusammen zu ziehen, wodurch diese dann zu einer Kombination der Theme-Standardfarben und hardgecodeter Farben (wie z.B. einem hellen Gelb) werden. Oder andere Plug-ins, in denen Entwickler spezielle Farben im Hintergrund einer Tabelle nutzen, sodass der allgemeine Kontrast erhöht wird. In diesen Beispielen müssen wir das Laden der Farben abfangen und stattdessen andere Farben einsetzen.

Was kommt als nächstes?

Um uns bei der Erstellung der Ersatz-Icons zu helfen, haben wir einen coolen Icon-Editor zusammengebastelt, in dem man alle Icons, die bisher in die Eclipse IDE geladen wurden – samt Nutzungsstatistiken – sehen und selbst neue Icons erstellen kann. Cooler ist sogar noch, dass das aktualisierte Icon beim Abspeichern zur Echtzeit in vielen Stellen der laufenden Eclipse IDE eingesetzt wird.

Ich glaube, derzeit werden nur noch wenige Stellen dabei übersehen, z.B. das Ersetzen der Bilder in den Image Registry Caches. Man kann sogar per Control-Shift-Click den Pfad eines Bildes in Erfahrung bringen. Mit dieser Technologie erlauben wir der gesamten Community, neue Bilder für übersehene Plug-ins vorzuschlagen, die wir dann leicht überarbeitet wieder zurück in die Community releasen.

darkest-dark-fig-2-768x572

Wir hoffen, Sie werden das „Darkest Dark“-Theme genießen und uns verzeihen, dass es trotz etlicher Monate Entwicklungszeit und vieler Mitarbeiter noch immer einige ungeschliffene Kanten gibt. Das Projekt brachte deutlich mehr Aufwand als wir ursprünglich vermutet hatten mit sich. Doch schlussendlich verkehrte sich das in einen Vorteil, da unser Managementteam das Projekt ansonsten vermutlich von Vornherein nicht zugelassen hätte ;-).

Bei einigen Projekten wollen wir uns besonders dafür bedanken, „Darkest Dark“ möglich gemacht zu haben. Zuallererst sind da Equinox und OSGi zu nennen, ohne deren Grundriss ein kreativer Ansatz wie der unsere nicht möglich gewesen wäre. Das Eclipse Color Theme Plug-in ist Teil des „Darkest Dark“-Themes geworden, um auch konfigurierbare Editorfarben zur Verfügung stellen zu können. Die Arbeit von einigen Mitgliedern des Eclipse-Plattform-Teams per Oxygen hat dazu geholfen, einige raue Bereiche wie bspw. die Färbung von Buttons und Tabellenüberschriften in Windows fein zu schleifen. Schlussendlich hat Code Affine wirklich gute Arbeit mit abgeflachten Scrollbars geleistet, die das UI im Kern von den hässlichen Windows Scrollbars befreit hat.

Zuletzt möchte ich noch hinzufügen, dass wir das „Darkest Dark“-Theme nicht nur zur freien Verwendung zur Verfügung gestellt haben. Jeder ist auch eingeladen, es weiter zu verteilen und in eigene Projekte oder Distributionen einzubinden. Wenn Sie also selbst Produkte für die Eclipse-Plattform gebaut haben, können Sie „Darkest Dark“ für eine reiche, moderne, dunkle UX problemlos einbinden. Viel Spaß!

eclipseorb_color Dieser Artikel wurde zuerst in der Februar 2017 Ausgabe des Eclipse Newsletters veröffentlicht: Top Eclipse Marketplace Plugins.Weitere Informationen und Artikel findet man im Eclipse Newsletter.

Verwandte Themen:

Geschrieben von
Tim Webb
Tim Webb
Tim Webb ist Vice President of Operations bei Genuitec, LLC in Boston. Im Herzen stets Techniker geblieben, verbringt Tim immer noch Zeit damit ein bisschen Code zu hacken – selbst wenn es nur einige Stunden im Monat sind. Folgen Sie ihm auf Twitter: @timrwebb.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.