Rectangle icon indicating copy to clipboard operation
Rectangle copied to clipboard

Cycle through display no longer maximizes windows when moving from smaller to larger window

Open corneliusroemer opened this issue 2 years ago • 5 comments

I have Repeated commands: cycle through displays set in preferences.

Since version 0.71, when I move a window (maximized on smaller screen) from smaller to larger screen (on a two screen setup), it no longer is maximized on the larger screen. I'm pretty sure that behavior was different up to version 0.70 as I can't remember ever noticing this. It's possible that this issue only appears on a strictly two screen setup (I usually either have 0 or 2 external monitors wired up, right now I have 1).

The issue is, that I can no longer just click ctrl+option+enter twice, to move a window to a different screen and have it maximized there.

Interestingly, waiting doesn't seem to help either. It seems there is no time out for the "repeated commands" activation. Maybe if you only count something as repeated if it happens within at most 5 seconds, that would be a workaround. Then I'd just have to wait before moving the screen.

I know, I could also use the normal moving window to different screen shortcut ctrl+option+cmd+left/right but somehow I just prefer to cycle and maximize, it's less to remember. 99% of my rectangle usage is ctrl+option+enter to both: maximize AND cycle.

  • [x] This is a new bug that hasn't been documented in a closed issue or in the Readme.

macOS version: 13.5.2 (arm) Rectangle version: 0.71 Logs if applicable (In Rectangle menu, hold option, "View Logging..."):

2023-09-19T15:28:14+02:00: AX sizing proposed: (2560.0, 1440.0), result: (2135.0, 770.0)
2023-09-19T15:28:14+02:00: AX position proposed: (-452.0, -1440.0), result: (-452.0, -1440.0)
2023-09-19T15:28:14+02:00: AX sizing proposed: (2560.0, 1440.0), result: (2560.0, 1440.0)
2023-09-19T15:28:14+02:00: maximize | display: (-452.0, 1117.0, 2560.0, 1440.0), calculatedRect: (-452.0, -1440.0, 2560.0, 1440.0), resultRect: (-452.0, -1440.0, 2560.0, 1440.0), srcScreen: LU28R55, destScreen: LU28R55, resultScreen: LU28R55
2023-09-19T15:28:15+02:00: AX sizing proposed: (1728.0, 1085.0), result: (1728.0, 1085.0)
2023-09-19T15:28:15+02:00: AX position proposed: (0.0, 32.0), result: (0.0, 32.0)
2023-09-19T15:28:15+02:00: AX sizing proposed: (1728.0, 1085.0), result: (1728.0, 1085.0)
2023-09-19T15:28:15+02:00: maximize | display: (0.0, 0.0, 1728.0, 1085.0), calculatedRect: (0.0, 32.0, 1728.0, 1085.0), resultRect: (0.0, 32.0, 1728.0, 1085.0), srcScreen: Built-in Retina Display, destScreen: Built-in Retina Display, resultScreen: Built-in Retina Display
2023-09-19T15:28:16+02:00: AX sizing proposed: (2560.0, 1440.0), result: (1728.0, 1085.0)
2023-09-19T15:28:16+02:00: AX position proposed: (-452.0, -1440.0), result: (-452.0, -1440.0)
2023-09-19T15:28:16+02:00: AX sizing proposed: (2560.0, 1440.0), result: (2180.0, 1440.0)
2023-09-19T15:28:16+02:00: maximize | display: (-452.0, 1117.0, 2560.0, 1440.0), calculatedRect: (-452.0, -1440.0, 2560.0, 1440.0), resultRect: (-452.0, -1440.0, 2180.0, 1440.0), srcScreen: LU28R55, destScreen: LU28R55, resultScreen: LU28R55
2023-09-19T15:28:17+02:00: AX sizing proposed: (1728.0, 1085.0), result: (1728.0, 1085.0)
2023-09-19T15:28:17+02:00: AX position proposed: (0.0, 32.0), result: (0.0, 32.0)
2023-09-19T15:28:17+02:00: AX sizing proposed: (1728.0, 1085.0), result: (1728.0, 1085.0)
2023-09-19T15:28:17+02:00: maximize | display: (0.0, 0.0, 1728.0, 1085.0), calculatedRect: (0.0, 32.0, 1728.0, 1085.0), resultRect: (0.0, 32.0, 1728.0, 1085.0), srcScreen: Built-in Retina Display, destScreen: Built-in Retina Display, resultScreen: Built-in Retina Display
2023-09-19T15:28:17+02:00: AX sizing proposed: (2560.0, 1440.0), result: (1728.0, 1085.0)
2023-09-19T15:28:17+02:00: AX position proposed: (-452.0, -1440.0), result: (-452.0, -1440.0)
2023-09-19T15:28:17+02:00: AX sizing proposed: (2560.0, 1440.0), result: (2180.0, 1440.0)
2023-09-19T15:28:17+02:00: maximize | display: (-452.0, 1117.0, 2560.0, 1440.0), calculatedRect: (-452.0, -1440.0, 2560.0, 1440.0), resultRect: (-452.0, -1440.0, 2180.0, 1440.0), srcScreen: LU28R55, destScreen: LU28R55, resultScreen: LU28R55

corneliusroemer avatar Sep 19 '23 13:09 corneliusroemer

Thanks for reporting with details. This issue was introduced by macOS somewhere around when Ventura was originally released, and it appears to affect only certain displays, and maybe certain Macs. I still don't have a workaround for it, since it's a timing sensitive issue and I typically don't like solutions that involve performing an action then polling for some time to see whether or not they correctly took effect - it tends to lead to more bugs or slow feeling behavior.

Version 0.71 had only one code change and it was regarding the processing of window information upon down click for drag to screen edge snapping behavior (a workaround for a different macOS bug), so it's fairly safe to rule out a Rectangle change causing this for you. If you do end up trying out old versions of Rectangle and find one that does work, then I'll analyze the differences and should be able to come up with a solution.

rxhanson avatar Sep 19 '23 14:09 rxhanson

I am having a similar issue. I have a large external monitor which I use at the same time as my macbook screen. The drag and snap feature only works part of the time on my external monitor, but works fine when the window is on my macbook screen. I would gladly enable debug to help you find the root cause of this issue. This just started happening in the last week.

In case it helps, I can still click on the rectangle app and choose "left half"/"right half" and it works properly. I have had a mac os update and a rectangle update in the last week, so I don't know which caused the issue. If there is a link to .70 version of rectangle, I would love to install that and see if the issue goes away.

Thanks much

AdamBroadcom avatar Sep 20 '23 14:09 AdamBroadcom

@AdamBroadcom thanks for letting me know. There is already a discussion around this topic, located here: https://github.com/rxhanson/Rectangle/discussions/1265

rxhanson avatar Sep 20 '23 23:09 rxhanson