My personal streamdeck controller program for Linux
- Python 98%
- Makefile 2%
| data | ||
| icons | ||
| streamdeck_controller | ||
| .gitignore | ||
| Makefile | ||
| pyproject.toml | ||
| README.md | ||
StreamDeck Controller
A Linux controller for the Elgato Stream Deck with an Adwaita (GTK 4 / libadwaita) settings window.
Features
- Tabs: Apps, Volume, Media (auto-added when music plays), Steam (auto-added when Steam is open)
- Settings tab on the deck: brightness control, deck reset, documentation links
- GUI window: shows connection status, device model, brightness slider
- Closing the window hides it — the controller keeps running in the background
- Use Ctrl+Q or the app menu → Quit to stop the application completely
Requirements
System packages
python3-gi gir1.2-adw-1 gir1.2-gtk-4.0 # GTK / Adwaita
playerctl # media control
pactl (pulseaudio-utils or pipewire-pulse) # volume control
xdotool # Steam detection
Python packages
pip install streamdeck Pillow PyGObject
Or install all Python dependencies from the project:
pip install .
Running (development)
python3 -m streamdeck_controller
Or after install:
streamdeck-controller
Installation
make install # installs to /usr/local by default
make install PREFIX=/usr # system-wide
Build a wheel
make build # produces dist/streamdeck_controller-*.whl
Uninstall
make uninstall