PromptDeck watches what you're doing and where you are. Pages and groups switch automatically — no swiping required.
Triggers work at two levels to give you total control.
"Where am I?" — At my desk, the grocery store, in the car, at the gym.
Page triggers control which page auto-navigates to the foreground. Evaluated on app launch, foreground resume, and when sensor state changes.
"What am I doing?" — Coding in VS Code, browsing in Safari, debugging in iTerm.
Group triggers control which button groups are visible within a page. Evaluated whenever the Mac sends a context update.
Sensor-based triggers that answer "where am I?"
Detect your Mac host or third-party beacons. Configurable range in meters.
Auto-switch at the grocery store, gym, office. Configurable radius.
Connected to Tesla stereo? Show driving controls. AirPods? Music page.
Show different pages based on time. Supports midnight wrapping.
Connect to work WiFi and your work buttons appear automatically.
Switch to Desktop 3 and your design page loads. Priority over ambient triggers.
Mac context signals that answer "what am I doing?"
| Type | Key | Description |
|---|---|---|
app |
match | Frontmost Mac app by name or bundle ID |
process |
match | Running process in focused terminal (claude, vim, npm) |
gitBranch |
match | Git branch of focused project. Supports glob patterns. |
space |
match | Active macOS Space number. Works as both page and group trigger. |
wifi |
match | Connected WiFi SSID on Mac |
display |
match | true if external display connected |
windowTitle |
match | Focused window title. Supports glob patterns. |
vpn |
match | true if VPN active |
audioOutput |
match | Audio output device name (AirPods Pro, etc.) |
Desk page with app-aware groups, grocery page with geofence, driving page with Bluetooth.
pages:
- label: Desk
triggers:
- type: beacon
match: host
proximity: 3
buttons:
# Always visible at desk
- group:
label: General
buttons: [...]
# Only when VS Code is active
- group:
label: Code
triggers:
- type: app
match: Visual Studio Code
buttons: [...]
- label: Groceries
chrome: false
triggers:
- type: geo
lat: 37.0472
lng: -122.0297
radius: 100
- label: Driving
chrome: false
triggers:
- type: bluetooth
match: "Tesla Model 3"
Smart priority system prevents conflicts.
Space, app, and WiFi triggers represent deliberate user actions and always beat ambient sensors.
If multiple pages match at the same priority, the first one in your YAML wins.
Swipe to a different page and auto-nav is suppressed until the trigger context changes.
Groups with triggers crossfade in and out as context changes. No jarring switches.
Download PromptDeck Host and let your buttons adapt to you.
Download for Mac