mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-25 17:52:02 +02:00
When there is no focused or recently-focused window to key off of (the typical first-window-at-startup case), glfwGetWaylandCurrentMonitorFractionalScale fell back to the registry-first output (monitors[0]). Registry/connector order is semi-arbitrary and uncorrelated with where a compositor actually places a new window, so on a multi-monitor setup with mixed fractional scales the first window could be born at the wrong size. Prefer the output at the logical origin (0, 0) instead: the compositor's top-left/primary output is a better guess for initial placement than registry order. Fall back to monitors[0] when no output reports (0, 0). Since xdg_output geometry (including position) arrives asynchronously and x/y read zero until it does, wait for every monitor's logical geometry before trusting the reported positions, so an as-yet-unpositioned output cannot spuriously match (0, 0). Discussed in #10268. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjwP6hQjA6GMuiM7Mf9VAx
14 KiB
Vendored
14 KiB
Vendored