teamsiso/src
Zac Gaetano bab29b02ab
All checks were successful
CI / build-and-test (push) Successful in 37s
feat(ui): chromeless title bar with custom caption controls
MainWindow drops the standard Windows title bar (WindowStyle=None + WindowChrome with CaptionHeight=44, ResizeBorderThickness=6, UseAeroCaptionButtons=False) and draws its own minimize / maximize-restore / close buttons inline in the existing header strip. The custom buttons opt into shell:WindowChrome.IsHitTestVisibleInChrome=True so clicks fire on them rather than starting a window drag.

Result: the entire top of the window is now ours, matching the Microsoft Teams desktop client's flush header look. The 'TeamsISO + by Wild Dragon' branding sits at the same baseline as the engine-status pill and the caption controls, and dragging anywhere not occupied by an interactive widget moves the window.

Caption-button styles in the theme: 46x32 hover-tinted, with the close button turning the Windows 11 #C42B1C red on hover. Maximize-button glyph swaps between the single-rectangle and overlapping-rectangles variants on StateChanged.

Drive-by: ParticipantViewModel.{FramesIn,FramesOut,IncomingResolution} setters dropped from private to public so {Run Text=...} bindings (which default to TwoWay on Run) can attach without WPF throwing 'cannot work on read-only property'.
2026-05-08 00:55:57 -04:00
..
TeamsISO.App feat(ui): chromeless title bar with custom caption controls 2026-05-08 00:55:57 -04:00
TeamsISO.Console feat(console): add --list-sources diagnostic flag 2026-05-07 23:33:44 -04:00
TeamsISO.Engine feat(stats): wire IsoHealthStats end-to-end and surface live counters in UI 2026-05-08 00:52:44 -04:00
TeamsISO.Engine.NdiInterop feat(ndi): plumb NDI groups (discovery + output) through the engine 2026-05-07 23:48:49 -04:00
tests feat(logging): rolling file sink under %LOCALAPPDATA%\\TeamsISO\\Logs 2026-05-08 00:47:25 -04:00
.gitkeep chore: add empty TeamsISO solution 2026-05-07 15:07:58 +00:00