kiapanahi / kiapanahi/KuriousLabs.WindowsTilingWindowManager

Implement the optional cross-process corner-preference cosmetic flag (off by default)

Open
#34 0 comments 0 reactions 0 assignees View on GitHub
area:win32 type:feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.