Make a window or app ”restricted” for other apps

I have a client who gave me an interesting question; He wants to have his Reminder app always to the right, and always visible. That can be done by various apps as far as I know (some good and some bad, I haven’t really found a perfect one yet).
But he also wants that part of the monitor to be out of bounce for other apps. Eg, if you try to resize a window to the right, it should stop when you reach the left edge of the “restricted” area.

It’s like making that area of the screen not usable by other apps.

Is there such an app? Is it even possible?

This can be done with tiling window manager yabai. But yabai will automatically handle other app’s windows, no idea whether that’s something your client wants.

1. Space padding

You can use space padding to make the room that’s used by yabai smaller:

I use this code (via a shortcut) to have 30% free room on the space’s right side. In your scenario you could simply change the padding in the yabairc config file as your client probably doesn’t need a shortcut.

currentSpace=$(yabai -m query --spaces | jq '.[] | select(."is-visible" == true) | .index' | head -1 ); \
paddingRight=$(yabai -m config --space $currentSpace right_padding); \
paddingTop=$(yabai -m config --space $currentSpace top_padding); \
paddingBottom=$(yabai -m config --space $currentSpace bottom_padding); \
if [[ "$paddingRight" -eq 768 ]]; then; \
	yabai -m space --padding abs:$paddingTop:$paddingBottom:6:6; \
else; \
	yabai -m space --padding abs:$paddingTop:$paddingBottom:6:768; \
fi

If you open Reminders.app after changing the space padding then it looks like this:


2 - Exclude Reminders.app

Exclude the Reminder.app from yabai in the yabairc file:

yabai -m rule --add app="^Reminders$" manage=off

After changing the space padding and excluding Reminders.app I manually moved the Reminders.app’s window to the right side (but this could also be done via yabai). To show that yabai doesn’t use this room for other windows I made two Script Debugger windows:


4 Likes

Might be possible with Hammerspoon, maybe by using or modifying this prebuilt “spoon.”

1 Like

I can’t find it on the app website, but Rectangle does this. It has a “To-do” mode where you pick an app and the dimensions of the To-Do zone and that app sticks there and when you use the window resizing controls in Rectangle, it does what you’re saying, treats that “to-do” app as a “restricted” area.
So if you’re good using Rectangles’ resize controls, that’ll do it. I have the free version, not the pro, so looks like the Pro version has more controls too.

1 Like

My experience with rectangle is that the free version does what other paid apps used to do. Those paid apps were great 5-10 years ago, but free rectangle now replaces them. That’s the onward march of technology.

Paid/Pro rectangle provides a whole pile of features I’ve tried to get into at least twice, but it’s just too much capability. There’s only so much managing my windows realistically need, so I’ve given up on Pro entirely.

1 Like