feat(desktop): add PySide6 shell and canonical tray #98
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/zara!98
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/desktop-shell"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #84.
Summary
Adds the first native Zara desktop shell on top of the RuntimeHost boundary from #83.
QApplication/controller creation path withsetQuitOnLastWindowClosed(False)QSystemTrayIconwith Open Zara, live status, Restart Runtime, Diagnostics, and Quit ZaraQtRuntimeBridgerather than reaching into runtime internalszara-desktop=zara.desktop.app:maincreate_application()calls so desktop bootstrap does not create duplicate canonical traysQApplicationunder the offscreen Qt platform, preventing an earlierQCoreApplicationfrom poisoning later widget testsCurrent tray scope
This P0 tray intentionally exposes only capabilities that exist now:
Voice, chats, Pets, timers, context, etc. are not dead menu items; their owning issues will register/integrate them as those capabilities land.
Lifecycle
Closing the status window hides it. Explicit Quit sends
ShutdownRuntime, waits for the matching command receipt, closes the Qt bridge/tray/window, then quits QApplication. RuntimeHost already handles Quit during startup/restart from #83.Testing
Adds deterministic coverage for:
quitOnLastWindowClosed(False)The repository's GitHub Actions /
nix develop -c bash scripts/test-all.shgate is authoritative because the user's/home/unseen/Documents/Projects/checkout is not mounted in this execution environment.