Features

Hotkeys

Global keyboard shortcuts ApexDock owns, with per-feature configuration.

ApexDock registers a small set of global hotkeys with macOS. They fire from anywhere, not just when ApexDock is in front.

Default bindings

HotkeyDefaultConfigurable in
Command Palette⌘KSettings → Palette (UserDefaults override only for now)
Assistant push-to-talk⌃⌥ (hold)Settings → Assistant → Push-to-Talk Hotkey
Quick Notes panel⌃⌥NSettings → Notes (UserDefaults override only for now)
Clipboard History⌘⇧VSettings → Clipboard → Hotkey

Settings → Hotkeys tab

This tab is a read-only summary of every registered hotkey, useful for spotting conflicts. As you toggle features on/off, rows appear and disappear here.

Editable rebinding for all hotkeys is on the roadmap. Today, only Clipboard and Assistant have a record-key UI; Notes and Palette can be overridden via UserDefaults:

bash
defaults write com.gacntsoftware.apexdock apexdock.notes.hotkey.keyCode -int 45     # N
defaults write com.gacntsoftware.apexdock apexdock.notes.hotkey.modifiers -int 786432 # ⌃⌥
killall ApexDock

Modifier flag values: Command=1048576, Shift=131072, Option=524288, Control=262144. OR them together for combinations.

Permissions

All global hotkeys require Accessibility permission. Without it, ApexDock falls back to in-app key monitors that only fire when its windows have focus — effectively making the hotkeys feature-disabled.

Grant in Settings → Permissions → Accessibility.

Conflicts

ApexDock doesn't unbind hotkeys that are already taken by other apps. macOS gives the binding to the first app to claim it. If your hotkey doesn't fire, check:

  • macOS System Settings → Keyboard → Shortcuts (the operating system's own bindings take precedence)
  • Other launcher apps (Raycast, Alfred, BetterTouchTool)
  • Karabiner-Elements rules

The first registrant wins. Quitting the conflicting app and relaunching ApexDock re-binds it on next launch.