finally documenting my actually-no-complaints MacOS window management solution. I came from Linux 2y ago and was pissed af for awhile until I hacked together the following:
1. keyboard maestro to have special hotkeys to open each common app: [hotkey is pressed] ➔ [activate App]. depending on the app, I may or may not have "if already at the front" set to "leave it" or "hide it"
( karabiner to map capslock to "hyper" — for the keyboard maestro open-each-common-app system. hyper-S for spotify, hyper-C for cursor, etc. obvs they don't all have their first letter. hyper is cmd ctrl alt shift all at once. I have both alt A for "switch to last-used Brave window" and alt B for "open new Brave window"). I don't use karabiner for much else except mapping the keys for a foot pedal keyboard, but it's worth it just for the hyper set-up. maybe there's a simpler way to do caps➔hyper idk)
( note that this requires doing a lot of things in desktop apps so each app can have its own hotkey etc... which was very counter to my previous lifestyle that wanted everything in the browser. but I kinda like it. still fuck desktop slack though—I do NOT want to be logged into multiple workspaces at once. but aside from that, yeah, use progressive-web-apps / "Install Sitename" aggressively, or Create Shortcut or tools like TinyWeb where you can't)
2. AltTab for Mac to have sane alt-tab behavior (I want to switch to a WINDOW, not ALL windows of an application! 🤬). it supports multiple configs, so I can use cmd opt 1 for "switch between windows of the SAME application" which is super useful esp when I can activate that application consistently using its hyper-hotkey as described above
3. the combination of 1 & 2 means I can actually organize things on MacOS's spaces, because if you switch spaces by switching to *an open window* on the space, it actually happens instantly! whereas any keyboard or mouse event that switches "to the space" runs a slow-ass animation that you have to wait-til-it-finishes, in order to fire keystrokes on the destination app—until it does, they fire on whatever you had open on the previous space. this is moronic. I turn off "displays have separate spaces", so eg when I activate Cursor (or then jump to a different project) I also get the appropriate Terminal windows open on my other screen consistently.
4. finally, can't live without... some tiny tool that works so perfectly in the background that I had to double-check the name—it's Rectangle Pro—to handle hotkeys for putting a window on the left half of the screen (it supports many fractions but I only use a few) and moving windows between screens
the result here is ACTUALLY GOOD. I can very rapidly and consistently navigate to exactly where I want to go, and where I can't it's usually due to limitations with some specific app. there are many tweaks I would love to make to Spaces, to let me actually keep them organized, but that's my only complaint.
I forget who my inspirations were for this approach, but you exist and I am deeply grateful to you, and I am at least hoping to pay your kindness forward by sharing my own set-up.