Skip to content

v1.1.0-dev.94: Zoom changes stop moving your windows

Pre-release
Pre-release

Choose a tag to compare

@defessler defessler released this 31 Aug 21:52

v1.1.0-dev.94: Zoom changes stop moving your windows

Pre-release off the dev branch. Builds on v1.1.0-dev.93.

Three fixes, all about what a zoom change is allowed to move.

Layouts saved at one zoom now load exactly as saved

A layout saved at 100% zoom and loaded at 150% came back with every
window half again too big and half again too far from its corner.

The restore math rescaled positions and sizes by the zoom ratio, on the
theory that a window's apparent size should follow the zoom. The theory
missed one thing: the monitor's physical pixel grid, the grid your
windows actually live in, does not move when the zoom changes. Only the
logical one does. So the rescale moved windows that had no reason to
move.

Saved coordinates are physical pixels and go back as physical pixels
now, with no rescale in either direction. Save at 100%, load at 150%,
and every window lands exactly where you put it, at exactly the size
you gave it. Same for any zoom change in either direction, and for
windows moving between monitors that run different zooms.

The app's own controls at zoom other than 100%

Reported as the app's buttons rendering the wrong size at any zoom past
100%, even after a restart. On real displays every path we could
measure behaves correctly, so this targets the one desk configuration
we could not reproduce here: virtual displays whose driver reports a
scale the app's renderer disagrees with.

The app now checks its renderer's scale against the display's real
scale when windows open, move, or sit through a zoom change, and
corrects the page when the two disagree. Where they already agree,
which is every desk we could measure, the check does nothing. If your
desk still shows the wrong sizes on this build, the app's crash.log
(in the app's data folder) will carry a "renderer scale guard" line
naming both numbers, which tells us exactly what to fix next.

The resolution dropdown no longer clips at the window edge

The resolution dropdown in a profile's Display settings could open
with its tail cut off by the bottom of the window, the last rows
unreachable. The panel's minimum height could exceed the space left
below the button it opens from. The available space is the limit now:
the panel fits the window wherever it opens, near the bottom edge or
anywhere else.

Install

Auto-updates from dev.53 and later. Otherwise unzip and run.