Skip to main content

max / makeover-immediate

0.41.0: widget::act draws the hint as a hover makeover-layout 0.40.0 gives Act a hint. egui has a pointer, so a hover is honest on this host in a way it is not on a terminal. quasi-immediate was calling on_hover_text outside this widget because layout::Act carried no hint, so a makeover host that was not quasi got nothing. It is inside now.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session
https://claude.ai/code/session_0136sbU8F6i9WrcvA3wn4Lgk
Author: Max Johnson <me@maxj.phd> · 2026-08-29 18:44 UTC
Signed with PGP, not checked
Commit: af6fcf829a44f7c3905f721442cdb36510215236
Parent: c1a8e92
2 files changed, +15 insertions, -4 deletions
M Cargo.toml +2 -2
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "makeover-immediate"
3 - version = "0.40.0"
3 + version = "0.41.0"
4 4 edition = "2024"
5 5 description = "The immediate-mode renderer for makeover-layout. Immediate mode is the constraint that matters, not the library: no cascade, no retained tree, one stroke per widget. Backed by egui."
6 6 license = "MIT"
@@ -12,7 +12,7 @@
12 12 # Exact patch rather than the minor, as the rest of the suite pins: a
13 13 # minor-only requirement is satisfied by a consumer lock holding an earlier
14 14 # patch, which then fails to compile against an API added in a later one.
15 - makeover-layout = "0.39.0"
15 + makeover-layout = "0.40.0"
16 16 # The cadence the activity mark blinks at, and the motion-off seam beside it.
17 17 # Taken rather than chosen here: three renderers draw this mark and a number
18 18 # picked per renderer is three heartbeats for one wait.
M src/widget.rs +13 -2
@@ -250,10 +250,21 @@
250 250 } else {
251 251 palette.tone(act.tone)
252 252 };
253 - ui.add_enabled(
253 + let drawn = ui.add_enabled(
254 254 !disabled,
255 255 egui::Button::new(RichText::new(label).color(colour)),
256 - )
256 + );
257 + // Standing help, as a hover, which is honest on this host in a way it is
258 + // not on a terminal: egui has a pointer. `makeover_tui` says the same
259 + // sentence as a muted row under the control.
260 + //
261 + // Drawn here rather than by the caller as of `Act::hint` (0.40.0). quasi's
262 + // egui renderer was doing exactly this outside the widget because
263 + // `layout::Act` carried no hint, so a host that was not quasi got nothing.
264 + match act.hint {
265 + Some(hint) => drawn.on_hover_text(hint),
266 + None => drawn,
267 + }
257 268 }
258 269
259 270 /// A figure: the value, then what it counts under it.