Cordless Dog is a small Mac software site that makes Stay, a tool that remembers and restores window positions across displays.
HN commenters recommend Stay for restoring window layouts when monitors are plugged and unplugged, listing it alongside Moom, Divvy, and displayplacer.
If you're on OSX, try using https://contexts.co for your switcher, and https://www.alfredapp.com for your launcher
Contexts gives additional 'switching' options on different hotkeys, fuzzy window searching+selection, history-based selection, and no mouse interaction required (but it is supported)
I dedicate spaces to tasks, eg communications, monitoring, and 3-4 development task spaces with tools/docs/terminals
I have Contexts setup as follows:
cmd-tab: cycle thru all visible windows of all apps on current space
opt-tab: cycle thru all windows of all apps on all spaces (include hidden/minimized)
cmd-~: cycle thru all windows of focused app on current space (include hidden/minimized)
opt-~: cycle all windows of focused app on all spaces (include hidden/minimized)
cmd-space: activate Alfred
opt-space: search/activate of all running apps on all spaces
Alfred then allows you to add effectively anything you can script/applescript for additional workflows and a complete, keyboard-driven navigation/switching experience, and total deprecation of the slow 10.7+ mission control gui
I also use Totalspaces (https://totalspaces.binaryage.com/) to give a 'grid view' spaces overview & manage app-space pinning, Stay (https://cordlessdog.com/stay/) to manage static window placement & sizing, and Sizeup (https://www.irradiatedsoftware.com/sizeup/) for dynamic window movement
I also hated to have all my windows flying around when I would (un)plug my MacBook Pro from external devices... Some time ago I discovered Stay (http://cordlessdog.com/stay/) and now I have no more problems with that. It is great, you can define position of windows for all your different setups (profiles). In my case I mostly have two setups, at office (where I work most of my time) I plug my MacBook Pro to an external display and when I am at home I work directly on the MacBook and sometimes I connect it to another external display.
I am a big fan of being able to just work whenever I want on my computer... but I also am extremely big fan of plugging it to external displays and use ergonomic devices, and I try to use them as much as I can. At my office I use a Kinesis Freestyle and a trackball, and am very happy since I started using it. We spend so much time in these "positions" that we should minimize possibilities of having problems and be confortable... at the end we want to keep doing this for long time ;)
>But unlike minimizing or maximizing an app from the Dock, each "stage" can contain multiple app windows from multiple apps; switch from one stage to another, and every window on that stage will pop back up on your screen in exactly the arrangement you were using before.
How does this new feature perform with external monitors? One of my gripes with macOS is how awful it's at managing windows. For example except for Slack, Outlook, Zoom, and a Brave window for listening to music on YouTube that stay in the MB's display, all the other apps go into my external monitor. However every time the computer goes to sleep, I must move a bunch of windows back to the external monitor. I was using Stay [1] and it was doing a decent job, however I couldn't justify paying $15 after the trial ended.
[1]: https://cordlessdog.com/stay/
I use an external monitor at home on my MBA and I used to find it really annoying to resize all my windows every time I connected or disconnected my 24" monitor. Then I found Stay:
https://cordlessdog.com/stay/
This $15 app remembers window positions and sizes for each application and display setup (and even combos with multi monitors). It'll even restore window positions when you connect/disconnect external monitors.
I have had a few issues where it can't figure out TotalFinder and Terminal (because of the tabs) window positions and sometimes it can't figure out which Chrome window is which, but overall it's made switching between external monitors a whole lot less painful.
+1 for displayplacer. I use it for 4 external monitors (2 vertical) and it's a god-send. I also recommend people look into software to move their app windows into prefered locations. I use Phoenix [0] to resize/place my windows in their designated spots when I hit a hotkey. I tried stuff like Stay [1] and a few other similar tools that I forget the names of but they didn't work well or at least didn't work well on a multi-monitor setup. Phoenix required a little more up-front work but now it works perfectly for my needs.
[0] https://github.com/kasper/phoenix
[1] https://cordlessdog.com/stay/
This problem drove me absolutely crazy on my macbooks. When i step away from my laptop with external monitor connected, it will go to sleeep and when it wakes up it forgets for a minute that it has a monitor connected, and when it finally realizes it, all the windows are stacked on a MacBook screen, and external monitor is empty. Thankfully I found a “stay” app, that saved me from going completely nuts: https://cordlessdog.com/stay/