Docs Core
MainMenuRegistry
TD main-menu surface registry, including project-name display. The raw master, promoted to /sys.
◈ Core
Main Menu Registry
The raw registry that manages TouchDesigner's main-menu bar as a single surface: order, visibility and left/right placement of every entry, both TD's own built-in items (wiki, forum, tutorials, fps, etc.) and the ones tools publish, live here in one place.
It ships as its own core package, promoted to /sys (global shortcut op.FNS_MAINMENUREGISTRY), one of the toolkit's six surface registries, which together with Console, Hub and Updater make up the always-installed core. A tool that wants a main-menu entry, for example BorderlessTD's project-name display or the hub's own FNS button, ships a small host copy of this registry alongside its widget. Open the MainMenu tab of Hub (the FNS button in the bar) to reorder, hide or group entries, TD's own items included.
Get it
Tick it on the install page and it installs with the rest of your setup and stays up to date.
Download FNS_MainMenuRegistry.tox Version 3.2.5, the tool on its own. It works in any project, and this copy never updates itself.
Parameters
Registration
| Control | Type / default | What it does |
|---|---|---|
Widget COMPComp |
operator.. | Panel COMP published as the toolbar widget. Defaults to the parent component. |
Canonical NameCanonicalname |
textempty | Unique name for this widget in the global toolbar registry. |
Callback DATCallback |
operatorempty | Optional DAT with toolbar callbacks for this widget. |
Create CallbacksCreatecallbacks |
button | Spawn a 'mainmenu_callbacks' DAT into the tool (from the registry's template) and point the Callback parameter at it. Idempotent: an existing DAT is adopted, never overwritten. The hooks are optional lifecycle notifications: onRegistered, onUnregistered, onDisplayChanged, onSideChanged. |
Auto-registerAutoregister |
on / offoff | When on, keep this widget published into the global toolbar registry while this component exists. |
RegisterRegister |
button | Publish once into the global toolbar registry, even if Auto-register is off. |
UnregisterUnregister |
button | Take this tool's contribution back out of the registry and turn Autoregister off, so it stays out. Register puts it back. |
Registration StatusRegstatusread-only |
textempty | Read-only status of this host registration. |
Menu Bar OrderMenuorder |
number-1 | Preferred order among registered widgets, managed by the global registry. -1 = no preference (append at the end). |
Menu Bar SideAlign |
menuRight | Which side of the pane bar's path area this item docks to. Left sits after TD's own left-hand icons; right sits between the path area and TD's right-hand icons. |
Anchor AfterAnchor |
textempty | Pin this entry into the gap directly AFTER a named stock menu-bar item (e.g. 'tutorials'), overriding the left/right side band. Resolved live each sync: a vanished anchor falls back to the side band and heals if the item returns. Empty = normal side placement. |
DisplayedDisplayed |
on / offon | Default visibility of the widget in the toolbar (managed by the global registry). |
Bar WidthBarwidth |
number0 | Width of this widget in the toolbar. 0 = auto (follow the widget). Persisted here; the registry writes manager edits back. |
Help URLHelpurl |
textempty | The tool's wiki/help page opened from the Configurator (right-click the Name cell). Leave empty to auto-discover from a docsHelper COMP (its Url par) inside the registered panel or its parent. |
Promote ParametersPromotepars |
on / offon | When on, the host mirrors its key Registration parameters onto the parent tool as a bound 'Registry' page. Turn off before shipping a tool that should not expose registry controls. |
Pre-Save HealPresaveheal |
on / offon | Before each project save, re-check this registry: update entries whose component moved, drop entries whose component is gone, and republish a host that initialised before the global registry existed. Off skips the sweep for this registry only. |
What it adds to a registered tool
Every tool that registers gets these on its own Registry page.
| Control | Type / default | What it does |
|---|---|---|
Create CallbacksCreatecallbacks |
button | Spawn a 'mainmenu_callbacks' DAT into the tool (from the registry's template) and point the Callback parameter at it. Idempotent: an existing DAT is adopted, never overwritten. The hooks are optional lifecycle notifications: onRegistered, onUnregistered, onDisplayChanged, onSideChanged. |
Auto-registerAutoregister |
on / offoff | When on, keep this widget published into the global toolbar registry while this component exists. |
RegisterRegister |
button | Publish once into the global toolbar registry, even if Auto-register is off. |
UnregisterUnregister |
button | Take this tool's contribution back out of the registry and turn Autoregister off, so it stays out. Register puts it back. |
Registration StatusRegstatusread-only |
textempty | Read-only status of this host registration. |
Menu Bar OrderMenuorder |
number-1 | Preferred order among registered widgets, managed by the global registry. -1 = no preference (append at the end). |
Menu Bar SideAlign |
menuRight | Which side of the pane bar's path area this item docks to. Left sits after TD's own left-hand icons; right sits between the path area and TD's right-hand icons. |
Anchor AfterAnchor |
textempty | Pin this entry into the gap directly AFTER a named stock menu-bar item (e.g. 'tutorials'), overriding the left/right side band. Resolved live each sync: a vanished anchor falls back to the side band and heals if the item returns. Empty = normal side placement. |
DisplayedDisplayed |
on / offon | Default visibility of the widget in the toolbar (managed by the global registry). |
Bar WidthBarwidth |
number0 | Width of this widget in the toolbar. 0 = auto (follow the widget). Persisted here; the registry writes manager edits back. |