ScriptWeaver Documentation

ScriptWeaver lets you build native desktop apps in plain JavaScript — no web browser, no heavy runtime. You write standard JS, lay out real native widgets, and ship a tiny cross-platform bundle that runs on the free Player.

New here? Start with the Hello, World tutorial.

Getting started

Guides

Widget reference

Reactive variables (StringVar, IntVar, BoolVar, DoubleVar) are covered in the Variables & reactivity guide.

The standard controls — Button, Entry, Scale, and friends — are the themed (ttk / ttkBootstrap) widgets, styled to match the active theme. The redundant classic Tk twins were retired for a coherent look; their raw Tk commands remain reachable via __native_tcl. One classic survives as a named widget — TkFrame, whose direct background / relief has no themed equivalent (Frame is the themed frame). The widgets with no themed twin — Text, Listbox, Canvas, Menu, Message — keep their plain names too.

ScriptWeaver bundles the Bootstrap-flavoured ttkbootstrap theme family — 17 light and dark themes, switchable at runtime with app.setTheme(). The themed widgets are the default; the few classic Tk widgets (prefixed Tk, e.g. TkFrame) keep their native platform look.

System API

The sw.* system namespace is covered in the guides:

Data

Examples

Annotated walk-throughs of the bundled demos: a notes editor, a file browser, a todo list, a preferences dialog, and a Markdown help viewer.