TTRPG Tools - Controls

by Johannes Schwartz
5
4
3
2
1
Score: 50/100

Description

Controls for the TTRPG Tools series

Reviews

No reviews yet.

Stats

0
stars
22
downloads
0
forks
3
days
1
days
1
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
7
commits

README file from

Github

TTRPG 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

  1. Build or download the plugin files.

  2. Create the following folder in your vault:

    .obsidian/plugins/ttrpg-tools-controls
    
  3. Copy these files into the folder:

    main.js
    manifest.json
    styles.css
    
  4. Enable TTRPG Tools - Controls in:

    Settings → Community plugins
    

Usage

  1. Open the Command Palette.

  2. Run:

    TTRPG Tools - Controls: Open controls
    

    You can also use the dashboard icon in the ribbon.

  3. 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