Turn any folder into a clickable Dock icon that shows its contents as a popup menu — like macOS Dock stacks, but with custom icons.
Warning
This automation is provided as-is for personal use. The repository is public for anyone who wants to fork and adapt it. Please do not open issues for support or feature requests.
📂 Native popup menus — Shows folder contents in a clean list
🎨 Custom icons — Preserves folder icons (including Emoji) in the Dock
🕵️ Clean experience — Hidden from CMD+Tab and Dock recent apps
⚡ Fast — Uses native macOS APIs and AppleScript
🖱️ Click-to-open — Opens selected items or the folder itself
Generate a Dock app for a single folder:
./dock-folders.sh ~/Documents/dock-folders/codingOr build apps for all folders in a directory:
./dock-folders.sh --all ~/Documents/dock-foldersThen drag the generated .app files from ./build/ into your Dock.
Note
First launch: If the folder is in ~/Documents, ~/Desktop, or ~/Downloads, macOS will ask for permission to access it. Click Allow.
-
Create a folder to hold your dock shortcuts:
mkdir -p ~/Documents/dock-folders -
Create sub-folders for each Dock group:
mkdir ~/Documents/dock-folders/coding mkdir ~/Documents/dock-folders/music
-
Add items: Drag apps, aliases, files, or folders into these directories.
-
Add icons: Use Customize Folder or Finder's Get Info panel to set custom icons. The script will automatically use them.
| Option | Description |
|---|---|
--all <dir> |
Build apps for all sub-folders in <dir> |
<folder> |
Build an app for a single folder |
OUTPUT_DIR=path |
Change the output directory (default: ./build/) |
No dependencies required. The script uses only built-in macOS tools.
- Download
dock-folders.sh - Make it executable:
chmod +x dock-folders.sh
- Run it!

