README file from
GithubTTRPG Tools - Controls
TTRPG Tools - Controls is a configurable command center for the TTRPG Tools plugin ecosystem in Obsidian.
Build a personalized sidebar of the actions you use most: organize controls into groups, arrange buttons freely, customize their appearance, and keep your tabletop workflow one click away.
Highlights
- Dedicated Controls side pane
- Create and reorder custom groups
- Add, reorder, and move buttons between groups
- Optional group headings for clean, minimal layouts
- Configurable spacing after every group
- Per-group accent colors
- Per-button icon and color overrides
- Global accent color, panel color, button size, spacing, and corner radius
- Responsive button wrapping for narrow sidebars
- Graceful handling of disabled, unavailable, or missing provider plugins
- Versioned provider API for compatible TTRPG Tools plugins
Buttons from unavailable providers remain in the layout and are automatically disabled. Your dashboard configuration is preserved even when a provider plugin is temporarily turned off.
Supported providers
TTRPG Tools - Controls currently supports actions from:
- TTRPG Tools - Maps
- TTRPG Tools - Publish
- TTRPG Tools - Soundboard
- TTRPG Tools - Time
- TTRPG Tools - Timeline
- TTRPG Tools - Player Screen
Available actions depend on the installed provider plugins and their current state.
Additional integrations
Controls also provides built-in management actions for:
- Opening TTRPG Tools - Controls settings
- Opening Style Settings plugin settings
The Style Settings action is shown as unavailable when the Style Settings plugin is not installed or enabled.
Installation
-
Build or download the plugin files.
-
Create the following folder in your vault:
.obsidian/plugins/ttrpg-tools-controls -
Copy these files into the folder:
main.js manifest.json styles.css -
Enable TTRPG Tools - Controls in:
Settings → Community plugins
Usage
-
Open the Command Palette.
-
Run:
TTRPG Tools - Controls: Open controlsYou can also use the dashboard icon in the ribbon.
-
Open the plugin settings to configure your control center:
- Create groups for different parts of your workflow
- Add actions from installed TTRPG Tools providers
- Drag and drop groups or buttons to reorder them
- Move buttons into another group
- Customize group colors, headings, and spacing
- Override individual button icons and colors
The Controls pane updates when provider action states change, for example when an action becomes available after a calendar, map, timeline, or other relevant resource is loaded.
Provider API
Plugins can integrate with Controls by exposing a public property named:
plugin.controlsApi
The API contract is:
interface ControlsProviderApi {
apiVersion: 1;
providerId: string;
providerName: string;
getActions(): ControlsProviderAction[];
executeAction(actionId: string): Promise<void>;
onActionsChanged?(callback: () => void): () => void;
}
Each action should use a stable identifier, for example:
map.open
timeline.open
soundboard.play
event.create
Providers should expose only public user-facing actions. Controls intentionally does not access provider-internal views, private fields, modals, or stored data directly.
License
MIT