Zum Hauptinhalt springen
YouTube Security VideosRaspberry Pi Book of Making 2027(22.10.2026 um 02:00 Uhr)
•
YouTube Security VideosGoogle Cloud Tech: Which model should I use? | The Agent Factory(22.10.2026 um 01:00 Uhr)
•
YouTube Security VideosTesla: Encore(22.10.2026 um 03:05 Uhr)
••••••
Unix & Linux ServerInternet-Wide Threat Has Security Teams Scrambling to Patch PHP(22.10.2026 um 02:25 Uhr)
•
Unix & Linux ServerDistribution Release: Essora Eos 20261021(22.10.2026 um 02:42 Uhr)
•
YouTube Security VideosRaspberry Pi Book of Making 2027(22.10.2026 um 02:00 Uhr)
•
YouTube Security VideosGoogle Cloud Tech: Which model should I use? | The Agent Factory(22.10.2026 um 01:00 Uhr)
•
YouTube Security VideosTesla: Encore(22.10.2026 um 03:05 Uhr)
••••••
Unix & Linux ServerInternet-Wide Threat Has Security Teams Scrambling to Patch PHP(22.10.2026 um 02:25 Uhr)
•
Unix & Linux ServerDistribution Release: Essora Eos 20261021(22.10.2026 um 02:42 Uhr)
•
Intelligence View
⚡ tsecurity.de Intelligence

GitHub Release: microsoft/PowerToys v0.102.0 (21.10.2026)

Release v0.102.0 von microsoft/PowerToys auf GitHub: Summary of the Pull Request Fix unreadable caption-button glyphs and Markdown code in the separate What's…

Beitrag
0
Seite
0
↗ Quelle (GitHub · microsoft/PowerToys)
Social ReaktionenReagiere als Erste:r — dein Feedback zählt!
microsoft/PowerToysv0.102.021.10.2026@MuyuanMS

Summary of the Pull Request


Fix unreadable caption-button glyphs and Markdown code in the separate

What's New window when the PowerToys theme differs from Windows'

default app mode.


With Windows Dark and PowerToys Light, minimize/maximize/close glyphs

and inline-code text can be almost white on a light surface. The caption

issue is a regression; the Markdown code-brush gap predates it.


This is a targeted follow-up to #48910 and #49786, not a revert of the

shared native title-bar implementation
.


Before / after screenshots


Both captures use Windows Dark + PowerToys Light and display the

same April 2026 release notes. The displayed v0.99.1 is the notes'

version, not the executable's version.


Before: installed v0.102.2911.0


The minimize/maximize/close glyphs are almost invisible against the

light title bar. Inline-code examples such as DockSettings,

settings.json, G, and Win also have nearly white text on a pale

background.


Before the fix: nearly invisible caption buttons and inline-code text with Windows Dark and PowerToys Light


After: patched local x64 Debug Settings


Caption glyphs and inline-code text are readable, while the existing

heading/link styling is retained.


After the fix: readable caption buttons and inline-code text with the same Windows Dark and PowerToys Light configuration


PR Checklist



  • Related work: #48910, #49786; no existing issue is closed by this

    PR.

  • Communication: Separate contributor agreement has not been

    established; this follows the previously identified theme-override

    concern linked below.

  • Tests: Added a repeatable UI regression-capture script;

    existing focused Settings tests pass. Screenshot review remains manual,

    not an automated contrast assertion.

  • Localization: No new user-facing strings.

  • Dev docs / product documentation / new binaries: Not applicable;

    no new dependencies, settings fields, IPC contracts, or installer

    entries.


Detailed Description of the Pull Request / Additional comments


Caption buttons: follow the window, not Windows' default app mode


TitleBarTheme.UseDefaultAppMode follows Windows' default app mode.

Settings applies its own Light/Dark preference to the window content, so

these can disagree.



  • Add an explicit-theme overload to

    src/common/Common.UI.Controls/Window/TitleBarHelper.cs. Preserve the

    original one-argument API, its Windows-default behavior, and the

    supported-platform guard.

  • In src/settings-ui/Settings.UI/SettingsXAML/ScoobeWindow.xaml.cs,

    apply the initial content theme after InitializeComponent, then set

    native TitleBarTheme.Light/Dark from the root's resolved

    ActualTheme.

  • Track live ActualThemeChanged events and unsubscribe when the window

    closes.


This retains #49786's shared helper and native caption rendering rather

than restoring manually assigned caption-button colors. Other

windows/modules keep their existing one-argument behavior; this PR does

not broaden the change to OOBE or Shortcut Conflict.


Markdown: extend the existing element-theme workaround to code


The pinned Markdown control captures brushes from application resources

rather than the selected element theme. The existing workaround corrects

headings and links, but not inline/fenced-code foreground, background,

or border brushes.


In ScoobeReleaseNotesPage.xaml / .xaml.cs:



  • Resolve code-surface brushes through a collapsed, noninteractive,

    theme-aware provider, following the existing link-provider pattern.

  • Apply the element-themed primary foreground and code background/border

    to both inline-code and fenced-code theme properties.

  • Retain heading/link handling and the existing re-render path on theme

    changes.


No hardcoded palette or dependency upgrade is introduced. The workaround

still points to the pending upstream fix,

CommunityToolkit/Labs-Windows#785.


Investigation timeline






































































































Date (UTC) Change / inspected release Relevance
April 29, 2026 v0.99.1 Inspected source already has the Markdown
code-brush problem; the old code-rendering issue is not explained by the
later caption regression.
June 29, 2026 #48910, merged 18:33:41 Corrected What's New
headings/links and tracked the actual window theme for caption colors.
It did not correct code brushes.
August 25, 2026 v0.101.2362.0 Contains the June caption handling,
before its September replacement. This explains correct caption icons
but unreadable code in the older comparison build.
September 2, 2026 #49786, merged 14:58:31 Adopted the shared
native UseDefaultAppMode helper and explicitly removed the SCOOBE
caption handling as redundant. This lost the app-specific theme
override.
September 21, 2026 v0.101.2632.0 Already contains the September
replacement: the caption regression predates the October candidate.
October 16 / 19, 2026 v0.102.2883.0 / v0.102.2911.0 Both contain
the replacement; the reported mixed-theme symptoms were reproduced on
installed 2911.

#49786's consolidation and native theme-change fixes were intentional.

Its history does not establish an intent to drop PowerToys' independent

theme preference. An inline discussion posted at 15:00:33 UTC, about

two minutes after

merge
,

already identifies that UseDefaultAppMode does not follow

RequestedTheme and recommends tracking ActualTheme.


Release containment above comes from source/tag inspection, not a

runtime bisect of every listed installer. The April version displayed

inside What's New is release-note content, not the installed

executable's version.


Validation Steps Performed



  • Built the release-targeted x64 Debug candidate with

    tools\build\build-essentials.ps1, including runner and Settings; no

    replacement of the installed PowerToys binaries.

  • Built the Settings unit-test project and ran ScoobeReleaseTests plus

    ViewModelTests.General with vstest.console.exe: 18 passed, 0

    failed
    .

  • Visually checked the same What's New window with Windows Dark while

    selecting PowerToys Light -> Dark -> Windows default -> Light.

    Caption glyphs, headings, links, and April's inline-code examples

    (DockSettings, settings.json, G, Win) remain readable.

  • The reporter also inspected the patched window and confirmed it looks

    correct.

  • Restored the original PowerToys Light setting after the capture.

  • Ported the identical four production files onto current main,

    avoiding unrelated stable-branch history.

  • Repeated build-essentials.ps1 -Platform x64 -Configuration Debug on

    the actual main-based PR branch: solution restore, runner and Settings

    all succeeded with zero MSBuild errors/warnings.

  • Rebuilt the Settings test project on that branch and repeated the same

    focused test run: 18 passed, 0 failed.


The checked-in src\settings-ui\Settings.UITests\Test-WhatsNewTheme.ps1

repeats that live-switch capture, checks that the same notes window

survives, verifies the selected theme, restores the original app theme,

and writes PNGs plus a JSON receipt. It requires an explicitly selected

Settings PID and checks its executable identity. Run from the checkout

after opening General and a separate What's New window containing code:


.\src\settings-ui\Settings.UITests\Test-WhatsNewTheme.ps1 -AppPid <settings-process-id>

The script uses English UI labels and winapp CLI. Its default executable

is the checkout's x64 Debug build; use -ExpectedExecutable when

deliberately comparing a different build. Review the PNGs manually; a

successful capture is not a visual PASS.


Remaining manual coverage



  • Windows Light + PowerToys Dark, and high-contrast transitions.

  • Caption hover, inactive, and maximized states.

  • Actual fenced-code rendering: the corresponding renderer properties

    compile and its implementation was inspected, but no retained

    fenced-code fixture was found in the fetched stable notes after

    installer-hash sections were removed.


These are explicitly unverified, not claimed as passing. No full

release/module verification is claimed.




(cherry picked from commit bce86ab)


Co-authored-by: Copilot [email protected]

Copilot-Session: b53a83e5-69a1-4b97-a4c6-378bdf88657a

🔍 CTI & Forensik

Cyber Threat Intelligence & Forensik

ATT&CK-Navigator · IoC-Radar · Exploit-Belege
CTI Threat Relationship Graph
Akteure · Techniken · Beziehungen
2 Knoten · 1 Relationen
CVE / Incident Threat Actor Software MITRE ATT&CK CWE Weakness IoC
Intelligence Digest — free The top security news daily · unsubscribe anytime
Community Rating & Social Proof
⭐ Leser-Wertung
–
Ø / 5.0
No reader ratings yet
Was this page helpful?
0
Jetzt Bewertung abgeben
🟢 Niedrig (1-3.9) 🟡 Mittel (4.0-6.9) 🔴 Hoch (7.0-8.9) Kritisch (9.0-10.0)

Related story clusters & sources (vector AI)

Pull to refresh
Nächster Beitrag