Skip to content

willowui ​

A wooden UI window with a list, a slider, a checkbox, a toggle, a text field and buttons
Illustration

willowui is the UI toolkit: buttons, labels, text input, lists, trees, tables, windows, menus, themes, reactive data binding and an XML template system. It is written entirely in ThicketScript on top of willow, and it comes as a package, not a built-in system.

Open the willowui documentation: getting started, layout, the XML template system in depth, and a reference for every widget.

Add it to a project ​

json5
{
    entry: "app.tks",
    systems: ["willow", "bitmap"],
    packages: { willowui: "../willowui-tks" },
    window: { title: "My UI", width: 800, height: 600 },
}

The key, willowui, is the name you import from: import { Button, Screen, DEFAULT_STAGE } from "willowui";.

Authoring tools ​

willowui offers themec (compile a theme) and xmluic (compile an XML template to its binary form). A project that lists willowui runs them with thicket tool themec and thicket tool xmluic.