Skip to main content

HTML Widget Plugins

Widget API Version 1.4.0

HTML widget plugins extend iCUE widget functionality, and are registered using the required_plugins property in manifest.json.

Supported Plugins

PluginModule namePlugin nameVersionDescription
Sensors Data Providerwidgetbuilder.sensorsdataproviderSensors1.0Sensor data from connected devices
Media Data Providerwidgetbuilder.mediadataproviderMedia1.0Media playback control
Link Providerwidgetbuilder.linkproviderUrl1.0Open links in the system browser
Stream Deckwidgetbuilder.streamdeckStreamDeck1.0Stream Deck integration
FPS Data Providerwidgetbuilder.fpsdataproviderFps1.0FPS data and current process name
Device Action Providerwidgetbuilder.deviceactionproviderDeviceAction1.0Dial and key action events from the device

Declaration

Plugins are declared in the manifest.json file in the "required_plugins" section.

Single plugin:

manifest.json
"required_plugins": [
    "widgetbuilder.sensorsdataprovider:Sensors:1.0"
]

Multiple plugins:

manifest.json
"required_plugins": [
    "widgetbuilder.sensorsdataprovider:Sensors:1.0",
    "widgetbuilder.mediadataprovider:Media:1.0"
]

Plugin Interface

Initialization Check

Boolean variable indicating plugin load status: plugin<<module_name>>_initialized

Examples:

  • pluginSensorsdataprovider_initialized
  • pluginMediadataprovider_initialized
  • pluginLinkprovider_initialized
  • pluginFpsdataprovider_initialized
  • pluginDeviceactionprovider_initialized

Initialization Callback

plugin<<module_name>>Events = {
    "onInitialized": <<callback_function>>
};

Sensors plugin example:

pluginSensorsdataproviderEvents = {
	onInitialized: onSensorsdataproviderInitialized,
};

Media plugin example:

pluginMediadataproviderEvents = {
	onInitialized: onMediadataproviderInitialized,
};

Link plugin example:

pluginLinkproviderEvents = {
	onInitialized: onLinkproviderInitialized,
};

FPS plugin example:

pluginFpsdataproviderEvents = {
	onInitialized: onFpsdataproviderInitialized,
};

Device Action Provider example:

pluginDeviceactionproviderEvents = {
	onInitialized: onDeviceactionproviderInitialized,
};

Plugin Access

Access plugins via window.plugins.<<module_name>>:

  • window.plugins.Sensorsdataprovider
  • window.plugins.Mediadataprovider
  • window.plugins.Linkprovider
  • window.plugins.Fpsdataprovider
  • window.plugins.Deviceactionprovider

Each plugin has its own interface documented in the plugin-specific documentation.