Skip to content

feat(tray): live signing-progress pill bar in the menu bar#193

Open
time-attack wants to merge 1 commit into
claration:mainfrom
time-attack:emdash/progressbar-bar-mjcvp
Open

feat(tray): live signing-progress pill bar in the menu bar#193
time-attack wants to merge 1 commit into
claration:mainfrom
time-attack:emdash/progressbar-bar-mjcvp

Conversation

@time-attack
Copy link
Copy Markdown

Summary

  • Adds a live pill-bar progress indicator next to the Impactor menu-bar icon while an app is signing/installing.
  • Rebuilds the tray icon bitmap each progress tick (set_icon) so the pill fills as percent advances; % text is also set via set_title.
  • Icon and title are restored when signing finishes or errors.

Implementation

  • apps/plumeimpactor/src/tray.rs:
    • Wider RGBA canvas = original 64x64 glyph + 14px gap + 132x12 rounded pill, drawn pixel-wise into a template icon (alpha-only on macOS).
    • New set_signing_progress(percent) / clear_signing_progress() on ImpactorTray.
  • apps/plumeimpactor/src/screen/mod.rs:
    • ProgressScreen message handler drives the tray on every InstallationProgress tick and clears on InstallationError/InstallationFinished.

Test plan

  • Signs an app on macOS; pill fills smoothly and % updates next to the icon
  • Pill + title clear after a successful install
  • Pill + title clear after an installation error
  • Sanity-check on Linux/Windows (set_title behavior differs per platform; icon swap is supported on all three)

…icon

Replace the tray icon with a wider canvas during signing: the original
Impactor glyph stays put, and a rounded pill track + fill is drawn next
to it that grows from 0%->100%. Percent is also written into the icon
title (visible next to the icon on macOS). Both clear on finish/error.
@time-attack
Copy link
Copy Markdown
Author

CleanShot 2026-05-12 at 14 48 20 this is what it looks like by the way

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.

2 participants