Making Peace With the macOS Dock
For most of the time I have used a Mac, the Dock has not existed. Not visually, anyway. I had it hidden, and I had no intention of bringing it back. Between Spotlight for launching, AltTab for a more Windows-like window switcher, and Rectangle for instant keyboard shortcut window snapping, I had everything I needed to move around a 14 inch MacBook Pro M1 Pro without ever glancing at the bottom of the screen. The Dock, to me, was screen real estate I was not willing to surrender, and the slow slide-in animation when you nudged the cursor against the bottom edge felt like a tax on impatience.
My Spotlight setup is also fairly aggressively trimmed. I have indexing turned off for most of the non-code categories in System Settings → Spotlight, including Movies, TV Shows, and a handful of other file types I am never going to want to launch by typing their name. What is left is mostly applications, documents, and code, which is exactly the set of things I actually search for. The combination of a lean index and a hidden Dock meant launching and switching felt closer to a command line than a desktop.
That stayed true right up until early 2025, when I finally changed my mind.
Why I Hid It in the First Place
The case for hiding the Dock was straightforward. On a 14 inch laptop display, every vertical pixel matters. The Dock, even at its smallest, eats a strip of the screen that I would rather hand to whatever editor, browser, or terminal I was actually working in. Beyond the pixels, there was a philosophical objection. I did not want my workflow to depend on aiming a cursor at a row of icons. Launching apps by typing their first three letters into Spotlight is faster than any mouse movement, and switching between them with AltTab removes the need to look at the Dock at all.
So the Dock went away. System Settings → Desktop and Dock → Automatically hide and show the Dock was on, and for added insurance I dragged the size slider down so far that even when it did appear, it was barely there. For a long time, this was fine.
What Changed in Early 2025
Two things shifted at once. The first was that I started running a noticeably larger set of background applications: messaging clients, mail, a couple of always-on developer tools, and a growing collection of utilities that lived in the menu bar but occasionally needed real focus. The second was that I grew more reliant on badge counts as a low-effort glanceable status indicator. How many unread messages. How many emails. How many pending items in whatever tool had been nagging me that week. None of that information is visible when the Dock is hidden completely.
Spotlight is brilliant for launching the things you remember. It is useless for surfacing the things you have forgotten about, and it cannot show you a red badge with the number 17 on it.
So I capitulated. Autohide stayed on, but the Dock was allowed back into my life. The compromise was that it had to behave on my terms.
The Default Dock Is Slow
If you have only ever used the Dock in its out of the box configuration, you might not realise how much latency is built into it. There is a delay before the Dock appears once your cursor reaches the edge of the screen. There is an animation as it slides up. There is a delay before it disappears once your cursor leaves. There is an animation as it slides down. None of those are particularly long in isolation, but stacked together they make the Dock feel like a thing that is always slightly behind your intent.
I wanted the opposite. The moment my cursor reached the bottom of the screen, the Dock should start showing itself. Not a beat later. And the reveal itself should be fast enough that I do not consciously notice the transition, even if it is not literally instantaneous.
Patching the Dock Preferences
The settings that control these timings are not exposed in System Settings. They live in com.apple.dock and can be written directly with defaults. The two I care about are autohide-delay, which controls how long the Dock waits before showing itself, and autohide-time-modifier, which is a multiplier on the duration of the show and hide animations. The default for the modifier is 1.0, so 0.5 runs the animation at double speed and 0 removes it entirely.
My shell history is honest about the fact that I did not land on the right numbers immediately. I bounced between 0.5, 0.2, and a handful of -int versus -float typos before settling on the combination I am running now.
defaults write com.apple.dock autohide-delay -int 0
defaults write com.apple.dock autohide-time-modifier -float 0.5
killall Dock
The first command drops the delay before the Dock shows up to zero. The second tells the Dock to run its show and hide animation at half its default duration. I tried fully zeroing the animation too, and surprisingly disliked it. With no transition at all, the Dock blinks in and out so abruptly that my eye cannot track what just changed at the bottom of the screen. At 0.5 the reveal is fast enough to feel immediate without feeling like a glitch, which is the sweet spot I was actually chasing. The killall Dock is required because the Dock process reads its preferences once at launch and caches them. Restarting it forces it to pick up the new values, and the change is immediate.
One note on types. autohide-time-modifier must be written as a -float, because it is a fractional multiplier. autohide-delay accepts -int 0 or -float 0 interchangeably when the value is zero, but if you ever want an intermediate value like 0.2, you need -float for it to take effect. I wasted a small amount of time writing -int 0.5 and wondering why nothing changed before working that out.
The result is a Dock that feels closer to a toggle than a UI element being revealed. Push the cursor to the bottom of the screen, and it is there in a single smooth beat. Move the cursor away, and it is gone in the same beat. Neither motion is long enough to get in the way of what I was actually trying to do.
The Dock as It Stands
This is what it actually looks like at the moment I am writing this post.
The badge counts are the entire reason any of this is visible at all. A handful of unread messages, a much larger pile of unread mail, a few reminders I have been ignoring, and a small stack of pending items in the various utilities that like to nag. None of those numbers would have reached me through Spotlight. All of them reach me now the moment I think to look for them, with barely any animation tax to pay for the privilege.
What I Learned From a Trivial Configuration Change
It is easy to dismiss tweaks like this as fiddly, the sort of micro optimisation that is more about feeling productive than actually being productive. I do not think that is quite right. The Dock is an interface element I interact with hundreds of times a day, and the difference between an instant Dock and a default Dock is the difference between a tool that obeys you and a tool you have to wait on. Multiplied across a year of work, the cumulative effect is real, even if any single interaction is too small to measure.
More importantly, the change broke me out of a binary I had been stuck in for years. I had assumed the choice was between a fully visible Dock and no Dock at all, and the latter was the only one that respected my screen and my speed. It turned out the third option, a Dock that exists when I want it and is invisible when I do not, was always sitting there in a preference file waiting to be unlocked. The lesson, as with most things on a Mac, was that the right configuration was not in the settings panel. It was one defaults write away.