Why the Dock keeps switching displays
The behavior traces back to one setting: System Settings → Desktop & Dock → Mission Control → “Displays have separate Spaces”.
When it's off— the default on most Macs — every display shares one set of Spaces, and with them, a single Dock. Because there's only one Dock to go around, macOS decides which screen should have it, using your cursor position and whichever display holds the frontmost window. The intent is that the Dock follows you. In practice the trigger is sensitive enough that moving the pointer toward another screen drags the Dock along with it, often mid-task.
There's no “keep the Dock here” checkbox anywhere in System Settings. That's the gap this feature fills.
The native fix, and what it costs you
Turning on“Displays have separate Spaces” does stop the jumping, because each display gets its own Dock. Nothing needs to move anymore. But it's a heavier change than it looks:
- Your Spaces split apart. Each display gets its own independent set. If you're used to one Space spanning both screens, that muscle memory stops working.
- Full-screen apps behave differently. Sending an app full-screen claims only its own display rather than participating in a shared Space.
- You have to log out. macOS won't apply the change until you do.
That's a real trade: restructure how you use every screen, in order to stop one bar of icons from moving.
What Pin Dock to Screen does instead
DockLockr takes the narrow path. You pick the display the Dock should live on, and it stays pinned there — while “Displays have separate Spaces” remains off and your Spaces keep spanning screens exactly as they do today. No logout, no window-management overhaul.
The pin holds across Spaces and Stage Manager states, and it survives sleep and wake. If you disconnect the pinned display, macOS moves the Dock to a screen that still exists; reconnect it and DockLockr brings the Dock home.
Turning it on
- Click the DockLockr lock icon in your menu bar.
- Choose Pin Dock to Screen and select the display you want.
- That's it. Move your cursor between screens — the Dock stays where you put it.
Toggle it back off whenever you like, and the Dock returns to standard macOS behavior immediately. Quitting DockLockr does the same, so you're never left in a state you can't undo.
Want the longer explanation of Apple's Spaces model and how it ended up this way? We wrote it up in why the macOS Dock keeps jumping between displays.