Introduced "forced" CSD mode without app opting in by kekekeks · Pull Request #20976 · AvaloniaUI/Avalonia (original) (raw)
tests/Avalonia.Controls.UnitTests/WindowTests.cs
Adds unit tests validating forced-decoration sizing behavior.
src/Windows/Avalonia.Win32/WindowImpl.cs
Ensures ExtendClientAreaToDecorationsChanged is raised even before the window is shown.
src/Avalonia.X11/X11Window.cs
Switches to a “managed decorations” concept that can be forced via platform options.
src/Avalonia.X11/X11Platform.cs
Adds experimental ForceDrawnDecorations option and docs.
src/Avalonia.Controls/WindowBase.cs
Fixes Bounds to preserve arranged position (needed when the window is inset by a host).
src/Avalonia.Controls/Window.cs
Implements forced-decoration sizing: adjusts ClientSize, platform resize calls, and decoration margin/inset handling.
src/Avalonia.Controls/TopLevelHost.cs
Adds DecorationInset and applies it to measure/arrange the TopLevel child.
src/Avalonia.Controls/TopLevel.cs
Updates PresentationSource construction following signature changes.
src/Avalonia.Controls/PresentationSource/PresentationSource.cs
Removes the client-size provider parameter from the constructor.
src/Avalonia.Controls/PresentationSource/PresentationSource.RenderRoot.cs
Changes PresentationSource.ClientSize to read from PlatformImpl.ClientSize.
api/Avalonia.nupkg.xml
Suppresses API compatibility warnings related to Window.ExtendClientAreaToDecorationsChanged visibility change.