Skip to content

Reframe v1.3.0

Choose a tag to compare

@shuiandy shuiandy released this 02 Aug 05:52

What's new in v1.3.0

Window-position persistence, rebuilt

Remember-and-restore now actually survives the real world:

  • Windows are identified by process + window class, not by handle — an app that restarts (a browser update, a crash, a reboot) is re-claimed and moved back to its remembered place instead of being forgotten.
  • Layouts persist to disk (%LOCALAPPDATA%\Reframe\window-layouts.json, atomic writes, corruption-tolerant) and survive reboots.
  • Each display scale factor keeps its own layout. Changing Windows scaling (say 150% → 175%) leaves the physical resolution unchanged, so it used to silently corrupt the remembered layout; scale is now part of the layout key, and switching back finds the old layout intact.
  • A window is only moved when Reframe can tell which window it is. Multi-window Electron apps (QQ, and friends) share one window class for every window; pairing them by guesswork used to reshape a chat window into the main panel's rect. Restores are now gated on confident identification (a unique caption, or an unambiguous 1:1) — when in doubt, Reframe records where a window is instead of guessing where it belongs.
  • Post-wake scrambling grace extended so a monitor waking up slowly can't overwrite a freshly restored layout.

Fullscreen handling

  • Exclusive-fullscreen games have no manipulable window; Reframe now detects that state and tells you to switch the game to windowed/borderless instead of failing silently. Borderless-fullscreen windows are taken over normally.

Fixes

  • Start-on-login task no longer kills the app after 3 days. Tasks created by schtasks inherit a default 3-day execution limit that the command line cannot disable; the task is now registered via XML with no limit, and existing installs self-heal on the next launch.
  • WER crash dumps are now actually registered (previously written to a hive WER never reads).
  • Crash log now brackets every session and records exit/toggle provenance, so a vanished process is diagnosable after the fact.

356 tests green.

Full changelog: v1.2.0...v1.3.0