Kazo.Os.Theming.Abstractions
3.0.0
dotnet add package Kazo.Os.Theming.Abstractions --version 3.0.0
NuGet\Install-Package Kazo.Os.Theming.Abstractions -Version 3.0.0
<PackageReference Include="Kazo.Os.Theming.Abstractions" Version="3.0.0" />
<PackageVersion Include="Kazo.Os.Theming.Abstractions" Version="3.0.0" />
<PackageReference Include="Kazo.Os.Theming.Abstractions" />
paket add Kazo.Os.Theming.Abstractions --version 3.0.0
#r "nuget: Kazo.Os.Theming.Abstractions, 3.0.0"
#:package Kazo.Os.Theming.Abstractions@3.0.0
#addin nuget:?package=Kazo.Os.Theming.Abstractions&version=3.0.0
#tool nuget:?package=Kazo.Os.Theming.Abstractions&version=3.0.0
Kazo.Os.Theming.Abstractions
Framework-neutral contracts for the built-in Kazo OS theme system. The package exposes the
stable desktop/mobile theme IDs, the bounded accent IDs, ThemeCatalog, and the persisted
ThemePreferences value. It has no Blazor, browser, host, or server dependency.
ThemeDefinition theme = ThemeCatalog.Get(WellKnownThemeIds.Windows7);
IReadOnlyList<ThemeDefinition> mobileThemes = ThemeCatalog.GetThemes(ThemePlatform.Mobile);
Theme IDs are exact, ordinal, and data-only. Consumers should validate persisted or external
values with ThemeCatalog.TryGet and ThemeCatalog.IsKnownAccent before rendering them.
User-visible texts (token labels and descriptions, validation reasons, theme file diagnostics)
are English in their properties and translated on demand from Resources/Strings*.resx
(ADR 0104): ThemeTokenDefinition.GetLabel(culture), GetDescription(culture),
ThemeTokenValidator.TryValidate(type, value, culture, ...) and
ThemeFileDiagnostic.GetMessage(culture) / ToString(culture). Built-in theme names, token
names, ids and file contents are never translated.
| 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
- No dependencies.
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Kazo.Os.Theming.Abstractions:
| Package | Downloads |
|---|---|
|
Kazo.Os.Platform.Core
Kazo OS platform core: app catalog, process manager, policy, shell, settings and logs as files, gateways behind the SDK. For composing an OS host. |
|
|
Kazo.Os.Apps.FileExplorer
The base Kazo OS file explorer app, to include in an OS host (ProjectReference or PackageReference, optionally IsSystemApp). |
|
|
Kazo.Os.Apps.Settings
The base Kazo OS Settings app, to include in an OS host (ProjectReference or PackageReference, optionally IsSystemApp). |
|
|
Kazo.Os.Apps.ThemeEditor
The base Kazo OS Theme Editor app, to include in an OS host (ProjectReference or PackageReference, optionally IsSystemApp). |
|
|
Kazo.Os.Ecosystem.Host
The Kazo OS host: desktop shell, boot coordinator, service composition and browser adapters. A host project adds its index.html, a Program.cs calling AddKazoOsBrowserHost and its apps. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 59 | 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