momPanel v0.4.0
Added
- High-memory alert. A background watcher (
src-tauri/src/memwatch.rs) polls RAM
every 2s on its own thread — independent of the frontend tile loop, which pauses when
the window is hidden — and fires a native critical desktop notification
(notify-send -u critical, reliable on GNOME/Wayland where a client window cannot pin
itself on top). Backend-driven audio: an alert tone (canberra-gtk-play) and a
spoken warning naming the top memory consumer (spd-say, e.g. "Memory usage high.
Opera is using 4.3 gigabytes."), played at a 60% volume floor (wpctl, boosts if
low, never lowers, restores after). A pure, tested escalation state machine
(memwatch::advance): trigger → pulse every ~30s → centered modal (memwarn,
src/warn.html/warn.js) if still unacknowledged. 7-point hysteresis; Dismiss
(dismiss_mem_warn) suppresses until recovery; Open momPanel (open_main_window). - Theming / personalization. Curated color slots via CSS variables — accent,
background, tile, and a 3-color gauge palette (gauge.jsrefactored to read
--gauge-ok/warn/bad). Text (--ink) auto-contrasts from background luminance so a
light background stays readable. Named presets (Midnight/Warm/High-contrast) + per-slot
color pickers + reset in the About panel; applied on boot viasrc/theme.js; persisted
as athemeobject in config. - Settings (About panel): warn on/off, threshold 70–90% (5% steps), sound on/off +
tone picker + volume-floor selector, speech on/off, pulse on/off, escalation
on/off, and an alert-dialog color (styles the escalation modal, auto-contrast text).
Persisted asmem_warn_*fields. - Capability
memwarnscoping the modal window (event + window hide/close).
Changed
- Closing the main window now explicitly quits the app (the persistent hidden modal
window would otherwise keep the process alive).
Notes
- Linux is the v1 target for the alert's audio/notification; Windows toast + TTS are a
follow-up. The updater/AppImage pipeline is unchanged.
Installs and updates automatically from this release. Linux/Zorin: download the AppImage (the self-updating bundle). Windows: run the _x64-setup.exe.