Skip to content

Move to PlatformHeads 0.12.0 and drop the copies it now holds - #97

Merged
SimonCropp merged 2 commits into
mainfrom
platformheads-0.12
Nov 4, 2026
Merged

SimonCropp merged 2 commits into
mainfrom
platformheads-0.12

Conversation

@SimonCropp

Copy link
Copy Markdown
Owner

PlatformHeads 0.12.0 (PlatformHeads#13) now has the update report and the menu renderer that BuildMonitor kept copies of. This moves the seven pins to 0.12.0 and deletes the copies.

Pins. All seven move to 0.12.0 together.

Update report. UpdateOutcome.Take goes through ToolUpdateOutcome.Report and keeps its log lines. UpdateOutcome.Describe is deleted.

  • Wording change: a failed update's notification is titled "BuildMonitor did not update" instead of "Update failed". It names the app, as DiffEngineTray's does. A success still says "BuildMonitor updated" and "Now running {version}.".
  • The two tests that called Describe now write an outcome file and take it.

Menus. MenuRenderer and MenuColours are deleted. MenuTheme.Apply now assigns PaletteMenuRenderer with a MenuPalette made from the palette at that moment, using the colours the old table used.

  • The old renderer read Palette while drawing, so a menu followed a change of theme. Every menu here calls Apply each time it opens: the rows' context menu, the select control and the tray, through NotifyIconOptions.Theme. So the new renderer is made from the current theme whenever a menu opens, and menus still follow a change.
  • One difference: the middle of a pressed item's gradient now takes SelectedRow, like the start and end of it. The old table left it at the system default.

Tray flags. ScreenPayload writes TrayMenuItem.Flags masked to Enabled and Separator, which are the same values as BM_TRAY_ENABLED and BM_TRAY_SEPARATOR. BmFlags.TrayEnabled and TraySeparator are deleted. The ABI is unchanged, and nothing native changed.

Not taken. The flat menu tree in PlatformHeads is for an ABI with submenus and checks. BmTrayItem has neither, so nothing here moves onto StatusMenuItem.tree.

Tests. Locally on Windows, the Release build had no errors. The whole solution passed: 1,610 tests, with 14 skipped and none failed. Nothing here snapshots a menu, so no menu was looked at; PlatformHeads' PaletteMenuRendererTests cover the colour table and the text colours.

SimonCropp and others added 2 commits November 4, 2026 18:02
The seven pins move together to 0.12.0, which shares the update report
and the menu renderer.

The tray reports an update through ToolUpdateOutcome.Report, whose
failure says "BuildMonitor did not update" where it said "Update
failed". Menus are drawn by PaletteMenuRenderer, made from the palette
each time a menu opens, so a menu still follows a change of theme. The
tray's items go to the native heads as TrayMenuItem.Flags, of which the
ABI carries the first two.
Co-authored-by: SimonCropp <122666+SimonCropp@users.noreply.github.com>
@SimonCropp
SimonCropp merged commit 8f49295 into main Nov 4, 2026
18 of 19 checks passed
@SimonCropp
SimonCropp deleted the platformheads-0.12 branch November 4, 2026 11:28
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.

1 participant