Browse Source

Updated Window startup positioning behaviour on Linux to be more consistent with WPF behaviour

pull/9674/head
Michal Tomecki 4 years ago
parent
commit
07e9bad0ae
  1. 7
      src/Avalonia.X11/X11Window.cs

7
src/Avalonia.X11/X11Window.cs

@ -57,6 +57,7 @@ namespace Avalonia.X11
private TransparencyHelper _transparencyHelper;
private RawEventGrouper _rawEventGrouper;
private bool _useRenderWindow = false;
private bool _usePositioningFlags = false;
enum XSyncState
{
@ -299,6 +300,9 @@ namespace Avalonia.X11
};
hints.height_inc = hints.width_inc = 1;
var flags = XSizeHintsFlags.PMinSize | XSizeHintsFlags.PResizeInc;
if (_usePositioningFlags)
flags |= XSizeHintsFlags.PPosition | XSizeHintsFlags.PSize;
// People might be passing double.MaxValue
if (max.Width < 100000 && max.Height < 100000)
{
@ -958,6 +962,9 @@ namespace Avalonia.X11
get => _position ?? default;
set
{
_usePositioningFlags = true;
UpdateSizeHints(null);
var changes = new XWindowChanges
{
x = (int)value.X,

Loading…
Cancel
Save