8 Commits
Author SHA1 Message Date
David Heinemeier HanssonandClaude Fable 5 b538dd545a Persist integer GDK_SCALE when monitor scale is fractional
GTK only honors whole-number GDK_SCALE values, so persisting 1.6 or 1.25
verbatim left GTK apps without a usable scale. Round to the nearest whole
factor when writing monitors.lua.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 08:30:12 -05:00
David Heinemeier Hansson 202296324a Keep display scaling options consistent 2026-07-23 20:37:25 -07:00
David Heinemeier HanssonandClaude Fable 5 0526ebefcc Snap monitor scaling up to the nearest clean scale Hyprland accepts
Hyprland only takes scales where the mode divides into whole logical
pixels (in 1/120 steps), so picking 3x on a 1280x800 QEMU display threw
a red error overlay and silently kept the old scale. Round the request
up to the nearest clean divisor instead, so 3x becomes 3.2x.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 21:52:32 -07:00
David Heinemeier Hansson 6ba0e9c234 Fix monitor scaling down getting stuck at 3x due to floating point drift
Hyprland can report a scale set to 3 as something like 3.0000000000000004.
The previous directional comparison treated that as above the 3 preset, so
Super+Alt+Slash (scale down) would stay at 3 instead of reaching 2.

Snap the reported scale to the nearest preset first, then step up/down.
Add a regression test for the floating-point case.
2026-07-19 09:10:14 -07:00
David Heinemeier Hansson 9dcb7c78dd Audit monitor scaling changes 2026-06-29 15:43:11 -05:00
David Heinemeier Hansson dafc400891 Move monitor scaling off Super slash 2026-06-29 13:24:56 -05:00
David Heinemeier Hansson 1220a031b3 Limit monitor scale stepping to normal range 2026-06-29 13:19:14 -05:00
David Heinemeier Hansson 89a6517018 Simplify scaling 2026-05-17 21:44:08 +02:00