Home

dev / tinycast

publicthedavidweng/tinycast· sync paused
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

Resolve review findings from #34 (#44)

2 months ago

1d84d43
Authored
Abue Ammar7/27/2026, 4:51:05 PM
Follow-up to #34 (review 4789146976).

- Actions menu samples the selection's running state once, when it opens
  (`openActions`), instead of reading `RunningAppsMonitor` live: an app
  launching or quitting elsewhere no longer adds or drops the Quit row
  while the menu is up. All eight open sites now funnel through the one
  method.
- `RootPaletteView` no longer observes `RunningAppsMonitor`, so a
  workspace launch/terminate stops re-rendering the whole palette; only
  `LauncherList` observes it, for the running dot.
- `RunningAppsMonitor.refresh` republishes only on a real change.
- ⌘↵ mirrors the menu row's condition (`kind == .application`) so it
  can't swallow a press it won't act on.
- Quit All confirms via `NSAlert` before terminating, resolving the
  target list once so the set confirmed is the set that quits. ↵ is
  bound to Cancel, not the destructive button.
- Quitting an app restores focus unless the app quit was `previousApp`.
- `xmark.app` -> `xmark.circle`; drop the now-unused `AppLauncher.quitAll`.

Parent2065cfb

6 files changed
  • Tinycast/Core/AppCore.swift+29−5
  • Tinycast/Core/AppLauncher.swift+2−6
  • Tinycast/Core/CommandRegistry.swift+1−1
  • Tinycast/Core/RunningApps.swift+4−2
  • Tinycast/Features/RootPaletteView.swift+34−16
  • docs/launcher.md+10−3