Skip to main content

Core Lifecycle Events

These events are emitted by the core kernel during board lifecycle:

board:ready

Emitted once when the board is fully initialized and the API is ready.

board:allPluginsLoaded

Emitted after all enabled plugins have been loaded and their setup() called.
Use this event for plugins that need to interact with other plugins after they’ve all initialized (e.g., hooks that depend on other plugins being ready).

board:restarted

Emitted after api.restart() completes and all plugins have been reloaded.

board:resize

Emitted when the window is resized (debounced at 150ms).

Plugin Lifecycle Events

plugin:loaded

Emitted when a single plugin finishes loading.

plugin:unload

Emitted when a plugin is toggled off or deleted.

plugin:unloaded

Emitted after a plugin has been fully torn down and its container removed.

Container & Docking Events

plugin:docked

Emitted when a plugin container is docked into a target element.

plugin:undocked

Emitted when a plugin container is undocked and becomes floating.

plugin:updated

Emitted after api.updatePlugin() modifies a plugin’s container.

Drag Events

plugin:dragstart

Emitted when a plugin container starts being dragged.

plugin:dragend

Emitted when a plugin container stops being dragged.

UI Events

contextmenu:open

Emitted when the board context menu (right-click) opens.

Storage Events

storage:change

Emitted whenever a value is stored via api.storage.set() or api.storage.setForPlugin().

Plugin-Specific Events

Plugins can define and emit their own events freely. Use namespace:action naming:

window.blankBoard

After boot, the core exposes a global debug object:
window.blankBoard is only available for debugging. Plugins should use the api object passed to setup().