This plugin lets you control Cuis Smalltalk from your Stream Deck.
It isn't on the Elgato Marketplace yet, so for now it's installed from this repository. It has two parts: a Cuis package that runs the code the keys send, and a Stream Deck plugin with the keys.
-
Clone Cuis, OSProcess and this repository side by side. If you already have Cuis, clone the other two in the folder that contains your
Cuis-Smalltalk-Devfolder:git clone --depth 1 https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev.git git clone https://github.com/Cuis-Smalltalk/OSProcess.git git clone https://github.com/wenoa/cuis-streamdeck.git
OSProcess is the only package the StreamDeck package requires that doesn't come with Cuis. The others (WebClient, JSON, Identities-UUID and the ones they require) are already in
Cuis-Smalltalk-Dev. -
In a Workspace, evaluate:
Feature require: 'StreamDeck'
-
Build the plugin:
cd StreamDeck npm ci npm run build npm run pack -
Double-click
StreamDeck/studio.wenoa.cuis.streamDeckPlugin. Stream Deck will install the plugin.
The package and the plugin share ~/.cuisdeck.json, which holds the port the package listens on, on 127.0.0.1, and the token the plugin sends with every key press.
It doesn't matter which one you install first: whichever starts first creates the file if it doesn't exist, with the port 2847 and a random token, readable only by your user. The other one reads it when it starts.
To change the port, edit the file and restart both.
The Cuis package is Cuis/StreamDeck.pck.st. Load it as above and save it from Installed Packages.
For the Stream Deck plugin, link it to Stream Deck in developer mode and leave it rebuilding on every change:
cd StreamDeck
npm ci
npx streamdeck dev
npm run build
npx streamdeck link studio.wenoa.cuis.sdPlugin
npm run watchRun its tests with npm test.
Open an issue or, better yet, send a pull request.
Most action icons come from the Tango pack.
The Increase GUI Size and Decrease GUI Size icons are modified versions of View-zoom-in.svg and View-zoom-out.svg from Wikimedia Commons, by Mapto, Inductiveload and Smasongarrison, licensed under CC BY-SA 3.0. The white floor highlight under the lens was removed and the size set to 144px. Both modified icons are distributed under the same license.
