Skip to content

Halo v3 — glass-notch rewrite - #91

Open
phoseinq wants to merge 49 commits into
FlorianButz:V2from
phoseinq:V3
Open

Halo v3 — glass-notch rewrite#91
phoseinq wants to merge 49 commits into
FlorianButz:V2from
phoseinq:V3

Conversation

@phoseinq

Copy link
Copy Markdown

This proposes Halo v3 — a from-scratch rewrite of DynamicWin as a glass notch (Dynamic Island) for Windows, built in C# on Windows.UI.Composition.

Highlights:

  • Media with a live waveform + full controls (animated GIF cover art)
  • Notifications mirrored into the pill, real app icons, expand grabber, and a Copy button for 2FA codes
  • File Tray (drag in / drag out), Bluetooth battery ring, live Claude Code / Codex panels, downloads with stop
  • Pin over fullscreen apps and screen recordings

Full source (MIT), bilingual README, and signed release: https://github.com/phoseinq/DynamicWin/releases/latest

phoseinq added 24 commits July 25, 2026 19:19
Every string a translation pass tends to miss sat exactly where the same text was
written out twice, far apart, with nothing marking them as a pair:

- QueueRamNotice/QueueCpuNotice were two copies of one banner, plus two more copies
  in PollTestNotif -> a single QueueLoadNotice
- "net"/"api" had four spellings per agent widget, eight literals for two words ->
  Fx.NetLabel / Fx.ApiLabel / Fx.LossLabel
- the screenshot wording existed in both OnClipboardImage and the --render-notif dev
  hook, so the preview image could drift from what users actually see -> shared
  constants on NotifItem

Also removes a stray file-header comment that had leaked into Interop/Clipboard.cs.

Verified: Release build 0 warnings/0 errors, full test suite green, and the rendered
widget output is identical to before the refactor.
sz = h - 12 and rr = sz/2 - 1, so at h <= 14 the battery ring radius reaches zero and
GDI+ rejects the arc with "Parameter is not valid". The pill tucks into a 96x12 tab, so
any Bluetooth device shown while tucked threw on every frame. Render exceptions are
swallowed, so the only symptom was a pill that stopped updating.

Guarded with an early return below 16px; nothing legible fits at that size anyway.
docs: update license reference to MIT
…he limit, and an open panel that draws at 60
…t, a panel that draws at 60, and an empty pill that is actually empty
@FlorianButz

Copy link
Copy Markdown
Owner

Hey! This seems like nice rework, but why do you want it merged?
You can keep it as your own standalone version of this app and could post it to the discord

@phoseinq

Copy link
Copy Markdown
Author

Thanks for the clarification!

You're right — Halo has grown into a complete from-scratch rewrite with its own architecture, UI, and direction, so keeping it as a standalone project makes sense.

I opened this PR because Halo originally started from DynamicWin, and I felt it was only fair to offer the finished result back to the original project before continuing independently. I never intended to replace or redefine the direction of DynamicWin.

Thanks again for taking the time to review it and for the feedback. I really appreciate it.

phoseinq added 17 commits July 30, 2026 17:03
…and the speed list rebuilt in the panel's own language
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.

3 participants