DockCleat is a macOS utility that helps you lock your Dock to a specific screen and position. When using multiple monitors, the Dock can sometimes appear on secondary screens or move unexpectedly. DockCleat monitors and enforces your preferred Dock configuration automatically.
- 🔒 Dock Locking: Keep your Dock locked to a specific screen and position
- 📍 Position Control: Choose between bottom, left, or right positioning
- 🖥️ Multi-monitor Support: Select which screen should display the Dock
- 🛡️ Real-time Event Blocking: Automatically prevents Dock movement attempts
- 🎨 Theme & Localization: Supports light/dark themes and English/Chinese
- 🚀 Launch at Login: Optionally start the app when you log in
- 📊 Menu Bar Integration: Quick access to controls from the menu bar
- macOS 14.0 (Sonoma) or later
- Accessibility permission (required for event blocking)
- Go to Releases
- Download the latest
DockCleat-v*.zipfile - Extract the ZIP file and move
DockCleat.appto your Applications folder - Launch DockCleat from Applications
-
Clone the repository:
git clone https://github.com/aitiotekt/dock-cleat.git cd dock-cleat -
Open
DockCleat.xcodeprojin Xcode -
Build the project (⌘R) or use the command line:
xcodebuild -scheme DockCleat -configuration Release
-
The built app will be in
build/Build/Products/Release/DockCleat.app
The main window provides access to all settings through two tabs:
- Dock Settings: Enable locking, choose position (bottom/left/right), select target screen, toggle auto-hide
- General Settings: Language, theme, visibility options, launch at login, permissions, and status
Click the menu bar icon for quick access to toggle locking, change settings, and open the main window.
- Launch DockCleat and grant Accessibility permission when prompted
- Configure your preferred Dock position and target screen
- Enable Dock locking to start monitoring
DockCleat uses Core Graphics Event Taps to intercept mouse events and prevent Dock movement attempts. It also uses AppleScript to control Dock settings and monitors screen configuration changes to automatically restore your preferred settings.
DockCleat requires Accessibility permission to intercept mouse events. This permission is only used locally - no data is collected or transmitted.
- Dock not locking: Ensure "Enable Dock Locking" is on and Accessibility permission is granted
- High CPU usage: Dock locking is optimized to use minimal resources when disabled
- Menu bar not showing: Check "Show in Menu Bar" in General Settings
MIT License - see LICENSE file for details.
- Partially referenced DockAnchor
- Built with SwiftUI and Core Graphics
- This project was developed with AI assistance


