Skip to content

Add a Themes submenu to Window > Appearance - #4356

Merged
vogella merged 1 commit into
eclipse-platform:masterfrom
vogella:vogella/appearance-themes-menu
Sep 28, 2026
Merged

vogella merged 1 commit into
eclipse-platform:masterfrom
vogella:vogella/appearance-themes-menu

Conversation

@vogella

@vogella vogella commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

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 ExtensionFactory like 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.

@github-actions

github-actions Bot commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Test Results

   861 files  ±0     861 suites  ±0   47m 31s ⏱️ - 18m 4s
 8 345 tests ±0   8 102 ✅ ±0  243 💤 ±0  0 ❌ ±0 
20 904 runs  ±0  20 234 ✅ ±0  670 💤 ±0  0 ❌ ±0 

Results for commit 184176b. ± Comparison against base commit 79b4760.

♻️ This comment has been updated with latest results.

@merks

merks commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

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?

@sratz

sratz commented Sep 7, 2026

Copy link
Copy Markdown
Member

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?

@akurtakov

akurtakov commented Sep 7, 2026 •

Copy link
Copy Markdown
Member

IMO poll/vote is best in the cases like this one where there is no agreement about a change in general.

That aside, the PR still needs some work as the case of theming engine is not considered (the menu should not be shown in this case for sure) but with this PR it is and looks like
image

@vogella

vogella commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

@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.

@vogella
vogella marked this pull request as draft September 7, 2026 16:10
@vogella
vogella force-pushed the vogella/appearance-themes-menu branch 3 times, most recently from 3d91747 to fe2292a Compare September 10, 2026 08:00
@vogella

vogella commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

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?

With the rebase, the code change is relatively small

@BeckerWdf

Copy link
Copy Markdown
Member

on macOS this currently looks like this:
image

@vogella

vogella commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

This is how to looks like with additional community themes (for example https://github.com/vogellacompany/eclipse-themes).

Screenshot From 2026-09-14 11-01-37

@vogella

vogella commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Here is how it looks like with additional community themes, like https://github.com/vogellacompany/eclipse-themes

Screenshot From 2026-09-14 11-01-37

@vogella
vogella force-pushed the vogella/appearance-themes-menu branch from fe2292a to 9c9cd57 Compare September 15, 2026 06:35
@vogella

vogella commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

That aside, the PR still needs some work

If theming is disable, the menu shows now the single option to enable it.

Screenshot From 2026-09-15 09-36-47

@vogella
vogella marked this pull request as ready for review September 15, 2026 07:38
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 🤖
@vogella
vogella force-pushed the vogella/appearance-themes-menu branch from 9c9cd57 to 184176b Compare September 21, 2026 08:29
@vogella

vogella commented Sep 25, 2026

Copy link
Copy Markdown
Contributor Author

@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.

@BeckerWdf

Copy link
Copy Markdown
Member

only a light/dark switch still offers one (this is a OS behavior nothing we can do in Eclipse).

So we need the restart because we need to call some OS APIs to and these only take affect after app restar?

@vogella

vogella commented Sep 25, 2026

Copy link
Copy Markdown
Contributor Author

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.

@merks

merks commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

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.

@vogella

vogella commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

This is a screenshots showing the fix for @akurtakov reported issue:

themes-menu

@vogella
vogella merged commit 6cd9210 into eclipse-platform:master Sep 28, 2026
18 checks passed
@vogella
vogella deleted the vogella/appearance-themes-menu branch September 28, 2026 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants