headless window manager · 0 dependencies

WINDOWS in your web app

Drag, resize, snap, minimize, undo — a real desktop inside the page. Every window you see is the library doing its job. Grab one.

Read the docs

drag a titlebar to a screen edge to snap · ⌘⌥← / → snap · ⌘Z undo · F6 cycle · ? help

01 — build a window

Your markup, our engine

A full editor: markup, CSS and placement on the left, a live window on the right. Drag it, restyle it, then copy the code or send it to the desktop above.

01 — capabilities

Everything a desktop has

The core keeps state, the DOM layer moves pixels, your framework renders content. Each piece is replaceable.

02 — adapters

One core, six ways to hold it

Window content always lives in your own component tree — no innerHTML, no portals into the void. Adapters are thin sugar over the same state machine.

03 — landscape

Honest comparison

The floating-window niche went quiet years ago. That is exactly why wmkit exists.

Checked on July 26, 2026: last commits, npm downloads, open feature requests.

Give your app windows

pnpm add @surdeddd/wmkit