Rectangle icon indicating copy to clipboard operation
Rectangle copied to clipboard

Snap window by dragging still works when "Ignore X" is toggled for an application

Open francis2054 opened this issue 3 years ago • 3 comments

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

macOS version: Ventura 13.1 Rectangle version: 0.64 (71) Logs if applicable (In Rectangle menu, hold option, "View Logging..."): This (below) happens when snapping when the app is ignored

2023-01-23T19:26:04+01:00: AX sizing proposed: (2560.0, 996.0), result: (1553.0, 995.0)
2023-01-23T19:26:04+01:00: AX position proposed: (0.0, 25.0), result: (0.0, 25.0)
2023-01-23T19:26:04+01:00: AX sizing proposed: (2560.0, 996.0), result: (2560.0, 995.0)
2023-01-23T19:26:04+01:00: maximize | display: (0.0, 59.0, 2560.0, 996.0), calculatedRect: (0.0, 25.0, 2560.0, 996.0), resultRect: (0.0, 25.0, 2560.0, 995.0), srcScreen: 29EA93, destScreen: 29EA93, resultScreen: 29EA93
2023-01-23T19:26:05+01:00: AX sizing proposed: (902.0, 914.0), result: (902.0, 914.0)

Not entirely sure if this is a bug or intended function

francis2054 avatar Jan 23 '23 18:01 francis2054

Thanks for reporting. This is intended functionality, although it is confusing.

Typically, the scenario that users would want drag snapping disabled for a specific app is if it negatively impacts that app's functionality; otherwise it is likely that a user would just disable it entirely. The reason it could negatively impact an app is because Rectangle will listen to click/drag events when it is enabled. There are only a small handful of apps that I've noticed that are negatively impacted, so I manually add those when they are reported, and Rectangle will stop listening to click/drag events when those apps are frontmost. If it were to do this for apps that are ignored, then windows in the background would not be drag-snappable until the frontmost app changes away from those ignored apps (not ideal).

We could make it do what you expect by checking the app of the window as it gets dragged, but up to this point you're the first to report anything on it so I suspect it's not in high demand. I don't mind merging a pull request that adds this if anyone wants to give it a go.

rxhanson avatar Jan 23 '23 19:01 rxhanson

Would there be a way to let users manually add apps to the disable drag snapping list?

ok-andy avatar Jun 28 '23 13:06 ok-andy

@ok-andy You can add this list yourself with a defaults command, where you fill in the bundle ids for the apps you want to additionally disable snapping for when the app is ignored:

defaults write com.knollsoft.Rectangle fullIgnoreBundleIds -string "[\\"com.example.bundleID\\"]"

(I use an app called prefseditor to easily edit defaults, so the exact syntax here with cancelling out the quotes might not be right, you might have to play around with it a bit)

Restart the app after executing the terminal command.

rxhanson avatar Jun 28 '23 18:06 rxhanson

A while back, the default behavior became that ignoring an app would also ignore snapping.

rxhanson avatar Jul 21 '24 17:07 rxhanson