Repository navigation
Docket v0.1.0
The first release of Docket - a free, open-source shelf that sits beside
Apple's Dock and holds live widgets, app groups and folders. This release - a free, open-source shelf that sits beside
Apple's Dock and holds live widgets, app groups and folders.
Standing on Dockset's shoulders
Docket exists because of Dockset, a genuinely lovely
macOS app built and sold by an independent developer. Dockset is the original -
it worked out what a Dock shelf should feel like, and it is polished, supported
and worth paying for. If you want the real article, go and buy it.
Docket is an independent reimplementation, written from scratch as a homage and
a way of learning how something like this is built. It is not affiliated with,
endorsed by or connected to Dockset, and it is not "the free version" of it.
Full attribution is in NOTICE.md.
What's in it
It follows your real Dock. Size, edge, magnification and auto-hide are read
from com.apple.dock rather than copied, so there is nothing to keep in sync
when you move the Dock or drag the size slider. Magnification uses Apple's own
raised-cosine falloff, with the peak and radius taken from your own largesize
and tilesize.
Widgets that open. Clicking any widget opens a detail panel anchored to its
tile, with a tail pointing back at it - the whole day's agenda rather than the
next event, every battery rather than the Mac's, a minute of history behind the
number. It closes on a click outside, Escape or ⌘W.
App groups. Drop one icon onto another and hold, the way iOS makes a folder.
Tinted, renamed in place, and you can drag icons back out.
Now Playing reads Spotify and Apple Music over Apple Events, falling back to
whatever a scriptable browser tab is playing. MediaRemote would be the obvious
route and has been entitlement-gated since 15.4 - it loads, the symbol resolves,
and it returns an empty dictionary.
And the rest: overflow scrolling, drag to reorder, the launch bounce, files
and folders, and layouts you can save and write back to Apple's own Dock.
Requirements
macOS 26, Apple Silicon or Intel - the build is universal. Docket reads the real
Dock's preferences and draws against the current SDK; there is no build for
anything earlier.
This build is unsigned
It is signed ad-hoc - no Apple Developer certificate, no notarisation. Nothing
is wrong with the download; it just has no identity Apple recognises, so
Gatekeeper stops it the first time.
Opening it on macOS 26:
- Open the .dmg and drag Docket onto the Applications alias inside
it. Install it before the next step, because the permission you are about to
grant is attached to where the app lives. - Double-click it. macOS refuses, saying it cannot verify the app is free of
malware. Click Done. - Open System Settings ▸ Privacy & Security and scroll to Security.
There is a line there about Docket being blocked, with an Open Anyway
button. Click it and authenticate. - Launch Docket again and confirm Open Anyway.
Control-clicking the app and choosing Open - the old advice, still all over
the internet - no longer works for this. macOS stopped honouring that shortcut
in Sequoia, and macOS 26 sends you to Privacy & Security instead.
If macOS still refuses, or calls the app damaged, the download's quarantine
flag is the thing in the way:
xattr -dr com.apple.quarantine /Applications/Docket.appPrefer to avoid all of this? Build it yourself - brew install xcodegen,
xcodegen generate, and the build instructions in the README. A local build
signed with your own certificate has none of these problems.
After it launches, look at the menu bar
Docket is an accessory app: no Dock tile, no entry in the app switcher, no
window on launch. If you double-click it and seem to get nothing, it started
fine - its status item is in the menu bar, and everything (settings, quitting)
is behind that.
Permissions it will ask for
- Automation - Now Playing reads Spotify, Apple Music, or a scriptable
browser tab over Apple Events. macOS asks the first time it tries; approving
it under Privacy & Security ▸ Automation is what makes the widget show
anything. The browser fallback additionally needs Allow JavaScript from
Apple Events in that browser's Develop menu. - Calendars and Reminders - asked only when you open those widgets'
detail panels, and only for what they display. - Location - the weather widget asks, for your city. macOS does not present
that prompt to an accessory app with no ordinary window, so the request
quietly goes nowhere; set a city by hand in Settings ▸ Widgets instead.
Nothing is sent anywhere. Docket is not sandboxed because reading the Dock's
preferences and driving other apps over Apple Events both require it.
Credit where it is due
Docket exists because of Dockset, a genuinely
lovely macOS app by an independent developer, who had the idea of a widget
shelf beside the Dock and executed it beautifully. Docket is an independent
reimplementation and a learning exercise, written from scratch and from the
outside - it is not affiliated with, endorsed by, or connected to Dockset in
any way.
If you want the polished, supported, commercial article, go and buy Dockset.
It is worth paying for, and paying independent developers for their work is
how apps like it keep getting made.
After it launches, nothing appears to happen
That is expected. Docket is an accessory app: no Dock tile, no window of its
own. Its only permanent UI is the status item in the menu bar - everything
is reached from there. The shelf itself appears beside your Dock.
Permissions it will ask for
- Automation, the first time Now Playing tries to read a player. Without it
the widget says so plainly instead of guessing. Browser fallback additionally
needs "Allow JavaScript from Apple Events" in that browser's develop menu. - Calendar and Reminders, if you add those widgets.
Known limits, said out loud
- Location consent is not reachable. macOS does not present the prompt to an
accessory app with no ordinary window. Set a city in Settings ▸ Widgets. - Stripe, Paddle and Shopify widgets have no service behind them. They exist
in the catalog and cannot currently be added. - Removal uses a deprecated API on purpose.
NSAnimationEffectis the Dock's
own poof, and a real poof beats a hand-drawn puff of smoke. - This is a hobby project with rough edges and no support. For the finished,
supported article, buy Dockset.