AutoRaise icon indicating copy to clipboard operation
AutoRaise copied to clipboard

Feature request: Monitor edge exclusion zone

Open Riyyi opened this issue 3 months ago • 4 comments

Hello,

I'm encountering an usability oddity when using AutoRaise in combination with AeroSpace.

AeroSpace doesnt use macOS "Spaces" but implements their own workspaces, it does this by moving the windows out of the screen when switching workspaces. macOS has a limitation however, that windows cannot be moved entirely out of the display, a small corner always needs to be visible. So AeroSpace tries to use the bottom-left and bottom-right corner to place these windows in, see docs here.

My issue is that AutoRaise will trigger when flicking the mouse over this section, and then AeroSpace will switch to that workspace. This is what my monitors bottom-right corner looks like:

Image

When searching through the issues for similar reports, I found the one with the mouse margin feature request (#149), where it was recommended to use mouseDelta. I played with this, but I couldn't achieve the desired effect.

I want to request a similar but not exactly same feature. Would it be possible to define a "monitor edge exclusion zone"? To specify a certain amount of pixels, kind of like a border around the display edges, that will be ignored by AutoRaise.

For example: ignoreMonitorEdgeSize=5px

Image

Thanks for your consideration.

Riyyi avatar Oct 11 '25 12:10 Riyyi

@Riyyi

Thanks for the detailed explanation. I suppose having a small exclusion zone should be possible. You are suggesting 5px but wouldn't 1px be enough?

sbmpost avatar Oct 13 '25 06:10 sbmpost

The 5px was just a guess from me. Just measured the screenshot and its actually 3px from the edge of the display until the edge of the window (its 8px in total, but I also use JankyBorders and those dont trigger AutoRaise). Also tried changing the text scaling in system settings and the distance remains the same.

Riyyi avatar Oct 13 '25 08:10 Riyyi

I have added a compile time flag called SCREEN_EDGE_CORRECTION. See #260. For your specific use case you might want to go into the code (AutoRaise.mm), and remove/disable the line which says: #define SCREEN_EDGE_CORRECTION. Then recompile according to the instructions in the README. If this works, we can make this a command line option later.

sbmpost avatar Oct 27 '25 15:10 sbmpost

I've done some testing and my issue seems to be related to EXPERIMENTAL_FOCUS_FIRST=1 and options delay=0 focusDelay=1.

With the above settings I can still reproduce the issue on the AutoRaise-5.6 branch (with and without commenting the suggested line) and v5.5 tag.

However, when I use the options delay=1 focusDelay=0 (regardless of the compile flag), then it seems to ignore the corner windows properly. It also seems to handle single processes with multiple windows better.

Riyyi avatar Oct 27 '25 21:10 Riyyi