Widgetsack displays desktop widgets on transparent overlays across Windows monitors. Widgets show system measurements, clocks, media information, and data from Home Assistant, MQTT, and stock services.
Use Studio to arrange widgets and configure their data sources. CSS and design tokens control their appearance. Clicks pass through the overlay to the desktop, except on widget buttons and controls.
- System monitoring: CPU load and frequency, memory, GPU, disks, network traffic, battery, and process activity.
- Widgets: clocks, calendars, weather, media information, timers, task lists, alerts, and stock quotes.
- Controls: media playback, volume, audio outputs, monitor inputs, and Home Assistant devices.
- Layouts: arrange widgets in rows, columns, grids, or free positions. Each monitor has its own layout.
- Themes: change fonts, colors, and spacing. Apply one theme to all monitors or select a theme for each monitor.
- Agent-assisted design: ask your agent to build and refine widgets from the built-in meters, live sensors, and CSS.
- Window zones: define regions where you can place app windows.
GPU readings currently support NVIDIA GPUs. Media controls work with apps that support Windows media sessions.
See the widget reference for the full list of widgets and their settings.
For an update, save your Studio changes and exit Widgetsack from the tray before you run the installer.
- Install Widgetsack with the latest installer.
- Open Studio from the tray icon or Start menu.
- Open Layout. Select a monitor above the outline.
- Select Add to insert a widget.
- Drag the widget to position it. Drag its handles to resize it.
- Use the Inspector to configure the widget.
- Select Save to keep the layout.
Edits appear immediately on the desktop. Select Cancel to restore the saved layout. Use Presets to save a monitor's layout under a name and load it later.
The app includes four dashboard presets:
| Work | Gaming |
|---|---|
![]() |
![]() |
| Agenda, tasks, focus timer, and alerts. | Performance history, GPU stats, latency, and music. |
| Home | Minimal |
|---|---|
![]() |
![]() |
| Weather, upcoming events, service health, and household tasks. | Time, download speed, CPU history, and alerts when needed. |
- Open Share in Studio.
- Select Built-in: Work, Built-in: Gaming, Built-in: Home, or Built-in: Minimal to import it.
- Open Layout → Add → My widgets.
- Insert the dashboard.
- Configure its widgets in the Inspector.
- Select Save.
Configure Weather and Agenda in Plugins. For the Home Assistant health card, enter your server's address. The screenshots use sample data. New task lists are empty. Alerts appear when their rules match.
Open Plugins to configure Home Assistant, MQTT, weather, calendar feeds, stock quotes, and AI providers. Widgets that use these services need a configured connection or data source.
Community packages can add templates, themes, and sensor sources:
- Open Plugins → Packages → Install a package.
- Enter a GitHub repository or a package URL.
- Select Install.
- Review the requested network access before you enable the package.
Packages start disabled. Install packages from sources you trust. Use Check updates to check a package for updates.
Use Themes to edit a theme. You can also add CSS to an individual widget in the Inspector. Use formulas to calculate values or combine sensor readings. Layout arranges your desktop; Build creates reusable widgets in My widgets. Both share the same catalog and favourites. See Layout and Build for starting points, shared edits and arrangement previews.
See the theme guide and templates and formulas for examples.
Describe the widget you want in plain language. Your agent can combine built-in meters, bind available sensors, and adjust layout, labels, and CSS in Studio.
-
Open Assistant in the Studio toolbar.
-
Use Your agent for stdio MCP setup, or select Built-in and choose an installed and signed-in Pi, Codex, or Claude agent.
-
Describe the content, size, and appearance you want. For example:
Build a compact CPU and memory row with percentages and sparklines. Match my theme, use readable text, and keep it within a 360 px sidebar. Check for clipping afterward.
-
Review the result. Use Undo to reverse a batch or Save to keep it.
Use Build, or save a selection from Layout, to create a reusable widget. Agents can configure Home Assistant, AI providers and other integrations through MCP after you request setup. Saved credentials remain write-only; integration settings save immediately outside layout Undo. Commands still require local activation. The layout tools work with existing widget types. For a fully custom renderer, add Custom HTML and let your agent write portable HTML/CSS/JavaScript with selected sensors, theme tokens and responsive sizing. See the Custom HTML guide. Adding a new sensor source requires development.
You can also use an external agent through Settings → MCP. Follow the connection guide, then ask it to read, edit, verify, and screenshot your layout. For scheduled prompts and interactive chat widgets, see AI widgets.
Keep Studio open. MCP layout edits are undoable and remain unsaved until you select Save.
Choose reusable widget design presets: Transparent, Instrument, or Soft, with Compact, Comfortable, or Large typography. Apply them globally or to one widget/group; manual overrides are preserved by default.
- Launch at login: enable this option in Settings → Startup.
- Update checks: enable automatic checks in Settings → About. Open the release page to download an update.
- Window layer: use Settings → Overlay to place widgets below windows, above windows, or behind desktop icons.
- Media priority: use Plugins → Now Playing to choose which media source the widget shows.
Press Ctrl+Alt+E to turn desktop edit mode on or off. Use Ctrl+E inside a Widgetsack window. You can change this shortcut or turn it off in Settings → Startup. On some keyboard layouts AltGr is the same as Ctrl+Alt, so the default can block typing characters such as ę or €.
If you cannot click a widget window, press Ctrl+Alt+Shift+E to bring it forward and enable clicks. Open Settings → Diagnostics to view logs or copy diagnostics for a bug report.
See User guides for configuration and usage instructions.
See the development guide for build commands and contribution checks. The design system covers interface conventions. See the package authoring guide to create a plugin package.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.





