From 8268d7dc1a3db7bbaba65f422d8979f1b4f299ed Mon Sep 17 00:00:00 2001 From: Rudy Paningal <149013690+ruddypp@users.noreply.github.com> Date: Wed, 17 Jun 2026 15:15:41 +0700 Subject: [PATCH] Fix X11 BorderOnly window resizing (#21579) Co-authored-by: Tim Miller --- src/Avalonia.Controls/Window.cs | 1 + src/Avalonia.X11/X11Window.cs | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Controls/Window.cs b/src/Avalonia.Controls/Window.cs index 901431d835..c344ef4b1b 100644 --- a/src/Avalonia.Controls/Window.cs +++ b/src/Avalonia.Controls/Window.cs @@ -1519,6 +1519,7 @@ namespace Avalonia.Controls var (_, typedNewValue) = change.GetOldAndNewValue(); PlatformImpl?.SetWindowDecorations(typedNewValue); + UpdateDrawnDecorations(); } else if (change.Property == WindowDecorationsThemeProperty) diff --git a/src/Avalonia.X11/X11Window.cs b/src/Avalonia.X11/X11Window.cs index 67b97979cc..6926758fe3 100644 --- a/src/Avalonia.X11/X11Window.cs +++ b/src/Avalonia.X11/X11Window.cs @@ -970,7 +970,7 @@ namespace Avalonia.X11 mouse.Position = mouse.Position / RenderScaling; // Chrome hit-test for drawn decorations - if (UseManagedDecorations + if (NeedsDrawnDecorations && mouse.Type == RawPointerEventType.LeftButtonDown && _inputRoot is { } inputRoot) { @@ -1556,6 +1556,7 @@ namespace Avalonia.X11 private bool _extendingClientAreaToDecorations; private bool UseManagedDecorations => _extendingClientAreaToDecorations || _platform.Options.ForceDrawnDecorationsInternal; + private bool NeedsDrawnDecorations => UseManagedDecorations || _requestedWindowDecorations == WindowDecorations.BorderOnly; public void SetExtendClientAreaToDecorationsHint(bool extendIntoClientAreaHint) { @@ -1652,10 +1653,10 @@ namespace Avalonia.X11 public AcrylicPlatformCompensationLevels AcrylicCompensationLevels { get; } = new AcrylicPlatformCompensationLevels(1, 0.8, 0.8); - public bool NeedsManagedDecorations => UseManagedDecorations; + public bool NeedsManagedDecorations => NeedsDrawnDecorations; public PlatformRequestedDrawnDecoration RequestedDrawnDecorations => - UseManagedDecorations + NeedsDrawnDecorations ? PlatformRequestedDrawnDecoration.Border | PlatformRequestedDrawnDecoration.ResizeGrips | PlatformRequestedDrawnDecoration.TitleBar