# ejbills/dockdoor

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ejbills-dockdoor).**

3,900 stars · 107 forks · Swift · gpl-3.0

## Links

- GitHub: https://github.com/ejbills/DockDoor
- Homepage: https://dockdoor.net
- awesome-repositories: https://awesome-repositories.com/repository/ejbills-dockdoor.md

## Description

DockDoor is a macOS application switcher and window manager that functions as a dock enhancement tool. It provides a system-wide interface for navigating, previewing, and managing open application windows using keyboard and mouse inputs.

The utility adds live window previews to the system dock, allowing for application window peeking when hovering over dock icons. It also includes a feature to lock the system dock to a specific display in multi-monitor setups to prevent it from automatically jumping between screens.

The project covers a broad range of window management capabilities, including keyboard-driven window switching, gesture-based navigation, and programmatic window state control. It provides command-line utilities for querying window metadata and triggering visual previews through scripts.

## Tags

### User Interface & Experience

- [Window Previews](https://awesome-repositories.com/f/user-interface-experience/window-previews.md) — Provides visual thumbnails of all open windows for a specific application via dock hover.
- [Keyboard Navigation](https://awesome-repositories.com/f/user-interface-experience/keyboard-navigation.md) — Enables navigation and switching between active application windows using keyboard shortcuts.
- [Application Window Peeking](https://awesome-repositories.com/f/user-interface-experience/window-previews/application-window-peeking.md) — Displays visual previews of all open windows for a specific application when hovering over its dock icon. ([source](https://cdn.jsdelivr.net/gh/ejbills/dockdoor@main/README.md))
- [Window Query Filters](https://awesome-repositories.com/f/user-interface-experience/application-window-managers/window-rules/window-query-filters.md) — Provides a CLI utility to query and filter running applications based on window metadata. ([source](https://dockdoor.net/docs.html))
- [Coordinate-Based Position Calculators](https://awesome-repositories.com/f/user-interface-experience/coordinate-based-position-calculators.md) — Calculates screen coordinates to position window previews relative to the system dock.
- [Mouse Gesture Mapping](https://awesome-repositories.com/f/user-interface-experience/mouse-gesture-mapping.md) — Implements a workflow where mouse and touchpad gestures trigger window previews and transitions.
- [Gesture-to-Action Controllers](https://awesome-repositories.com/f/user-interface-experience/mouse-gesture-mapping/gesture-to-action-controllers.md) — Provides a system for mapping peripheral gestures to window previews and transition commands. ([source](https://dockdoor.net/))
- [Touchpad Gesture Mappings](https://awesome-repositories.com/f/user-interface-experience/touch-gesture-handlers/touch-event-processors/coordinate-to-translation-mapping/input-to-action-mappings/gesture-to-action-mappings/touchpad-gesture-mappings.md) — Maps system-level touchpad gestures to specific window transitions and preview commands.
- [Recent Window Switchers](https://awesome-repositories.com/f/user-interface-experience/window-management/recent-window-switchers.md) — Includes a CLI command to programmatically launch the window switching interface. ([source](https://dockdoor.net/docs.html))
- [Window State Controls](https://awesome-repositories.com/f/user-interface-experience/window-management/recent-window-switchers/window-state-controls.md) — Provides CLI commands to adjust window visibility, size, and placement. ([source](https://dockdoor.net/docs.html))
- [Scriptable Preview Triggers](https://awesome-repositories.com/f/user-interface-experience/window-previews/scriptable-preview-triggers.md) — Offers a CLI capability to trigger application window previews at specific screen coordinates. ([source](https://dockdoor.net/docs.html))

### Business & Productivity Software

- [macOS Application Switchers](https://awesome-repositories.com/f/business-productivity-software/macos-application-switchers.md) — Provides a keyboard and mouse driven interface for navigating and previewing open application windows.
- [macOS Dock Enhancements](https://awesome-repositories.com/f/business-productivity-software/macos-dock-enhancements.md) — Adds live window previews and advanced management features to the native macOS dock.

### Development Tools & Productivity

- [Keyboard-Driven Control](https://awesome-repositories.com/f/development-tools-productivity/window-managers/keyboard-driven-control.md) — Implements a dedicated keyboard interface and shortcut system for navigating and switching between active application windows. ([source](https://dockdoor.net/))

### Operating Systems & Systems Programming

- [AppleScript Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-applications/desktop-application-automation/applescript-integrations.md) — Uses AppleScript to programmatically control macOS window states and visibility.
- [Window Switching and Tiling](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/window-switching-and-tiling.md) — Manages macOS application windows through switching, custom layouts, and placement rules.
- [Window and Process Lifecycle Management](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/window-switching-and-tiling/window-and-process-lifecycle-management.md) — Controls the lifecycle of macOS windows, including focusing, resizing, and switching.
- [System Dock Pinning](https://awesome-repositories.com/f/operating-systems-systems-programming/system-dock-pinning.md) — Locks the system dock to a specific display to prevent it from jumping between monitors.
