Skip to content

Style Guide

General

In order to keep the user experience consistent throughout the Elgato ecosystem, we have created some guidelines for Stream Deck plugins to follow.

Plugin Name

The name of the plugin should accurately represent the plugins functionality. "Plugin" or "Stream Deck" should not be included in the plugin's name.

Plugin Assets

Stream Deck Window

Colors

Action images should be a single color #EFEFEF with a transparent background. Category images should be a single color #DFDFDF with a transparent background.

#EFEFEF #DFDFDF

Action Image: #EFEFEF - rgb(239, 239, 239)
Category Icon: #DFDFDF - rgb(223, 223, 223)

Sizes

All rasterized images in Stream Deck should have a high-resolution and low-resolution version. The high-res version will have the suffix @2x e.g. actionimage@2x.png. Stream Deck will automatically determine if the high resolution assets should be loaded based on the users screen resolution.

Icon Size @2x

Action Image

20x20 px 40x40 px

Category Icon

28x28 px 56x56 px

Key Icon

72x72 px 144x144 px

Slot/Layout

200x100 px 400x200 px

Actions

Actions

Category

The category should accurately represent the actions in the plugin.

Category Name

Name

The action name should accurately describe what the action does.

Better Action Name

State

Actions should use state to toggle a status rather than provide separate actions e.g. a single On/Off action, rather than separate On and Off actions.

#1d1e1f #1d1e1f

Grouping

Consider combining similar actions and providing configuration through the property inspector to reduce the size of the actions list.

Grouping Actions

Key Feedback

Be sure to use the showAlert and showOk messages to let the user know if their key action was successful (see the documentation).

Property Inspector

The property inspector should use controls featured in the PISamples Plugin. You can find more information about the property inspector here.

Prevent Flickering

If your actions share a property inspector, controls should be hidden by default using display: none and then revealed using javascript. This will prevent your property inspector from flickering. You can also create property inspectors at the action level and Stream Deck will only load the specified property inspector for the current action.

Reduce Complexity

We encourage reducing the complexity of property inspector settings as much as possible. There are a few ways to simplify your plugin's property inspector.

Large Property Inspector

Split the Action

Consider splitting the action into multiple actions in a way that could reduce the number of settings.

Advanced Settings

Consider splitting the settings into required/basic settings and advanced settings that could be hidden in a details view (See the PISamples Plugin).

Advanced Settings

External Window

If there are still a lot of settings required for the action, consider using an external window. This can also be useful when setting keys or tokens that may only be set one time or should not always remain visible. (See the PISamples Plugin)

External Window

Choose the Right Control

Different form controls provide a better user experience for different types of information.

Radio Buttons

Radio buttons are ideal for picking between two or three options, but can be overwhelming for many options. For scenarios with more than 3 options consider using a select dropdown instead.

Radio Buttons

Select Option Groups

For select dropdowns with many options consider adding option groups if there are potential categories

Select Group

Filter Selects

For select dropdowns with many options, consider adding another control to filter the number of options.

Filter Select

File Picker

The file picker should be used when selecting files (See the PISamples Plugin).

File Picker

Large amounts of text including tutorials should be removed or transitioned to external windows. Links to support pages that can be included in the store listing should not be included in the property inspector.

Preview Images

Preview Images

Stream Deck's store displays preview images for your plugin. These images can should be included inside a previews folder inside of the plugin and can contain the user interface, helpful infographics, or marketing materials.

Requirements

  • Quantity: 1-3 images named sequentially (1-preview.png, 2-preview.png, etc.)
  • Size: 1280px by 640px
  • Format: PNG
  • Content: Non-transparent