Skip to content

A macOS menu bar application that creates individual dock icons for your application windows — because macOS groups all your windows together, but your brain doesn't work that way.

License

Notifications You must be signed in to change notification settings

guanleustc/WindowsOnDock

Repository files navigation

WindowsOnDock

WindowsOnDock Icon

Stop hunting through grouped windows. Click once, get exactly what you need.

A macOS menu bar application that creates individual dock icons for your application windows — because macOS groups all your windows together, but your brain doesn't work that way.


🎯 The Problem

You have 5 VSCode projects open. Or 3 Xcode workspaces. Or multiple terminal sessions. macOS groups them all under one dock icon.

Now you need that specific project window. So you:

  1. Click the dock icon
  2. Scan through the "Show All Windows" popup
  3. Find your window (maybe)
  4. Click again

Every. Single. Time.

✨ The Solution

WindowsOnDock gives each window its own dock icon. One click. Done.

No more hunting. No more window juggling. Just click the dock icon for the project you want, and it's instantly in front of you.

🚀 Key Benefits

  • 📍 Direct Access - Click once to bring up exactly the window you need
  • 🎨 Visual Clarity - Each helper shows the correct app icon, so you know what you're clicking
  • ⚡ Fast Switching - No more navigating through window groups or Mission Control
  • 🎛️ Customizable - Choose which apps to monitor in Preferences
  • 🧹 Clean & Simple - Add or remove helpers with a few clicks

📦 Installation

Option 1: Download Release (Recommended)

  1. Download WindowsOnDock.zip from the Releases page
  2. Unzip and move WindowsOnDock.app to your Applications folder
  3. Launch WindowsOnDock
  4. Grant Accessibility permissions when prompted

Option 2: Build from Source

git clone https://github.com/yourusername/WindowsOnDock.git
cd WindowsOnDock
open WindowsOnDock.xcodeproj
# Press ⌘R to build and run

🎮 How to Use

Adding Windows to Your Dock

  1. Launch WindowsOnDock - Look for the grid icon in your menu bar
  2. Open "Manage Window Helpers" (⌘M)
  3. Select windows you want dock icons for
  4. Click "Add to Dock"

That's it! Your dock will restart and the helper icons appear.

Using Your Helpers

Simply click any helper icon in the dock and that specific window instantly comes to the front.

Removing Helpers

  1. Open "Manage Window Helpers"
  2. Select helpers to remove
  3. Click "Remove from Dock"

Or use "Clear All Helpers" from the menu bar to remove everything at once.

Keyboard Shortcuts

  • ⌘M - Manage Window Helpers
  • ⌘, - Preferences
  • ⌘A - Select all windows (in management view)
  • ⌘Q - Quit (auto-removes all helpers)

🎛️ Supported Applications

WindowsOnDock works with:

  • Code Editors: VSCode, Xcode, Sublime Text, JetBrains IDEs
  • Terminals: iTerm, Terminal
  • Office Apps: Word, PowerPoint, Excel
  • Others: TextEdit, and more

Enable or disable any app in Preferences (⌘,).

🤖 AI-Generated Project

This project was mostly generated by AI (Claude Code) with human guidance. It demonstrates what's possible when you combine:

  • Human product vision
  • AI implementation capability
  • Iterative refinement

The icon, code architecture, UI, and even this README were created through AI-human collaboration.

🛠️ How It Works

Since macOS has no public API for adding arbitrary dock items, WindowsOnDock creates minimal .app bundles that appear as real applications:

  1. Monitor - Scans for application windows using the Accessibility API (only when the management window is open)
  2. Create - Generates helper apps in ~/Library/Application Support/WindowsOnDock/Helpers/
  3. Register - Adds helpers to dock using defaults write com.apple.dock
  4. Activate - When clicked, helpers use AppleScript to raise their target window

Each helper contains:

  • Bash script with embedded AppleScript
  • Parent application's icon
  • Window title metadata

⚙️ Requirements

  • macOS 13.0 (Ventura) or later
  • Accessibility permissions (required to read window titles and activate windows)

🔒 Privacy

WindowsOnDock runs 100% locally on your Mac:

  • ✅ No data collection
  • ✅ No network access
  • ✅ No analytics or tracking
  • ✅ Only uses Accessibility API for window management

⚠️ Known Limitations

  • Helpers match windows by title. If you rename a project significantly, recreate the helper
  • Rebuilding during development may require re-granting Accessibility permissions
  • Window titles must remain relatively stable for helpers to work

🤝 Contributing

Contributions welcome! Please feel free to:

  • Report bugs via Issues
  • Suggest features
  • Submit pull requests

📄 License

MIT License - see LICENSE for details

🙏 Acknowledgments

  • Built with Claude Code
  • Icon and UI design by AI
  • Inspired by the frustration of macOS window grouping

Note: This is a menu bar app (LSUIElement) — it won't appear in your Applications folder or regular Dock. Look for the grid icon in your menu bar after launching!

About

A macOS menu bar application that creates individual dock icons for your application windows — because macOS groups all your windows together, but your brain doesn't work that way.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •