MacOS – Configuring the Dock to be Spaces-centric

macosmission-controlspaces

I use multiple displays, and the available options for Spaces that I am aware of allow surprise Space-switching, even when working in a completely different space.

Ideally, interacting with the Dock will only affect the same Space on the same display on which I used the Dock. This means:

  1. If app clicked in Dock, and no copy of app is running on any space, then start the app and confine it to the current Space.
  2. If app clicked in Dock, and the program is already running in another Space, then either 1) open a new window if the program allows this, or 2) silently move the app to the current Space without disturbing or changing any other Space or display.
  3. If app clicked in Dock, and the program is already running in the current Space, then change focus to the app.

Specifically:
– Clicking an icon in the Dock should rarely affect any other Space.
– Clicking an icon in the Dock must never affect which Space is displayed on which display

OS X Yosemite 10.10.2, MacBook Pro 2012. (Dock set to auto-hide, and pops up at the bottom of any screen when I put the mouse there.)

Best Answer

3 questions in one, so I numbered your points to make answering easier…

  1. Set the app's space compliance to None [right click the app in the Dock]

enter image description here

  1. 1) Mac apps don't do that, no new instance will be created unless none exists.
    2) Can only be done if the compliance is set to All Desktops - but that means it will always follow you around; probably not what you want.

  2. Focus will switch to that app, whatever Space it is running in. There is no way to change that behaviour.

Pro Tips…

Click/hold the title bar of any app & use a key command to switch Space
- by default Ctrl ⌃ num will bring the app with you to that requested Space

Personally, I find separate Spaces per display untenable, so have it switched off. My monitors switch in pairs…

enter image description here