Broiler.Hosting.Linux
0.1.0-preview.1
See the version list below for details.
dotnet add package Broiler.Hosting.Linux --version 0.1.0-preview.1
NuGet\Install-Package Broiler.Hosting.Linux -Version 0.1.0-preview.1
<PackageReference Include="Broiler.Hosting.Linux" Version="0.1.0-preview.1" />
<PackageVersion Include="Broiler.Hosting.Linux" Version="0.1.0-preview.1" />
<PackageReference Include="Broiler.Hosting.Linux" />
paket add Broiler.Hosting.Linux --version 0.1.0-preview.1
#r "nuget: Broiler.Hosting.Linux, 0.1.0-preview.1"
#:package Broiler.Hosting.Linux@0.1.0-preview.1
#addin nuget:?package=Broiler.Hosting.Linux&version=0.1.0-preview.1&prerelease
#tool nuget:?package=Broiler.Hosting.Linux&version=0.1.0-preview.1&prerelease
Broiler.Hosting
Shared desktop and mobile hosting runtime, windowing services, input fidelity, and platform integration for the Broiler application suite (Broiler.Mail, Broiler.Code, Broiler.Writer, Broiler.Browser).
Components
Broiler.Hosting.Windows
Provides Windows desktop hosting facilities:
WindowsClipboard: Hardened Win32 clipboard integration with 1 MB UTF-16 bounds protection, strictGlobalSizevalidation, direct or lazy HWND owner resolution, and safe OS memory handoff.WindowsWindowSizing: Window sizing, minimum dimension enforcement (DPI-scaled client minimum 640x480) viaWM_GETMINMAXINFO, and dynamic multi-monitor DPI transition handling viaWM_DPICHANGED.WindowsTheme: System appearance inspection querying dark/light preference, Windows high contrast mode (SPI_GETHIGHCONTRAST), and reduced motion preferences (SPI_GETCLIENTAREAANIMATION), exposingUiSystemSettings.WindowsInputBridge: High-fidelity native input and scroll integration:- Top-level window activation focus handoff (
WM_SETFOCUSandWM_ACTIVATEtransferring Win32 focus to the render child HWND). - Exactly-once text delivery across
WM_CHARand IMM32 IME compositions (WM_IME_STARTCOMPOSITION,WM_IME_COMPOSITION, syntheticWM_CHARsuppression after commit). - Surrogate pair assembly (
\uD83D\uDE00) and stray surrogate cleanup. - Shortcut modifier isolation (
Ctrl+C,Ctrl+A,Ctrl+V,Ctrl+Z,Ctrl+Backspace,Ctrl+Entersuppressed from text generation) with fullAltGrsupport. - Sub-notch precision mouse wheel and horizontal tilt wheel handling (
WM_MOUSEWHEEL,WM_MOUSEHWHEEL). - Decoupled application-level input filtering hook (
Func<UiInputEvent, bool>?).
- Top-level window activation focus handoff (
WindowsAutomationBridge&WindowsElementAutomationPeer: Native Windows UI Automation (UIA) bridge:- Implements
IRawElementProviderFragmentRoot,IRawElementProviderFragment,IRawElementProviderSimple. - Maps Broiler UI controls to standard UIA patterns (
IInvokeProvider,IValueProvider,ISelectionProvider,ISelectionItemProvider,IToggleProvider,IExpandCollapseProvider,IScrollItemProvider). - Coordinate-free control and item tree navigation.
- Password protection ensuring sensitive fields never expose plain text through UIA.
- Point hit-testing down to child elements and virtualized list items.
- Dynamic peer lifecycle management and live region status announcements.
- Implements
Broiler.Hosting.Linux
Provides Linux desktop hosting facilities:
LinuxUiHost: ReusableIUiHostimplementation adaptingIBroilerRendererandIBroilerSurfaceto Broiler UI sessions, tracking viewport dimensions, DPI scale, frame indexing, and invalidations without double-scaling.LinuxX11Clipboard: Hardened X11 clipboard and primary selection host (IUiClipboardHost,IDisposable) with 1 MB payload limits,INCRstreaming, UTF-8/Latin-1 conversion, timeout bounds, and safe non-Linux execution guards.LinuxBackendDiagnostics: Preflight verification for X11/EGL/OpenGL dependencies (libEGL.so.1,libGL.so.1,libOpenGL.so.0,libX11.so.6,DISPLAY, architecture).LinuxInputCoordinator&LinuxInputSnapshot: Evdev input stream coordination unifying keyboard and mouse devices, merging modifier keys across separate evdev nodes, pointer clamping, and non-blocking event dispatch.
Broiler.Hosting.Android
Provides Android hosting facilities with multi-targeting support (net10.0 for headless testing and net10.0-android36.0 for full runtime integration):
AndroidUiHost: ReusableIUiHost,IUiClipboardHost, andIUiTextInputHostadapter supportingAndroidBroilerView, direct delegates, or headless surface/renderer.AndroidBackendDiagnostics: Preflight check for Android runtime, architecture, and native graphic libraries (libEGL.so,libGLESv3.so,libandroid.so), with safe degradation on non-Android hosts.AndroidBroilerView: Hardware-acceleratedSurfaceViewwith Choreographer vsync loop, device lost recovery, density/viewport tracking, touch/hover/key routing, IME lifecycle, and clipboard glue.AndroidCanvasRenderer: Hardware-acceleratedIBroilerRendererreplaying display lists onto AndroidCanvasandPaintwith typeface caching.AndroidInputCoordinator: Unified coordinator routing touch contacts, pen contacts, key events, and IME text events intoUiInputEvents.AndroidInsetLayout:FrameLayouthandling display cutouts, navigation bars, and status bar insets.BroilerInputConnection:BaseInputConnectionbridging Android IME toAndroidTextInputDevice.
Architecture & Dependency Separation
Broiler.Hosting follows strict unidirectional dependency layering:
UI Abstractions + Graphics + Native Platform
│
▼
Broiler.Hosting.<Platform>
│
▼
Consumer Heads (Mail, Code, Writer, Browser)
Application-specific concerns (close/save guards, draft persistence, credential vaults, application commands) remain strictly outside the hosting component in the respective application layers.
Testing
dotnet test Broiler.Hosting.slnx
All unit tests in tests/Broiler.Hosting.Windows.Tests, tests/Broiler.Hosting.Linux.Tests, and tests/Broiler.Hosting.Android.Tests run headlessly and validate clipboard safety, sizing/DPI, system theme queries, input fidelity, backend diagnostics, and accessibility trees across platforms.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Broiler.Graphics (>= 0.1.0-preview.7)
- Broiler.Graphics.Linux (>= 0.1.0-preview.7)
- Broiler.Graphics.Linux.OpenGL (>= 0.1.0-preview.7)
- Broiler.Input (>= 0.1.0-preview.5)
- Broiler.Input.Keyboard (>= 0.1.0-preview.5)
- Broiler.Input.Keyboard.Linux (>= 0.1.0-preview.5)
- Broiler.Input.Linux (>= 0.1.0-preview.5)
- Broiler.Input.Mouse (>= 0.1.0-preview.5)
- Broiler.Input.Mouse.Linux (>= 0.1.0-preview.5)
- Broiler.Native (>= 0.1.0-preview.6)
- Broiler.Native.Linux (>= 0.1.0-preview.6)
- Broiler.UI (>= 0.1.0-preview.11)
- Broiler.UI.Standard (>= 0.1.0-preview.11)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-preview.9 | 0 | 10/11/2026 |
| 0.1.0-preview.8 | 144 | 10/7/2026 |
| 0.1.0-preview.7 | 77 | 10/5/2026 |
| 0.1.0-preview.6 | 62 | 10/4/2026 |
| 0.1.0-preview.5 | 100 | 10/3/2026 |
| 0.1.0-preview.4 | 84 | 10/2/2026 |
| 0.1.0-preview.3 | 64 | 10/2/2026 |
| 0.1.0-preview.2 | 57 | 10/2/2026 |
| 0.1.0-preview.1 | 57 | 10/2/2026 |