Skip to content

Touch Strip Layout Reference

Fresh

Overview

Custom touch strip layouts for Stream Deck + devices. Each action renders one quarter of the touch strip at 200 x 100 px.

INFO

Individual actions cannot render the entire strip, but coordinated plugins can simulate full-strip rendering.

Layout Definition

Layouts can be defined as JSON files distributed with the plugin or as programmatic objects.

json
{
  "$schema": "https://schemas.elgato.com/streamdeck/plugins/layout.json",
  "id": "my-custom-layout",
  "items": []
}

Item Types

Bar

Horizontal progress-style bar with customizable fill.

SubtypeIDDescription
Rectangle0Standard bar
DoubleRectangle1Split bar
Trapezoid2Tapered bar
DoubleTrapezoid3Split tapered
Groove4Inset channel

GBar

Similar to Bar but includes a triangle indicator beneath showing position.

Pixmap

Displays images from:

  • Local file paths
  • Base64-encoded strings
  • SVG data

Text

Configurable text rendering with:

  • Alignment (left, center, right)
  • Color and font properties
  • Overflow handling: clip, ellipsis, fade

Title Integration

Setting a text item's key to "title" enables Property Inspector font customization and setTitle() method integration.

Universal Item Properties

PropertyTypeDescriptionMutable
keystringUnique identifierNo
rectarray[x, y, width, height] within 200x100 canvasNo
typestringItem classificationNo
enabledbooleanVisibility toggle (default: true)Yes
opacitynumber0-1 in 0.1 incrementsYes
zOrdernumberLayering (0-700 range)Yes
backgroundstringNamed colors, hex, or gradientsYes

Range Definition

Bar and GBar items support custom value ranges:

json
{
  "key": "volume",
  "type": "bar",
  "rect": [10, 40, 180, 20],
  "range": {
    "min": 0,
    "max": 100
  }
}