How ejbills/dockdoor works
DockDoor adds window previews and switching to macOS, with settings and specialized hover content. The README documents the major capabilities; sampled source directly supports the cache-to-preview state updates, preview presentation components, and media service behavior, so other wiring is shown only where documented or evident from module responsibilities.
Main entry points: SharedPreviewWindowCoordinator.swift Preview window · PreviewStateCoordinator.swift Preview state · WindowPreviewHoverContainer.swift Dock hover · WindowUtil.swift Window discovery
Components 19
Window Interaction
- Dock hover
DockDoor/Views/Hover Window/WindowPreviewHoverContainer.swift - Window switcher
DockDoor/Views/Hover Window/CmdTabFocus Overlay/CmdTabFocusFullOverlayView.swift - Preview state
DockDoor/Views/Hover Window/WindowPreview Supporting/PreviewStateCoordinator.swift - Preview window
DockDoor/Views/Hover Window/Shared Components/SharedPreviewWindowCoordinator.swift - Window actions
DockDoor/Utilities/WindowActionsMenuController.swift - Cmd-Tab enhancements
DockDoor/Utilities/DockObserver+CmdTab.swift
Hover Content
- Calendar hover
DockDoor/Views/Hover Window/Special Hover Windows/Calendar/CalendarView.swift - Media controls
DockDoor/Views/Hover Window/Special Hover Windows/Media/MediaControlsView.swift - Folder widget
DockDoor/Views/Hover Window/Special Hover Windows/Folder/FolderWidgetView.swift
System Integration
- Window discovery
DockDoor/Utilities/Window Management/WindowUtil.swift - Window cache
DockDoor/Utilities/Window Management/SpaceWindowCacheManager.swift - Dock locking
DockDoor/Utilities/DockLocker.swift - Active-app indicator
DockDoor/Utilities/ActiveAppIndicator/ActiveAppIndicatorCoordinator.swift - Media service
DockDoor/Utilities/Media/MediaRemoteService.swift
Setup and Settings
- Preferences
DockDoor/Views/Settings/SettingsView.swift - Settings search
DockDoor/Views/Settings/Search/SettingsSearchEngine.swift - Onboarding
DockDoor/Views/Intro/OnboardingWindow.swift - Permissions
DockDoor/Components/PermissionsView/PermissionsChecker.swift
Other components
- Mac user
Connections 21
- Mac user → Dock hover: hovers Dock icon
- Mac user → Window switcher: switches windows
- Dock hover → Preview state: updates preview state
- Preview state → Window cache: applies cache changes
- Window cache → Preview state: publishes window changes
- Preview state → Preview window: provides preview state
- Preview window → Dock hover: presents hover content
- Window discovery → Window cache: supplies window data
- Window actions → Window discovery: gets all windows
- Mac user → Window actions: chooses window action
- Window switcher → Preview state: tracks selection
- Preview window → Calendar hover: embeds calendar
- Preview window → Media controls: embeds media controls
- Media controls → Media service: controls playback
- Preview window → Folder widget: embeds folder content
- Mac user → Dock locking: sets Dock display
- Active-app indicator → Window discovery: tracks active app
- Mac user → Preferences: changes preferences
- Preferences → Settings search: searches settings
- Mac user → Onboarding: starts setup
- Onboarding → Permissions: checks permissions