Coder Social home page Coder Social logo

deckster's Introduction

Deckster

A service to manage your Stream Deck easily on Linux


Documentation

Online Documentation

Quickstart

pip install deckster-sd

The install process will create a default config.json to your ~/.config/deckster folder.

Install dependencies and add permissions:

# Install system packages needed for the default LibUSB HIDAPI backend
sudo apt install -y libudev-dev libusb-1.0-0-dev libhidapi-libusb0

# Install system packages needed for the Python Pillow package installation
sudo apt install -y libjpeg-dev zlib1g-dev libopenjp2-7 libtiff5

# Add udev rule to allow all users non-root access to Elgato StreamDeck devices:
sudo tee /etc/udev/rules.d/10-streamdeck.rules << EOF
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="0fd9", GROUP="users", TAG+="uaccess"
    EOF
# Reload udev rules to ensure the new permissions take effect
sudo udevadm control --reload-rules

Service

You can have deckster run as a service by using the service file template in the repository.

mkdir -p $HOME/.local/share/systemd/user
cp deckster.service $HOME/.local/share/systemd/user
systemctl --user daemon-reload
systemctl --user enable 
systemctl --user start deckster

deckster's People

Contributors

gabisonfire avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

deckster's Issues

Error on timer actions

Seems related to pages being written with invalid json.

**Feb 12 11:16:47 gab-pc deckster[1926611]: Job "Key.schedule_timer.. (trigger: interval[0:15:00], next run at: 2022-02-12 11:31:47 EST)" raised an exception
Feb 12 11:16:47 gab-pc deckster[1926611]: Traceback (most recent call last):
Feb 12 11:16:47 gab-pc deckster[1926611]: File "/home/gabisonfire/.local/lib/python3.9/site-packages/apscheduler/executors/base.py", line 125, in run_job
Feb 12 11:16:47 gab-pc deckster[1926611]: retval = job.func(*job.args, **job.kwargs)
Feb 12 11:16:47 gab-pc deckster[1926611]: File "/home/gabisonfire/.local/lib/python3.9/site-packages/deckster/common/keys.py", line 129, in
Feb 12 11:16:47 gab-pc deckster[1926611]: scheduler.add_job(lambda: plugin.main(deck, self, False), self.interval, id=f"{self.key}{self.page}", paused = paused)
Feb 12 11:16:47 gab-pc deckster[1926611]: File "/home/gabisonfire/.local/lib/python3.9/site-packages/deckster/plugins/builtins/web/get.py", line 38, in main
Feb 12 11:16:47 gab-pc deckster[1926611]: update_label_display(key, True if "send_to_label" in key.args else False)
Feb 12 11:16:47 gab-pc deckster[1926611]: File "/home/gabisonfire/.local/lib/python3.9/site-packages/deckster/deckster.py", line 182, in update_label_display
Feb 12 11:16:47 gab-pc deckster[1926611]: cfg.write_key_config(key.key , key.page, 'label' if label else 'display', key.label if label else key.display)
Feb 12 11:16:47 gab-pc deckster[1926611]: File "/home/gabisonfire/.local/lib/python3.9/site-packages/deckster/common/configs.py", line 89, in write_key_config
Feb 12 11:16:47 gab-pc deckster[1926611]: data = json.load(jsonFile)
Feb 12 11:16:47 gab-pc deckster[1926611]: File "/usr/lib/python3.9/json/init.py", line 293, in load
Feb 12 11:16:47 gab-pc deckster[1926611]: return loads(fp.read(),
Feb 12 11:16:47 gab-pc deckster[1926611]: File "/usr/lib/python3.9/json/init.py", line 346, in loads
Feb 12 11:16:47 gab-pc deckster[1926611]: return _default_decoder.decode(s)
Feb 12 11:16:47 gab-pc deckster[1926611]: File "/usr/lib/python3.9/json/decoder.py", line 340, in decode
Feb 12 11:16:47 gab-pc deckster[1926611]: raise JSONDecodeError("Extra data", s, end)
Feb 12 11:16:47 gab-pc deckster[1926611]: json.decoder.JSONDecodeError: Extra data: line 256 column 2 (char 6226)
**

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.