Skip to content

Halo v3.1.1 — real scrubbing, a ring that means something, and 60fps in the panel

Choose a tag to compare

@phoseinq phoseinq released this 27 Jul 02:17

A polish release, mostly about things that moved badly or drew a shape they shouldn't have.

The panel was redrawing at 3.5 frames a second

Anything animated in the pill asks for frames, but that request was only honoured while the pill was collapsed — with the panel open it redrew only when something else happened to mark it dirty. Measured with a title scrolling at 42px/s: 42 distinct frames in 12 seconds. Now 249. This was starving the waveform, animated album art and the scrolling title all at once.

Media

  • Press and drag the bars. They were click-only, so dragging one was a series of separate seeks, each waiting for the player to answer — which is what made it move in steps. Held, the bar swells to three times its size and follows your cursor, and the seek commits once when you let go. The timestamp previews where you're about to land instead of showing the old position.
  • Holding a control no longer walks off with the pill. Press-and-hold on the panel is the move gesture, so holding the seek bar started dragging the whole pill sideways — and the position is saved, so it stayed there.
  • A long track title scrolls while your pointer is on it, and returns to the start when it leaves.
  • Animated GIF covers keep animating even while paused.

Session circle

The ring around a Claude Code / Codex circle was permanently full, so it said nothing. It now draws your usage window as an arc — the 5-hour figure, with the weekly one standing in when that hasn't been fetched — while the colour still shows what the session is doing. Colour is state, fill is budget.

A single session also no longer wears a "1" badge; the number appears when there's more than one session to tell apart, which is when it means something.

Shapes that were showing their edges

  • The glow was a rectangle. Its dither noise was added to the radial falloff, so every pixel outside the circle sat one or two steps above transparent and the texture's own square boundary stayed faintly lit.
  • The strip's icon wash was a square — a flat accent rectangle behind every circular icon, obvious behind a colourful album cover.
  • The copy-code pill is centred. The icon sat above the label because centring uses the font's line box, and two glyphs of the same icon font differ in ink height.

DynamicWinSetup.exe is the signed installer. DynamicWinPortable.zip needs no install — unzip and run. If you're already on 3.1.0, Halo will pick this up on its own within a day.

And one the release itself was cut too early to include

Close the last thing running — a VLC video ending is the easy way to see it — and a small grey rounded rectangle stayed behind at the notch. It looked like it was colour-matching your wallpaper, and it was: it was your wallpaper. When nothing is active the pill fades to an invisible strip that still catches a dragged file, but the glass layer underneath ignored that and kept painting a blurred picture of whatever sat behind it. The notch region is now pixel-identical to Halo not running at all.

Re-cut with the glass and gesture fixes

The build behind this tag was replaced after release. What changed:

  • The glass backdrop was about six frames behind the screen. The capture read the window DC, which is
    black for GPU-composited content, so every browser and video player fell through to a full-window
    PrintWindow at roughly 30ms; the blur then expanded to full size twice. It reads the screen DC, expands
    once, and refreshes every 32ms instead of every 200ms. 57ms to 6.1ms per capture.
  • Pinning no longer decides whether the pill appears in screen captures, because a pill that capture
    can see can see itself, which forced the slow path above. Capture visibility is its own setting now:
    tap the pushpin to pin, press and hold it for the other one.
  • Three gestures were stealing the press-to-move. Holding the pushpin, dropping a file on the tray and
    reordering a tray item all look identical to "button held over the pill", and each used to carry the
    pill off sideways mid-action.
  • Cancelling a Chrome download with a long list. It walked keyboard focus, up to 60 tab presses,
    stepping visibly down the list — and any mouse movement landed the cancel on the wrong row. Chrome's
    download bubble has no Cancel to reach, so that walk could never have worked there; it goes straight to
    the downloads page. Edge still needs the walk and now stops the moment focus or the pointer moves.
  • The installer offers to set up the Codex hooks for you, and the uninstaller removes them.