Kazo.Os.Taskbar.Blazor 3.0.0

dotnet add package Kazo.Os.Taskbar.Blazor --version 3.0.0
                    
NuGet\Install-Package Kazo.Os.Taskbar.Blazor -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.Taskbar.Blazor" 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.Taskbar.Blazor" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Kazo.Os.Taskbar.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 Kazo.Os.Taskbar.Blazor --version 3.0.0
                    
#r "nuget: Kazo.Os.Taskbar.Blazor, 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.Taskbar.Blazor@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.Taskbar.Blazor&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Kazo.Os.Taskbar.Blazor&version=3.0.0
                    
Install as a Cake Tool

Kazo.Os.Taskbar.Blazor

A taskbar Razor component (Taskbar) driven entirely by host-supplied contracts instead of a fixed set of injected services: ITaskbarWindowSource, ITaskbarCommandDispatcher, ITaskbarLauncher, ITaskbarStatusSource, ITaskbarClockPanelSource, ITaskbarSessionCommands. Every contract parameter is optional — the corresponding taskbar region (launcher trigger, clock, session control) simply does not render when its contract isn't supplied.

The clock is the taskbar's one extensible surface: ITaskbarClockPanelSource controls whether its panel is open, and the ClockPanelContent RenderFragment parameter supplies what's inside it. This package owns only the trigger button and the panel's anchoring/positioning — it never inspects ClockPanelContent, so the panel's actual design (notifications, calendar, a platform-mode toggle, anything else) lives entirely in the host application, outside this package. ITaskbarClockPanelSource.UnreadCount (0 by default) puts a dot on the clock and gives the count in its accessible name and tooltip (ADR 0196).

Usage

<Taskbar WindowSource="_windowSource"
         Commands="_commands"
         Launcher="_launcher"
         StatusSource="_status"
         ClockPanelSource="_clockPanel"
         ClockPanelContent="@ClockPanelFragment"
         Options="_options" />

This example omits SessionCommands — a host with no session concept just doesn't provide it, and the taskbar renders without that region. Kazo OS itself no longer supplies it: its Power button (sign out, switch user, restart) lives in the Start menu (ADR 0195). TaskbarOptions carries only the labels a host would otherwise be forced to see hardcoded (the launcher trigger's mark and text); which taskbar zones appear is controlled entirely by which contracts you supply.

Pair this package with Kazo.Os.Windowing.Blazor for the window chrome that these contracts typically sit alongside. See Kazo.Os.Windowing.SampleHost in the source repository for a complete, minimal host that uses only these packages, including sample ITaskbarWindowSource/ITaskbarCommandDispatcher/ ITaskbarLauncher/ITaskbarStatusSource implementations.

Context menus

ITaskbarContextMenus (the ContextMenus parameter) lets the host give the taskbar its own context menus (ADR 0194): TaskbarAttributes are set on the taskbar itself and WindowItemAttributes(id) on the button of each window, with @attributes. The taskbar never reads them; the host's menu system does (Kazo OS attaches its OS context menu there). Without the parameter the browser's menu stays.

Localization

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

TaskbarOptions.LauncherLabel overrides the package's "Applications" when set; left null it is localized. The clock is formatted with the long time pattern ("T") of ITaskbarStatusSource.FormatCulture: a default interface member returning the invariant culture (HH:mm:ss), which Kazo OS implements with the session's LC_TIME culture (9:00:00 AM in en-US, 09:00:00 in fr-FR).

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

Showing the top 1 NuGet packages that depend on Kazo.Os.Taskbar.Blazor:

Package Downloads
Kazo.Os.Platform.Blazor

Kazo OS Blazor shell: desktop, launcher, window launching, dialogs and lazy app loading. For composing an OS host.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0 48 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