Skip to content
andre edited this page Jun 21, 2026 · 3 revisions

Building a WidBar widget

This is the developer documentation for writing widgets that run on the WidBar taskbar — the WidBar.SDK package, the project template, and the small amount of Windows packaging you can't get around. If you've shipped a WinUI 3 app before, almost none of this will surprise you. If you haven't, the template gets you to a running widget before you have to understand any of the plumbing.

Quick note on who this is for: it's for people building widgets. If you just want widgets on your taskbar, install WidBar from the Microsoft Store and you can ignore everything here.

How a widget actually works

A widget is an ordinary packaged WinUI 3 app with one twist — it never shows a window of its own. WidBar starts your process, asks it for some XAML, and paints that XAML into a free space on the taskbar. When the user clicks it, WidBar asks for more XAML and shows it in a popup. That's the whole model, more or less.

You write one class. It returns up to three pieces of UI:

  • the preview that sits on the taskbar,
  • the flyout popup shown on click, and
  • a settings page, if your widget has anything to configure.

Everything else — starting the process, owning the taskbar surface, per-monitor DPI, the IPC, restarting you when you crash — is WidBar's job, not yours.

One thing worth internalising early: a single process serves every copy of your widget. Drop it on two taskbars and CreatePlugin() runs twice in the same process. So keep per-widget state in instance fields; the moment you reach for a static, the two copies start fighting over it.

Widgets are discovered through a Windows AppExtension named com.widbar.widget. The template wires that up for you — see Packaging & publishing if you ever need to touch it.

Where to go next

A note on these pages

They live in the template repo under wiki/ and are mirrored here. Edit them in the repo via PR if you spot something wrong — the wiki copy is generated from there.

Useful links: SDK on NuGet · template repo · showcase catalog.

Clone this wiki locally