Add a Themes submenu to Window > Appearance - #4356
Conversation
|
That's quite some additional complexity to maintain forever. Should we ask ourselves if users really switch often enough that this needs to be more convenient for them? |
I think most of the complexity is because this PR builds on #4354. Only the top commit is the actual menu entry. But I agree: Since switching theme requires a restart, is this a feature a people would actually use in practice? |
|
@sratz switching between different light and dark themes does not require a restart anymore after we merge the is dark pr. We only require a restart at the moment because we do not know if a theme wants the native dark styling or not. I park this as draft for the moment. |
3d91747 to
fe2292a
Compare
With the rebase, the code change is relatively small |
|
This is how to looks like with additional community themes (for example https://github.com/vogellacompany/eclipse-themes).
|
|
Here is how it looks like with additional community themes, like https://github.com/vogellacompany/eclipse-themes
|
fe2292a to
9c9cd57
Compare
Switching the theme so far meant opening the appearance preferences. The submenu lists the installed themes as radio items, applies the pick right away and remembers it for the next start. A light/dark switch offers a restart, and a last entry records the active theme as the default for new workspaces. With theming disabled the submenu offers a single entry that enables it again and offers a restart. The items are built in the workbench, where the theme engine is visible, and instantiated from the IDE menu through ExtensionFactory like the Show In menu. Assisted-by: multiple AI agents and layers of automated tooling 🤖
9c9cd57 to
184176b
Compare
|
@akurtakov if theming is disabled, the submenu now shows a single "Enable theming" entry instead of the theme list. @merks after the rebase on #4354 the change is relatively small. Let me know if you still have concerns. Regarding whether users would use it: with #4354 merged, switching between themes of the same kind no longer requires a restart; only a light/dark switch still offers one (this is a OS behavior nothing we can do in Eclipse). With community theme collections (e.g. vogellacompany/eclipse-themes) switching becomes a realistic everyday action. Some background from the e4 days: theming belongs under Appearance, as it defines the look of the application. We didn't put it in the menu back then because the CSS engine was slow and buggy, and we didn't want to expose that prominently. The engine is stable and fast now, so I think it's time to add it. Let me know if you still have concerns. |
So we need the restart because we need to call some OS APIs to and these only take affect after app restar? |
The OS allows to style certain components (like scrollbars on Windows) only before the process starts. This applies for start and restart. |
|
I think this is marginally useful for an average user with only two theme choices. In addition theme switching seems an uncommon activity. But it’s on a submenu so also minimally disturbing. So I’d not add it but I wouldn’t be disturbed by it. |
|
This is a screenshots showing the fix for @akurtakov reported issue:
|






Switching the theme so far meant opening the appearance preferences. This adds a Themes submenu under Window > Appearance that lists the installed themes as radio items, applies the pick right away and remembers it for the next start. A switch between a light and a dark theme offers a restart, and a last entry records the active theme as the default for new workspaces.
The items are built in the workbench, where the theme engine is visible, and instantiated from the IDE menu through
ExtensionFactorylike the Show In menu. In high contrast mode no items are offered, matching the appearance preferences.Stacked on #4354: the first commit is that PR, only the second one belongs here. Please merge #4354 first, this branch will then rebase down to a single commit.