kiapanahi / kiapanahi/KuriousLabs.WindowsTilingWindowManager
Implement the optional cross-process corner-preference cosmetic flag (off by default)
- Dominant language
- C#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Problem / goal
Implement the optional, off-by-default cross-process corner-preference cosmetic flag. Not scheduled to a specific roadmap milestone in DESIGN.md §12's phase list — pick this up whenever, it has no dependents blocking other work.
## References
- `DESIGN.md` §3.6 ("Optional cosmetics — off by default, explicitly undocumented" paragraph) — `DwmSetWindowAttribute(DWMWA_WINDOW_CORNER_PREFERENCE = DWMWCP_DONOTROUND)` on manage, `DWMWCP_DEFAULT` restored on unmanage, journaled for crash-recovery undo; purely cosmetic, may silently fail or be reverted, no layout/sizing/gap correctness depends on it.
- `DESIGN.md` §13 item 1 (the accepted-risk framing: no documented cross-process support at all exists for this; Microsoft guidance calls manipulating other apps' windows unsupported).
- Depends on the v0.1 write-ahead-journal issue (this flag's state is journaled through the same mechanism).
## Acceptance criteria
- [ ] The flag is off by default and purely additive — disabling it (or it silently failing/being reverted by the target app) must not affect layout, sizing, or gap correctness.
- [ ] Setting/restoring the attribute is journaled (extends the v0.1 write-ahead journal) so a crash mid-flip doesn't leave a window's corner preference permanently altered.
- [ ] `DWMWCP_DEFAULT` is explicitly restored on unmanage.
- [ ] Tracked in the DESIGN.md §13 risk-register issue as item 1's implementation.
Contributor guide
Research direction
Read DESIGN.md §3.6 and §13 item 1 first, then inspect the v0.1 write-ahead-journal work this flag depends on. Trace the manage and unmanage paths for DwmSetWindowAttribute with DWMWA_WINDOW_CORNER_PREFERENCE. Done means the off-by-default cosmetic behavior is journaled, restores DWMWCP_DEFAULT on unmanage, and leaves layout correctness unaffected if the API fails.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100