A developer's approach to using a Stream Deck.
Project description
# Dev Deck ![CI](https://github.com/jamesridgway/devdeck/workflows/CI/badge.svg?branch=main)
Stream Deck control software for software developer’s.
[![DevDeck Demo](https://files.james-ridgway.co.uk/images/streamdeck-yt-thumbnail.png)](https://www.youtube.com/watch?v=4ZvrVFW562w)
## Getting Started
If this is your fist time using a StreamDeck make sure to follow the [Pre-requisite: LibUSB HIDAPI Backend](https://github.com/jamesridgway/devdeck/wiki/Installation#pre-requisite-libusb-hidapi-backend) steps documented in the wiki
Install DevDeck
pip install devdeck
You should then be able to run DevDeck by running:
devdeck
The first time that DevDeck is run, it will generate a basic ~/.devdeck/settings.yml populated with the clock control for any Stream Decks that are connected.
## Built-in Controls Dev Deck ships with the following controls:
[Clock Control](https://github.com/jamesridgway/devdeck/wiki/Controls#clock-control)
devdeck.controls.clock_control.ClockControl is a clock widget for displaying the date and time
[Command Execution](https://github.com/jamesridgway/devdeck/wiki/Controls#command-control)
- devdeck.controls.command_control.CommandControl is a control for executing commands on your computer. You can
specify any command and icon for the given action.
[Microphone Mute Toggle](https://github.com/jamesridgway/devdeck/wiki/Controls#mic-mute-control)
devdeck.controls.mic_mute_control.MicMuteControl toggles the mute on a given microphone input.
[Name List](https://github.com/jamesridgway/devdeck/wiki/Controls#name-list-control)
devdeck.controls.name_list_control.NameListControl cycles through initials from a list of names. Useful for things like stand-ups were you need to rotate through a team and make sure you cover everyone.
[Timer](https://github.com/jamesridgway/devdeck/wiki/Controls#timer-control)
devdeck.controls.timer_control.TimerControl a basic stopwatch timer that can be used to start/stop/reset timing.
[Volume Control](https://github.com/jamesridgway/devdeck/wiki/Controls#volume-level-control)
devdeck.controls.volume_level_control.VolumeLevelControl sets the volume for a given output to a specified volume level.
[Volume Mute Control](https://github.com/jamesridgway/devdeck/wiki/Controls#volume-mute-control)
devdeck.controls.volume_mute_control.VolumeMuteControl toggles the muting of a given output.
## Built-in Decks
[Single Page Deck](https://github.com/jamesridgway/devdeck/wiki/Decks#singlepagedeckcontroller)
devdeck.decks.single_page_deck_controller.SinglePageDeckController provides a basic single page deck for controls to be arranged on.
[Volume Deck](https://github.com/jamesridgway/devdeck/wiki/Decks#volumedeck)
devdeck.decks.volume_deck.VolumeDeck is a pre-built volume deck which will show volume toggles between 0% and 100% at 10% increments.
## Plugins There are a few controls that are provided as plugins. You can always write your own plugin if you can’t find the functionality that you’re after:
[devdeck-slack](https://github.com/jamesridgway/devdeck-slack)
Controls and decks for Slack. Toggle presence, change status, snooze notifications, etc.
[devdeck-home-assistant](https://github.com/jamesridgway/devdeck-home-assistant)
Controls and decks for Home Assistant. Toggle lights, switches, etc.
[devdeck-key-light](https://github.com/jamesridgway/devdeck-key-light)
Controls and decks for controlling an Elgato Key Light.
## Implementing Custom Controls Can’t find support for what you want? Implement your own DeckControl or DeckController·
DeckControl
A DeckControl is an individual button that can be placed on a deck.
DeckController
A DeckController is fronted by a button, pressing the button will take you to a deck screen tailored for the given functionality.
For example: Slack is implemented as a DeckController. Pressing the slack button will then present you with buttons for specific statuses.
## Developing for DevDeck Pull requesta and contributions to this project are welcome.
You can get setup with a virtual environment and all necessary dependencies by running:
./setup.sh
Tests can be run by running:
./run-tests.sh
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file devdeck-1.0.13.tar.gz
.
File metadata
- Download URL: devdeck-1.0.13.tar.gz
- Upload date:
- Size: 79.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ccc250d4537bc1dabf34d36ef662cb697ede45a0c370c4ee4eb5b1d5692b08f |
|
MD5 | c05d597945fc8eae62e96053475607a4 |
|
BLAKE2b-256 | e282f43c68a9270952d4f50704bf7a88f35baedfef043cceacf9984a40a6bbd8 |
File details
Details for the file devdeck-1.0.13-py3-none-any.whl
.
File metadata
- Download URL: devdeck-1.0.13-py3-none-any.whl
- Upload date:
- Size: 89.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c7bb55b3d36f0bca45464c21a3a09313db6778b2229e9d1d136d410c03f7c5f |
|
MD5 | 152f98943f404f70a02414f17afd17a0 |
|
BLAKE2b-256 | d4b0823545363edc0bfec7aac8b2184f8e68f9204510cc5a52978d8ab884fa0a |