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
<PackageReference Include="HackerOs.Theming.Blazor" Version="2.2.1" />
<PackageVersion Include="HackerOs.Theming.Blazor" Version="2.2.1" />
<PackageReference Include="HackerOs.Theming.Blazor" />
paket add HackerOs.Theming.Blazor --version 2.2.1
#r "nuget: HackerOs.Theming.Blazor, 2.2.1"
#:package HackerOs.Theming.Blazor@2.2.1
#addin nuget:?package=HackerOs.Theming.Blazor&version=2.2.1
#tool nuget:?package=HackerOs.Theming.Blazor&version=2.2.1
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 | 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
- HackerOs.Theming.Abstractions (>= 2.2.1)
- Microsoft.AspNetCore.Components.Web (>= 10.0.13)
- Microsoft.Extensions.Localization.Abstractions (>= 10.0.13)
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.
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