DEV Community

Ross
Ross

Posted on • Originally published at appish.app

Mac Dock Not Showing on Hover: Why It Happens and How to Fix It

When your Mac dock is set to auto-hide but won't appear when you move your cursor to the screen edge, the cause is almost always one of three things: another window is overlapping the dock's trigger zone, the hover delay has been set too long, or — on a multi-monitor setup — macOS is confused about which screen edge should trigger the dock. All of these are fixable, and none require reinstalling anything.

Why the dock stops responding to hover in the first place

Auto-hide on macOS works by reserving a thin trigger strip at the bottom (or side) of the screen. When your cursor enters that strip, the dock animates in after a short delay. Three things reliably break this:

A window is sitting over the edge. Maximised or near-maximised windows can extend right to the screen boundary. macOS still tries to show the dock, but the window is on top, so it either doesn't appear or flashes and immediately disappears behind the app.

The hover delay is too long. There's a system-level delay before the dock starts animating. By default it's barely noticeable, but it can drift — particularly after macOS updates — and some users report it feeling like several seconds.

The wrong screen edge is active. On a multi-monitor setup, macOS only shows the dock on whichever screen your cursor is currently "most present" on. If you've moved between monitors recently, macOS sometimes gets stuck and the dock trigger follows the wrong edge.

How to fix Mac dock not showing on hover

1. Check whether a window is blocking the trigger zone

Press ⌘H to hide the frontmost app, or ⌘M to minimise it, then try hovering at the screen edge again. If the dock appears immediately, a window was sitting over the trigger strip. The long-term fix is to stop apps from maximising to the full screen height — or to switch the dock to a side position (left or right) where fewer apps extend to the edge.

2. Reset the auto-hide delay via Terminal

Open Terminal (Applications → Utilities → Terminal) and run:

bash
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0.5
killall Dock

The first command sets the delay before the dock starts to appear to zero. The second controls animation speed (0.5 is snappy but not jarring — adjust to taste). killall Dock restarts the dock process immediately so the change takes effect. If you want to restore Apple's defaults:

bash
defaults delete com.apple.dock autohide-delay
defaults delete com.apple.dock autohide-time-modifier
killall Dock

3. Fix the multi-monitor hover problem

This one trips up a lot of people. macOS moves the dock trigger to whichever monitor your cursor has spent more time on — but it doesn't always switch back cleanly when you move between screens.

The reliable fix: move your cursor deliberately and slowly all the way to the bottom edge of the screen you want the dock on, and hold it there for two or three seconds. macOS should re-anchor the dock to that display. If you're docking and undocking a laptop regularly, this happens constantly — it's one of the reasons multi-monitor dock behaviour on macOS is genuinely frustrating.

4. Toggle auto-hide off and back on

Sometimes the dock's auto-hide state gets into a weird internal condition. The fastest reset:

  • Go to System Settings → Desktop & Dock
  • Turn "Automatically hide and show the Dock" off, wait two seconds, turn it back on

Alternatively, use the keyboard shortcut ⌥⌘D to toggle auto-hide without opening Settings at all.

5. Restart the Dock process

If none of the above unsticks it, open Terminal and run:

bash
killall Dock

This restarts the dock process cleanly. Your dock will disappear for a second and reappear — any temporary state causing the hover failure is cleared.

Why multi-monitor hover is so unreliable on macOS

Apple's dock was designed for a single display. The multi-monitor behaviour — where the dock appears on whichever screen you "move to" — was added later and has never been particularly robust. The core problem is that macOS only ever shows one dock at a time, so it has to guess which screen you want it on based on cursor movement. That heuristic fails when you're working across monitors quickly or when you have a screen arrangement where the dock's home screen isn't obvious.

This is exactly the problem Dockish solves at a structural level. Instead of one dock that moves between screens, Dockish puts a real dock on every monitor simultaneously — each one with its own trigger zone that responds immediately to hover. There's no guessing, no fighting for which screen "has" the dock, and the auto-hide behaviour works consistently on all displays at once. If you're using two or more monitors and the native dock hover is driving you up the wall, that's worth trying — it has a 7-day free trial.

What if the dock appears but immediately hides again?

This is a slightly different symptom. The dock is responding to hover, but it collapses the moment you move your cursor towards an app icon. This almost always means a window is overlapping the dock zone — as you move down toward the dock, your cursor re-enters the window's area and the dock retreats.

Fix: resize or move the offending window so it doesn't extend all the way to the screen edge. A 20–30px gap between the bottom of any window and the screen edge gives the dock room to stay visible. Some apps (particularly Electron apps like Slack or Notion) are prone to this because they don't respect window margin conventions.

Does this affect the dock on a second or external monitor?

Yes — the hover-to-reveal problem is worse on external monitors because macOS is even less certain which screen "owns" the dock. The practical workaround, if you use the dock heavily on a specific external monitor, is to go to System Settings → Desktop & Dock and drag the dock position to a side that doesn't compete with your main display's bottom edge. Left side on an external monitor, for example, won't conflict with the primary display's bottom-edge trigger.

If that's not acceptable, Dockish's multi-monitor dock approach sidesteps the issue entirely — every monitor has its own persistent dock, so there's no competition.


Common questions

Why does my Mac dock not show when I hover at the bottom of the screen?

The most common cause is another window overlapping the dock's trigger zone — maximised windows frequently extend to the very bottom of the screen. Try hiding the frontmost app with ⌘H and hovering again. If that works, the window was blocking the trigger strip.

How do I make the Mac dock appear faster when I hover?

Open Terminal and run defaults write com.apple.dock autohide-delay -float 0 && killall Dock. This removes the delay before the dock starts animating. You can also reduce the animation duration with defaults write com.apple.dock autohide-time-modifier -float 0.3.

Why does the Mac dock only show on one monitor when I have two screens?

MacOS shows the dock on whichever display it thinks your cursor is currently "on" — it never shows on both simultaneously. To get a persistent dock on every monitor at the same time, you need a third-party app like Dockish, which puts an independent dock on each connected display.


Originally published at appish.app

Top comments (0)