Table of Contents

Class X11MultiScreenFullscreen

Namespace
Thunder.MonoGame.Avalonia
Assembly
MonoGame.Framework.dll

Sends _NET_WM_FULLSCREEN_MONITORS to the X11 root window so that an EWMH-compliant window manager treats the union of the specified Xinerama screens as a single fullscreen surface, covering taskbar struts on all of them.

Usage: set WindowState.FullScreen first, then call TryApply(Window, IReadOnlyList<Screen>) in a Dispatcher.UIThread.Post at DispatcherPriority.Render to ensure the WM has processed the fullscreen state before the monitor-range message arrives. Returns false (no-op) on any non-X11 platform or when Xinerama is unavailable.

public static class X11MultiScreenFullscreen
Inheritance
X11MultiScreenFullscreen
Inherited Members

Methods

IsX11(Window)

Returns true when window is running under X11. Uses Avalonia's platform handle descriptor ("XID" = X Window ID) to detect X11. Returns false on Wayland, Windows, macOS, or in headless contexts.

public static bool IsX11(Window window)

Parameters

window Window

Returns

bool

TryApply(Window, IReadOnlyList<Screen>)

Sends _NET_WM_FULLSCREEN_MONITORS so the WM spans fullscreen across every Xinerama screen that matches an entry in targetScreens. Must be called after WindowState.FullScreen is set on the window.

public static bool TryApply(Window window, IReadOnlyList<Screen> targetScreens)

Parameters

window Window

The Avalonia window that is already in fullscreen state.

targetScreens IReadOnlyList<Screen>

The Avalonia screens to span across.

Returns

bool

true on success; false on non-X11 or missing Xinerama.

latest ▼