kiapanahi / kiapanahi/KuriousLabs.WindowsTilingWindowManager
Scaffold Bastion.Bar (WinUI 3 status bar, appbar registration)
- Dominant language
- C#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Problem / goal
Scaffold `Bastion.Bar`, the WinUI 3 status bar/appbar. This project does not exist yet — it is explicitly deferred (see `CLAUDE.md`'s project table: "Deferred to v0.3, not yet scaffolded").
## References
- `DESIGN.md` §3.8 (Bar, summarized — full behavior spec is in §7/§8/§9 for the pieces it surfaces).
- `DESIGN.md` §10 (Technology Stack) — `Bastion.Bar` is WinUI 3/Windows App SDK, `AppWindow`, own windows only.
- `DESIGN.md` §9 edge-case table, Explorer-restart row — re-register appbar via the `ABM_NEW` sequence, re-init `ITaskbarList`, on Explorer restart (`TaskbarCreated` broadcast message).
- `docs/engineering/interop.md` §5 (apartment discipline — the single dedicated STA thread rule for all shell-COM calls applies directly to this project's `ITaskbarList` usage).
- Depends on the v0.1 IPC-server issue (the bar is a broadcast-pipe subscriber).
## Acceptance criteria
- [ ] `src/Bastion.Bar/Bastion.Bar.csproj` exists as a WinUI 3/Windows App SDK project, added to `Bastion.slnx`.
- [ ] The bar registers itself as an appbar (`SHAppBarMessage` `ABM_NEW` sequence) and re-registers on a detected Explorer restart (`TaskbarCreated` broadcast message).
- [ ] All `ITaskbarList`/shell-COM calls run on the single dedicated STA thread per `docs/engineering/interop.md` §5 — never from a WinUI dispatcher/UI thread callback directly if that thread isn't the designated STA thread (state explicitly in the PR which thread was chosen and why).
- [ ] The bar connects to `bastiond`'s broadcast IPC pipe (from the v0.1 IPC-server issue) to receive state updates.
Contributor guide
Research direction
Start with CLAUDE.md's project table, then read DESIGN.md §§3.8, 7–10 and docs/engineering/interop.md §5. Create src/Bastion.Bar/Bastion.Bar.csproj and add it to Bastion.slnx, then trace the v0.1 IPC-server issue's broadcast-pipe contract. Done means the WinUI 3 bar registers and re-registers its appbar, uses one dedicated STA thread for shell-COM calls, and receives state updates from bastiond.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100