Kazo.Os.Windowing.Abstractions 3.0.0

dotnet add package Kazo.Os.Windowing.Abstractions --version 3.0.0
                    
NuGet\Install-Package Kazo.Os.Windowing.Abstractions -Version 3.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kazo.Os.Windowing.Abstractions" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Kazo.Os.Windowing.Abstractions" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Kazo.Os.Windowing.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Kazo.Os.Windowing.Abstractions --version 3.0.0
                    
#r "nuget: Kazo.Os.Windowing.Abstractions, 3.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Kazo.Os.Windowing.Abstractions@3.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Kazo.Os.Windowing.Abstractions&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Kazo.Os.Windowing.Abstractions&version=3.0.0
                    
Install as a Cake Tool

Kazo.Os.Windowing.Abstractions

Renderer- and host-independent window contracts: identity (WindowId, WindowOwnerId), geometry (WindowBounds, WindowConstraints), visual state and modality (WindowVisualState, WindowModality), the immutable WindowRuntimeState snapshot, and the commands/events Kazo.Os.Windowing.Core's WindowRuntime engine consumes and produces.

This package has no dependency on Blazor rendering, a browser, or any particular host application model — only the RenderFragment delegate type (carried by WindowRuntimeState.Content, for window content) is referenced, via Microsoft.AspNetCore.Components.

Usage

WindowRuntimeState state = new(
    WindowId.FromGuid(Guid.NewGuid()),
    appId: "my-app",
    ownerInstanceId: WindowOwnerId.FromGuid(Guid.NewGuid()),
    title: "My Window",
    iconAssetPath: null,
    new WindowBounds(60, 50, 420, 280),
    restoreBounds: null,
    zOrder: 0,
    WindowVisualState.Normal,
    new WindowConstraints(isResizable: true, minWidth: 260, minHeight: 180));

Pair this package with Kazo.Os.Windowing.Core for the headless engine that applies commands built from these types and emits these events, with Kazo.Os.Windowing.Blazor for the Blazor components that render a WindowRuntime's state, and Kazo.Os.Taskbar.Blazor for a taskbar over the same runtime.

See Kazo.Os.Windowing.SampleHost in the source repository for a complete, minimal host that uses only these packages.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Kazo.Os.Windowing.Abstractions:

Package Downloads
Kazo.Os.Windowing.Blazor

Razor components (DesktopArea, WindowHost, WindowChrome) that render a Kazo.Os.Windowing.Core WindowRuntime. No MudBlazor dependency.

Kazo.Os.Taskbar.Blazor

A taskbar Razor component driven entirely by host-supplied contracts (window source, command dispatcher, launcher, status, notifications, session commands) -- each optional, each cleanly absent from render when not supplied.

Kazo.Os.Windowing.Core

Headless, renderer-independent window manager engine: applies Kazo.Os.Windowing.Abstractions commands to authoritative window state (focus, z-order, geometry, modality, lifecycle) and emits deterministic events.

Kazo.Os.MobileShell.Blazor

Mobile shell chrome Razor components driven entirely by host-supplied contracts, starting with the Android-inspired Back/Home/Recent system navigation bar. Mobile has no taskbar, so this is a sibling package to Kazo.Os.Taskbar.Blazor rather than a modification of it.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0 54 11/5/2026

Kazo OS 3.0.0, changes for app developers:
- Backups end in .kosbak, design tokens are --kos-*, diagnostics are KOS*. The last short HOS names become KOS. New backups are .kosbak files; an older .hosbak backup can still be restored. The CSS variables of the design system are now --kos-* (with data-kos-* attributes and kos-* classes): a theme file or theme pack written with --hos-* is still read, and saved themes and settings are updated at the first start. Build diagnostics are now KOSAPP, KOSSDK, KOSWEB, KOSBG and KOSCHG, with the same numbers: update NoWarn and pragma lists.
- Commands, files, app ids and settings take the Kazo OS names. hackpkg becomes kazopkg and hackbackup becomes kazobackup (the old names still work and print a warning), app packages and theme packs use .kazoapp and .kazotheme (the old .hackapp and .hacktheme are still read), the OS files move to /etc/kazoos, ~/.config/kazoos and /etc/kazoweb, the store is called Kazo OS Store, ASP.Hack becomes ASP.Kazo and Hack Paint becomes Kazo Paint. The server and the PWA read the KazoOs configuration section and KAZOOS_ variables, and still read HackerOs and HACKEROS_. The dotnet new templates are now kazoos-window, kazoos-solution... App ids become org.kazoos.*, capabilities kazoos.*, and the browser databases, theme ids and caches take the kazoos and kazoweb names.
- HackerOS is now called Kazo OS. The name HackerOS was already used by a Linux distribution. The OS now shows the name Kazo OS everywhere: window title, installed app, sign-in screen, notifications and documentation.
- SDK 3.0: the Kazo.Os.* packages and the Kazo* types. Every package moves from HackerOs.* to Kazo.Os.* (Kazo.Os.AppSdk, Kazo.Os.Templates...) and every SDK type from Hack* to Kazo* (HackFile becomes KazoFile, HackerIcon becomes KazoIcon, and the HackIcon record becomes KazoSurfaceIcon). The version is 3.0.0: an app built on SDK 2.x is refused and must be rebuilt against the new packages.
- The Kazo OS Store workflow of the kazoos-solution template opens its pull request again. The workflow no longer passes --remote to gh repo fork, which current gh versions refuse, and retries the clone of the fork while GitHub creates it.
- The kazoos-solution template names its app project for the Kazo OS Store. store/store.json of a new app repository has a project field, so the catalog builds the app's project instead of the whole solution, whose tests project has no KazoOsPack target.
Release notes: https://github.com/Kazo-ca/Os/releases/tag/v3.0.0