fumo:ui
Scripts register native controls at startup. Fumoware owns their widgets, values, RGB animation, and config serialization.
import { ui } from "fumo:ui";
ui.collapsible({
id: "advanced",
label: "Advanced",
collapsed: false
});
const enabled = ui.checkbox({
id: "enabled",
label: "Enabled",
default: true,
group: "advanced"
});
const mode = ui.combo({
id: "mode",
label: "Mode",
options: ["Quiet", "Detailed"],
default: 0,
group: "advanced",
visibleWhen: { id: "enabled", value: true }
});
Controls:
checkbox,sliderFloat,sliderInt, andcolorcomboandmultiSelecthotkeyandtextInputbuttonwithonClicklabelandseparatorcollapsible
All controls expose a live value property. Common options are id, label,
group, visibleWhen, and disabledWhen. A color may opt into native RGB
cycling with rgbCycle: true.
Control IDs are namespaced by package and may contain letters, numbers, _,
-, and .. Values are serialized as
script_value/<package>/<control> config assignments. Before another config
loads, controls reset to their declared defaults so state cannot leak between
profiles.