Contents

Panels · Components

Taskbar

A thin command bar: one entry per open window, with slots either side.

$ pnpm dlx shadcn@latest add @nynxz/taskbar

Usage

<Taskbar start={<Launcher />} center={<Clock />} end={<ThemeMenu />} />

Open windows sit on the right in the order they opened, each with a dot: filled for the active window, hollow when minimized. Clicking a task restores and focuses its window (moving keyboard focus into it), or minimizes it if it's already active.

The task list is a single tab stop; the arrow keys, Home and End move within it.

Props

PropType
startReactNodeleft: a logo, a launcher
centerReactNodecentre: a clock, a workspace switcher
endReactNoderight, after the tasks: search, settings
tasksbooleanlist open windows (default true)
labelstringaccessible name (default "Taskbar")

The taskbar only needs to be inside the same WindowManager store as the windows it lists, not next to them: this site's taskbar is outside the sliding workspaces, over the active workspace's store.

Without a taskbar

Not every app wants one. With a few fixed panels and no windows to switch between, tasks={false} turns the bar into a plain header, and label names it for that. The ComfyUI Node Security Checker works this way.

Without a task list, nothing can bring back a minimized window, so turn minimize off for those apps (see Window features). A panel that can close should come back some other way, such as the action that fills it calling launch.