Context
Phase 1 of per-workspace entity selection shipped in ~/.koad-io commit fee7308. The foundation is live: xdotool polling, workspace-entities.json config, entity discovery, tray tooltip update, IPC channels.
Phase 2 items (not built — scope discipline)
- Tray override menu — operator can temporarily override the active entity from the tray context menu without changing the persistent mapping
- Keyboard shortcut to cycle entities —
Ctrl+Shift+E or similar cycles through available entities on the current workspace
- Edit workspace-entities.json from tray — inline GUI editor (or open file in $EDITOR) from a tray menu item
koad:// protocol awareness — when a koad:// URL is invoked, resolve it through the active entity's context (separate issue warranted; touches protocol handler)
Notes
The workspace-entity-selector module exports clean hooks (onEntityChange, getActiveEntity, getAvailableEntities) so all of these can be wired without touching the core module.
Feature spec lives at ~/.koad-io/desktop/features/005-workspace-entity-binding.md.
Context
Phase 1 of per-workspace entity selection shipped in
~/.koad-iocommitfee7308. The foundation is live: xdotool polling, workspace-entities.json config, entity discovery, tray tooltip update, IPC channels.Phase 2 items (not built — scope discipline)
Ctrl+Shift+Eor similar cycles through available entities on the current workspacekoad://protocol awareness — when akoad://URL is invoked, resolve it through the active entity's context (separate issue warranted; touches protocol handler)Notes
The workspace-entity-selector module exports clean hooks (
onEntityChange,getActiveEntity,getAvailableEntities) so all of these can be wired without touching the core module.Feature spec lives at
~/.koad-io/desktop/features/005-workspace-entity-binding.md.