Skip to content

v0.3.4 — Six new integrations, some fixes, and a better more precise deck

Latest

Choose a tag to compare

@javocsoft javocsoft released this 03 Aug 21:09

The largest release so far. It started as a survey of what the Elgato and
OpenDeck plugin ecosystems actually offer, and turned into six integrations
that cover most of it natively — plus a run of fixes for keys that quietly did
the wrong thing.

The test suite went from 1494 to 1899.

✨ New actions

Web request — the one that covers whatever is not in this list

Call any HTTP endpoint from a key: a method, headers, a body. Turn on Show
the answer on the key
and it also reads one value out of the response —
state, or data.0.name to reach into a list — and keeps it up to date.

That is a home automation bridge, a webhook, an uptime monitor, a build server
or your own API, without a plugin for each. It never blocks the key drawing on
the network: the key shows the last good value while the next is fetched, and
blanks if the endpoint stays unreachable rather than showing a number that
stopped being true.

Volume and mute, per application

Point a key at the speakers, the microphone, or one application on its own
— so you can mute the game without muting Discord, or turn the music down
without touching the mic. A mute key lights up red while whatever it points at
is muted, and keeps that up to date even when you change it from the desktop's
own volume panel.

Switch audio device makes a device the one in use; give it a second device
and one key moves between them, which is what speakers and a headset want.

Elgato Key Lights

Key Light, Key Light Air and Ring Light, found automatically on your network.
Three keys cover them: on/off, brighter/dimmer, and warmer/cooler between
2900K and 7000K. No account and no cloud service — the lights speak plain HTTP
on your own LAN, which is the only reason this can exist on Linux, since
Elgato ships no software for them here either.

System monitor

A live machine reading on a key, needing OBS for none of it: CPU, memory, GPU
load, GPU memory, CPU and GPU temperature, network up/down, free disk space.
The key colours itself amber and then red as a value gets into trouble.

Anything your machine does not report — an integrated graphics chip has no
load counter, some boards have no package sensor — shows a dash rather than a
zero, because a zero would be a claim.

Home Assistant

Two keys: Switch or run turns any entity, scene or script on, off or over,
and Show a value puts what an entity reports live on the key. The entity is
picked from a dropdown of what your server really has, which is the whole point
— typing light.kitchen_ceiling_2 from memory is where the real failures live.

Set it up once from the ⋮ menu with your server address and a long-lived access
token, stored in your desktop keyring and never in the configuration file or an
export.

Counter

Press to add, hold to reset. Deaths, takes, attempts. A negative step counts
down.

🔊 Soundboard

Play audio file gains "who hears it". Send a key to the virtual microphone
and pick Monitor of LinuxStreamDeck as an input in OBS, Discord or a call —
everyone hears it, you included, so a key never feels dead.

🎵 What is playing, on the key

A media key can now show the album art with the artist over it, with a
border while something is actually playing. It works with anything that speaks
MPRIS — Spotify, VLC, Firefox, mpv — so one key covers them all.

The song title deliberately is not shown: at 96 px it either gets cut or is
drawn too small to read, while the artist fits every time and the cover is
recognisable before you read anything. When nothing is playing the key goes
back to the icon and label you gave it.

Each media action also gets its own default icon now — previous, next, stop,
mute and the two volume steps no longer all inherit the play/pause picture.

🐛 Fixed

  • Stream on/off had no mode selector. Record on/off offered
    toggle/start/stop and streaming could only toggle. Existing keys keep
    toggling.
  • The key grid jumped sideways when you selected a key. On a maximized
    window the whole deck moved about 247 px left, so the pointer ended up two
    keys from the one just pressed and a folder's double-click missed.
  • The editor's scrollbar covered its own controls — the arrow of each
    dropdown, the action picker's search button.
  • A colour parameter was a plain text field, showing nothing while the
    value was inherited and making you guess the format. It is a proper picker
    now, and the swatch shows the colour that key would really use.
  • An alert key could go quiet with somebody waiting on it, on a machine
    that had recently booted.
  • A Home Assistant key reported success while nothing happened. Home
    Assistant answers 200 for a turn_on an entity cannot perform; the key now
    says what actually changed.
  • A Home Assistant toggle turned a media player on and never off, because
    an idle Chromecast was being read as switched off.
  • A dropdown filled from something that could not be asked was a dead end
    no entries and no way to type a value by hand.

🎛️ Also

  • The editor panel is resizable: drag the divider and the width is
    remembered. It stops when it reaches the deck, which never changes size.
  • The editor offers the Home Assistant connection where the key is
    configured, the way it already did for Twitch.
  • pulseaudio-utils and avahi-utils join the Recommends.

📦 Install

    sudo apt install ./linux-stream-deck-0.3.4.deb
    sudo ./packaging/refresh-appstream.sh