Skip to content

Linux port

Umbra is Windows 10 1809+ / Windows 11 only today. A Linux version is in progress, tracked in the epic #172. Follow that issue for the current state: the plan and its sub-issues are the source of truth, and this page only explains the shape of the problem.

  • Widgets are web pages. HTML, CSS and JavaScript don’t need porting, and the widget and theme catalogs stay shared.
  • The widget SDK is one JavaScript API (window.umbra), so the same page can run on any web view the host provides.
  • Automation is a protocol. The control commands, umbractl and the MCP server describe what Umbra can do independently of how a given platform does it.

What is Windows-specific (and must be reimplemented)

Section titled “What is Windows-specific (and must be reimplemented)”
  • Desktop pinning: Progman ownership, HWND_BOTTOM, DWM corners.
  • The WebView2 host and its sandbox enforcement through WebResourceRequested.
  • Tray, toasts, global hotkeys, media sessions, system metrics and fullscreen detection.
  • The installer and the self-updater.

Pick a step from the epic, comment that you’re on it, and follow the dev setup and architecture pages. Security rules apply to every platform: the security model lists the invariants a port must keep.