Interface IWindow.IDesktopStyle
Provides optional desktop-specific window styling hints for platforms that support multiple top-level windows (e.g., Windows, macOS, Linux).
public interface IWindow.IDesktopStyle
Remarks
On mobile platforms, applications typically run in a single full-screen window, and this interface has no effect. On desktop, implementing this interface allows apps to influence window chrome, border visibility, and initial sizing.
Properties
Backdrop
Controls the window backdrop and chrome style.
IWindow.IDesktopStyle.WindowBackdrop Backdrop { get; }
Property Value
ClientArea
Controls whether the client area includes the title bar region.
IWindow.IDesktopStyle.WindowClientArea ClientArea { get; }
Property Value
Remarks
Default: System-managed non-client area (title bar + borders behave normally).
Extended: Extends the client area into the title bar region so the app can draw its own
title bar content/background while still allowing native window behaviors via hit testing.
Windows: Uses DwmExtendFrameIntoClientArea (and relies on WM_NCHITTEST returning
HTCAPTION for draggable regions). This is the recommended way to hide title text/icon reliably,
especially with Mica/Acrylic backdrops.
macOS: Uses full-size content view / transparent title bar with title visibility hidden.
Level
Controls the window stacking level (Z-order) relative to other windows.
IWindow.IDesktopStyle.DesktopWindowLevel Level { get; }
Property Value
MacOSDoubleTapSoftwareMaximize
Enables AppKit zoom when Xui receives a double-click in a region that
WindowHitTest(ref WindowHitTestEventRef) reports as Title. Use this
for extended client areas, where the native title bar is not handling
the double-click itself. This setting applies only on macOS.
bool MacOSDoubleTapSoftwareMaximize { get; }
Property Value
StartupSize
Optional startup size hint for the window.
If null, the platform will decide the initial size.
Size? StartupSize { get; }
Property Value
- Size?