Skip to content

Keep OS high contrast colors instead of forcing the default theme#4149

Merged
vogella merged 2 commits into
eclipse-platform:masterfrom
vogella:lv/high-contrast-os-theme-3095
Jul 2, 2026
Merged

Keep OS high contrast colors instead of forcing the default theme#4149
vogella merged 2 commits into
eclipse-platform:masterfrom
vogella:lv/high-contrast-os-theme-3095

Conversation

@vogella

@vogella vogella commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

When the OS is in high contrast mode Eclipse requests the high-contrast theme, but that theme was removed in the 2025-09 release. Since #3854 the theme engine then forced the default light theme, and a product or workspace default could override the selection, so the native OS high-contrast colors were lost and the UI became mostly white and unusable. This keeps the OS colors when the requested theme is missing while the OS is in high contrast mode, and no longer lets a product or workspace default override the high-contrast theme. The fallback to the default theme stays unchanged outside high contrast mode.

Fixes #3095

@vogella vogella requested a review from HeikoKlare July 1, 2026 11:33
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Test Results

   855 files  ±0     855 suites  ±0   53m 11s ⏱️ + 1m 39s
 8 083 tests ±0   7 840 ✅ ±0  243 💤 ±0  0 ❌ ±0 
20 151 runs  ±0  19 497 ✅ ±0  654 💤 ±0  0 ❌ ±0 

Results for commit c1f6534. ± Comparison against base commit a217bfc.

♻️ This comment has been updated with latest results.

When the OS runs in high contrast mode, Eclipse selects the
high-contrast theme id. That theme was removed in the 2025-09 release,
so the id is no longer found. Since eclipse-platform#3854 the theme engine then forced
the default (light) theme and a product/workspace default could
override the high-contrast selection, which overrode the native OS
high-contrast colors and left the UI unusable (mostly white).

The theme engine now keeps the native OS colors instead of falling back
to the default theme while the OS is in high contrast mode, and the
product/workspace default no longer overrides the high-contrast theme.
The fallback and default-theme behavior are unchanged outside high
contrast mode.

Fixes eclipse-platform#3095
@vogella vogella force-pushed the lv/high-contrast-os-theme-3095 branch from 8e947c2 to b788090 Compare July 1, 2026 13:21
@vogella

vogella commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

No auto-commit for the version increase, might be temporary not working. I add one manually.

@HeikoKlare HeikoKlare left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change looks sound to me and it works fine on Windows (i.e., restores the high contrast behavior from 2026-03 and below):
Image

Thank you for the immediate fix.

The high-contrast fix changes E4Application in
org.eclipse.e4.ui.workbench.swt, whose version was not yet increased in
this development stream, so bump its service segment to satisfy the
version baseline check.
@vogella vogella force-pushed the lv/high-contrast-os-theme-3095 branch from 2e8d44b to c1f6534 Compare July 1, 2026 17:05
@vogella

vogella commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

Thank you for the immediate fix.

Based on your analysis @HeikoKlare the fix was trivial to implement. Thank you for that. I plan to merge this tomorrow (if build is green and no one objects).

@vogella vogella merged commit 37dfddc into eclipse-platform:master Jul 2, 2026
18 checks passed
@vogella vogella deleted the lv/high-contrast-os-theme-3095 branch July 2, 2026 07:38
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.

Retire High Contrast Theme

2 participants