1

I have a multimonitor setup.

By default the Displays have separate Spaces settign is checked in MacOS, and it causes the dock to hop between monitors if you hover your mouse at the bottom of any of your monitors even unintentionally, which is extremely annoying and frustrating because it causes apps to contract to make space for the dock, and when the dock hops away to another monitor again the apps on the previous monitor to not expand back - so the amount of usable space in the apps is constantly reduced by this constant dock hopping (which is annoying in and of itself).

This solution to disable dock hopping:

Go to System Preferences > Mission Control, then deselect the option "Displays have separate Spaces"

...is not acceptable because then I cannot have full-screen video on one monitor and a note-taking application on my other monitor - switching a video to full-screen causes other monitors to go dark when Displays have separate Spaces is unchecked.

How do I disable dock hopping between my monitors without making all of my screens go dark when I switch one of the windows to the full-screen mode?

If there is no native way to do it, kindly share a 3rd party utility that would allow me to do that.

1

3 Answers 3

3

I haven't found any solutions to permanently lock the Dock to a single screen in macOS. But you can set the autohide-delay user defaults to a larger value which also affects the time it takes for the Dock to move screens.

Command:

defaults write com.apple.dock autohide-delay -float 9999999

The value is in seconds. I've set mine to 5 seconds so I can always move it intentionally if I want to, but this gets rid of the unintentional moves.

It's also worth noting that this value seems to be ignored by the OS in some configurations. I've noticed the behavior is slightly different e.g. when you have screens arranged in a vertical setup on top of each other.

Found originally in this Reddit comment.

0

I think setting the seconds low instead of high seems to work better for my setup, and adding killall Dock restarts the dock with the new setting.

defaults write com.apple.dock autohide-delay -float 2; killall Dock

I'm on MacOS Sonoma with a widescreen monitor arranged on top and laptop at the bottom. Even with the monitor set as primary display, it always seems to start the dock on the bottom when I sleep/restart/open laptop, and setting it to 9999999 makes moving it back take longer. Setting to 1-2 seconds means it will instantly move to the main monitor when the cursor is at the bottom.

-3

A solution has been offered here: https://www.idownloadblog.com/2020/01/15/how-to-lock-the-dock-on-mac/

3
  • 1
    Welcome to Super User! Please quote the essential parts of the answer from the reference link(s), as the answer can become invalid if the linked page(s) change.
    – DavidPostill
    Commented Aug 14, 2023 at 18:37
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review
    – Destroy666
    Commented Aug 14, 2023 at 19:03
  • As a side note: the information in that link doesn't actually solves the issue. The dock will still jump around between screens.
    – Ray Oei
    Commented Dec 8, 2023 at 12:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .