HackerOs.Theming.Blazor 2.2.1

dotnet add package HackerOs.Theming.Blazor --version 2.2.1
                    
NuGet\Install-Package HackerOs.Theming.Blazor -Version 2.2.1
                    
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="HackerOs.Theming.Blazor" Version="2.2.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HackerOs.Theming.Blazor" Version="2.2.1" />
                    
Directory.Packages.props
<PackageReference Include="HackerOs.Theming.Blazor" />
                    
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 HackerOs.Theming.Blazor --version 2.2.1
                    
#r "nuget: HackerOs.Theming.Blazor, 2.2.1"
                    
#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 HackerOs.Theming.Blazor@2.2.1
                    
#: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=HackerOs.Theming.Blazor&version=2.2.1
                    
Install as a Cake Addin
#tool nuget:?package=HackerOs.Theming.Blazor&version=2.2.1
                    
Install as a Cake Tool

HackerOs.Theming.Blazor

Native Blazor theme composition for HackerOS and for the reusable window/taskbar packages. The Razor class library owns the offline static asset _content/HackerOs.Theming.Blazor/themes.css, the root ThemeScope, and the token-driven ThemePreview used by appearance selectors.

@using HackerOs.Theming.Abstractions
@using HackerOs.Theming.Blazor

<ThemeScope ThemeId="@WellKnownThemeIds.HackerOs"
            Platform="ThemePlatform.Desktop"
            AccentId="@WellKnownAccentIds.Green"
            AnimationsEnabled="true">
    @* Shell, WindowHost, and Taskbar content *@
</ThemeScope>

Render one ThemeScope around a shell root. All attribute values are validated against ThemeCatalog; arbitrary CSS, remote fonts, images, scripts, and theme URLs are not accepted.

Localization

The package's texts (accessible labels, the theme preview's name) live in Resources/Strings.resx (English) and Resources/Strings.fr.resx (French), read through HackerOs.Theming.Blazor.Localization.PackageStringLocalizer (ADR 0104): a host that registers an IStringLocalizer<T> (HackerOS registers its session-language SessionStringLocalizer<T>) gets its language; a host without localization gets English.

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 (6)

Showing the top 5 NuGet packages that depend on HackerOs.Theming.Blazor:

Package Downloads
HackerOs.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 HackerOs.Taskbar.Blazor rather than a modification of it.

HackerOs.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.

HackerOs.Windowing.Blazor

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

HackerOs.Apps.ThemeEditor

The base HackerOS Theme Editor app, to include in an OS host (ProjectReference or PackageReference, optionally IsSystemApp).

HackerOs.Apps.Settings

The base HackerOS Settings app, to include in an OS host (ProjectReference or PackageReference, optionally IsSystemApp).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.2.1 0 11/1/2026
2.2.0 48 10/31/2026
2.1.0 161 10/26/2026

HackerOS 2.2.1, changes for app developers:
- Mouse Back and Forward buttons in apps. The mouse Back button, Alt+← and the phone's Back (Android button or gesture, iOS swipe) now go to the active app instead of moving the browser tab back and leaving HackerOS; the mouse Forward button and Alt+→ go forward. On a phone, Back follows the ◁ button. Apps receive them through IAppBackHandler and the new IAppForwardHandler, with the new MouseButton and SystemBack sources.
- App packages carry their satellite assemblies. HackerOsPack puts the satellite assemblies of the app's own assemblies in the package at lib/<culture>/<assembly>.resources.dll; the OS checks them and loads them before the app's first render.
- HackerOsPack packs every static resource of an app. The package now holds the whole wwwroot/, the collocated .razor.js files and the scoped CSS bundle, declared in the package's manifest with their SHA-256; the publish workflow of the hackeros-solution template copies that manifest into the catalog folder.
- Signing tool for app authors. dotnet build -t:HackerOsKeyGen creates an author's signing key, HackerOsPack signs each package with the HACKEROS_APP_SIGNING_KEY secret, and the hackeros-solution template publishes the signed packages on the hackeros-packages branch on each version tag. Administrators require an author's signature by adding their public key to [signing-keys].
Release notes: https://github.com/Kazo-ca/HackerOs/releases/tag/v2.2.1