A window manager that re-sizes and re-arranges ALL the windows for a given application with one keyboard shortcut

window-manager

I have done research on Ask Different to see if this has been posted and to the best of my knowledge nothing this specific. I reviewed this but that question is more general.

So imagine that I have 10 (or more) Evernote windows and I want, with one shortcut, for all of them to be resized to half the monitor to the left. And then I have 6 terminal windows and want them all resized to a quarter screen to the upper right (different shortcut).

PS: What I currently use is SizeUp and it works great BUT in the case of the 10 Evernote windows, I'd have to use the keyboard shortcut 10 times.

Best Answer

After testing Stay, I think it does what you want. Just launch your desired apps and store all open windows. You can then restore them on Stay's menu bar icon, with a shortcut key or have them restored automatically, when you launch each of the apps in question, or change displays.

I emailed Matt, Stay's dev and this is what he had to say about automatic restoration when launching apps and window title pattern matching:

Stay does indeed have an option to restore windows when launching apps. It’s the checkbox labelled "Restore Windows as applications are launched” in Stay’s preferences window.

Stay does its best to restore windows that it hasn’t seen before, but which are similar to windows that have been stored in Stay. When you store a window in Stay, it actually stores a set of attributes that it can use to identify that window, rather than a reference to the specific window that’s being stored. So if Stay sees another window that has the same identifying attributes, it will restore that window with the same size and position.

There are situations where this approach doesn’t actually work all that well in practice though, and as such, Stay has a feature designed to help with this called window title pattern matching. There’s documentation on this feature available here:

http://cordlessdog.com/stay/documentation/window-title-pattern-matching

The basic gist of it is that you can control how Stay identifies your windows by telling it how to identify windows by their titles. The simplest use case is to set a pattern of .* (period asterisk) on a stored window, which will make that stored window match all of an application’s windows.