Skip to content

manusiakemos/DockPlus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DockPlus

A second dock for macOS. Designed for multi-monitor setups where only the primary screen gets the native dock.

macOS Swift

Features

  • Multi-screen support - Place the dock on any connected screen
  • Auto-switch - Automatically moves to secondary screen when connected, falls back to primary when disconnected
  • Dock position - Bottom or left side of screen
  • Pinned apps - Pin/unpin apps, reorder via drag-and-drop, drag .app files from Finder to pin
  • Running apps - Shows all running apps with active indicator dots
  • Auto-hide - Dock hides when mouse moves away, reappears at screen edge
  • Resizable icons - Adjustable icon size (24-64px)
  • Native look - Vibrancy blur background matching macOS aesthetic
  • Context menu - Right-click to pin/unpin, show in Finder, or quit apps
  • Launch bounce - Spring animation when apps are launching
  • Launch at login - Optional auto-start via SMAppService
  • Menu bar app - Runs as a menu bar app, doesn't appear in its own dock

Requirements

  • macOS 14.0 (Sonoma) or later
  • Xcode 16+ (for building from source)

Install

From DMG

Download the latest .dmg from Releases, open it, and drag DockPlus to Applications.

Build from source

# Clone
git clone https://github.com/your-username/DockPlus.git
cd DockPlus

# Build and create DMG
chmod +x build.sh
./build.sh

The DMG will be created at DockPlus.dmg in the project root.

Alternatively, open DockPlus.xcodeproj in Xcode and run (Cmd+R).

Usage

  1. Launch DockPlus - it appears as a menu bar icon
  2. The dock appears on your secondary screen by default (or primary if only one screen)
  3. Click the menu bar icon to access Preferences:
    • Show dock on - Choose which screen to display the dock
    • Position - Bottom or Left
    • Icon size - Slider from 24px to 64px
    • Auto-hide - Toggle automatic hiding
    • Launch at login - Start automatically on login

Architecture

Hybrid AppKit + SwiftUI:

  • AppKit - Window management via NSPanel (floating, non-activating, borderless)
  • SwiftUI - UI rendering via NSHostingView
  • @Observable - State management with Swift Observation framework
AppDelegate
├── StatusBarController (menu bar icon)
├── DockPanelController
│   └── DockPanel (NSPanel)
│       └── NSHostingView
│           └── DockContainerView (SwiftUI)
│               ├── Pinned Apps
│               ├── Separator
│               └── Running Apps
├── AutoHideController
├── ScreenManager
└── PreferencesManager

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors