Conversation
Popups were positioned relative to (max(parent_x, 0), max(parent_y, 0)), and then clamped again to the primary screen's width/height, so a root window on a monitor left of/above the primary (negative coordinates) got its dialogs placed near the primary monitor's corner instead of next to the actual window.
let's try this instead in case it ends up outside of screen
|
Noted - I can run tests on Windows 11 and Debian later. Once I get my second monitor set up again. |
|
Finally had a chance to test this. On Windows, the select game/cardset/table tile windows do display on the same screen correctly. But other dialogs (like statistics or the solitaire wizard) end up somewhere in the middle when I'm on the right hand screen. And the loading window always shows on the main monitor, where the app always starts. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Had claude take a kick at it. It suggested centering the window over the main window, which makes sense to me. Will try on Windows later today. |
Okay. Let me know when you're ready for my re-review. |
Remembers where you left the app window (position, size, monitor) and reopens it there next time — previously it always reset to a default spot. Also fixes popup dialogs (like confirmation prompts and the cardset picker) so they show up next to the actual window instead of jumping back toward the primary monitor when the app is on a second screen. Had to change a few lines in tkutil to ensure that it would still work even if the secondary monitor is positioned to the left (creates a -x situation).
Needs more testing - tested on macOS 27 dev beta and Debian 11 Bullseye. Requesting a few folks give this a try and see how it performs - I already found one issue with it, hence the most recent commit.
Implements #560