Skip to content

Multi-widget

One app can drive many widgets by giving each a distinct widgetId inside the same (or different) group.

One host driving multiple widgets

typescript
await setWidgetConfig(weatherConfig, group, "weather");
await setWidgetConfig(tasksConfig, group, "tasks");

Actions

onWidgetAction payloads include widgetId and group. Filter in the handler:

typescript
await onWidgetAction((data) => {
  if (data.widgetId !== "tasks") return;
  // …
});

startWidgetUpdater is per (group, widgetId) — start one updater per logical widget.

Android instances

Each pinned AppWidget instance can bind to a different logical id via meta widgetId:{appWidgetId}. After the user pins a second instance, call setWidgetConfig for that id so two tiles do not share one config by accident.

Desktop windows

createWidgetWindow needs group and widgetId for the embedded renderer (size optional, default "small"). No local widget.html copy. See Desktop webview.

Released under the MIT License. · Contributing