API Reference
All plugins access DM Note features through the dmn global object.
Namespace Structure
| Namespace | Description |
|---|---|
dmn.app | App boot, restart, external URL |
dmn.window | Window type, minimize, close |
dmn.keys | Key mapping, events, custom tabs |
dmn.settings | App settings get/set |
dmn.overlay | Overlay control |
dmn.css | CSS custom code |
dmn.js | JS plugin management |
dmn.presets | Preset save/load |
dmn.bridge | Window communication |
dmn.i18n | i18n |
dmn.plugin | Plugin API |
dmn.ui | UI extensions |
Quick Start
// Get app bootstrap data
const bootstrap = await dmn.app.bootstrap();
console.log("Current mode:", bootstrap.selectedKeyType);
console.log("Settings:", bootstrap.settings);
// Subscribe to key events (overlay only)
const unsub = dmn.keys.onKeyState(({ key, state, mode }) => {
console.log(`[${mode}] ${key} is ${state}`);
});
// Watch settings changes
dmn.settings.onChanged(({ changed, full }) => {
console.log("Settings changed:", changed);
});
// Cleanup
dmn.plugin.registerCleanup(() => {
unsub();
});Common Types
Unsubscribe
Event unsubscribe function. Returned by on* methods.
type Unsubscribe = () => void;
// Usage
const unsub = dmn.keys.onModeChanged(({ mode }) => {
console.log(mode);
});
// Unsubscribe later
unsub();Notes
-
Async operations: Most APIs return
Promise. Useawaitor.then(). -
Unsubscribe: Always unsubscribe from events during cleanup.
-
Window type:
keys:stateevents are only received in overlay window. -
Main-only API:
dmn.uionly works in main window.