makepad/libs/wm_api/Cargo.toml
Admin 2e176aaea5 widgets, builder: the big widget families are features, all on by default, and the Builder takes none of them -- makepad-widgets gains tweaker (with reflect and the theme store; needs dock and data), charts (chart, chart shapes, waveform; needs color), color, data (data grid, tree view, file tree), dates (calendar, date and time pickers), chat, dock, rich_text (text flow, rich text, HTML, Markdown, LaTeX maths, log list; makepad-html, pulldown-cmark and latex-math become optional), dropzone, vector, glass and nav_menus (floating action, radial, pill-nav, line and hamburger menus) and command_palette. Each gates its modules, re-exports and registration; the core stays unconditional. Without the tweaker a Window's Tweaker is an empty hidden view, as the voice wave is without voice, and the window, widget tree and fab panel skip their tweaker and dock hooks. wm_theme and wm_api take no families; the terminal app keeps them all through a default all_widgets feature so shared target dirs build makepad-widgets once. The Builder (tools/makepad_builder) takes widgets and terminal without defaults: macOS release 30.04 MB -> 24.41 MB (stripped 24.39 -> 19.70 MB, __text 15.96 -> 12.62 MB), window and TUI unchanged (identical grab), no script errors in its log. Checked: cargo check --workspace, widgets with no features and with each feature alone, widget lib tests with and without defaults (1849 / 1100 pass), Builder on macOS, Windows and Linux targets.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 00:10:52 +02:00

18 lines
570 B
TOML

# makepad-wm-api — the Makepad apps' API to the window manager (wm).
#
# An app hosted as an wm tile talks to the compositor over the studio
# protocol's Custom channel; this crate is the typed vocabulary on both
# ends: "open a preview of this file", "open this file", "my title/cwd
# changed", "notify". Standalone (not hosted) the calls fall back sensibly.
[package]
name = "makepad-wm-api"
version = "0.1.0"
edition = "2021"
[lib]
name = "makepad_wm_api"
path = "src/lib.rs"
[dependencies]
makepad-widgets = { path = "../../widgets", default-features = false }