Pārlūkot izejas kodu

remove unused file + update README

Noah Vogt 1 mēnesi atpakaļ
vecāks
revīzija
5f97e08ecd
3 mainītis faili ar 9 papildinājumiem un 97 dzēšanām
  1. 8 4
      README.md
  2. 1 5
      example-config.yml
  3. 0 88
      widget.py

+ 8 - 4
README.md

@@ -2,7 +2,7 @@
 
 A hotkey board for desktop touchscreens.
 
-There are many hotkey solutions and programs like that use either
+There are many hotkey solutions and programs that use either
 - physical devices (Elgato StreamDeck) or
 - touchscreens (LioranBoard, MacroDeck, StreamPi)
 
@@ -11,7 +11,7 @@ They are often very bloated but lack basic features like
 - asynchronous command execution
 - a fullscreen mode
 
-They also crash way too often, so especially given their intended use for livestreaming production that greatly values stability, *VulcanBoard* aims to be a rock-solid alternative.
+They also crash way too often, so *VulcanBoard* aims to be a rock-solid alternative.
 
 ## Installation
 
@@ -19,8 +19,10 @@ To setup you need to have python3 installed. In addition, to install the depende
 
     pip install -r requirements.txt
 
-## Project State
-VulcanBoard is currently used weekly in livestreaming production by the author, hence in a usable state. Here are some planned or possible future changes:
+## Project State & Roadmap
+
+*VulcanBoard* is actively used by the author, hence is in a usable state. Here are some planned or possible future changes:
+
 - add documentation for the configuration and use of VulcanBoard
 - add gui window to configure keys
     - add multiple boards to config.yml
@@ -32,5 +34,7 @@ VulcanBoard is currently used weekly in livestreaming production by the author,
 - use constants / constant dict for default values
 - add folders (which is already possible with button states, but kinda hacky)
 - add showing an image instead of button text
+- http api can control buttons by id (optional or maybe even required?) instead of positition (x, y)
 - slaves (other desktop / smartphone clients) can connect via websockets to the master VulcanBoard instance
     - simple permission system: the master can live enable/disable certain buttons for a subset of slaves
+- add button trigger in addition to the current http api, probably by specific supported websockets

+ 1 - 5
config.yml → example-config.yml

@@ -2,19 +2,15 @@ columns: 6
 rows: 4
 buttons:
   - position: [0, 0]
-    cmd: "curl http://localhost:8000/cd_archiv"
+    cmd: "curl http://localhost:8000/get_something"
     txt: "API\nCall"
     bg_color: "fffaaa"
     fg_color: "0c0c0c"
-    fontsize: 60
   - position: [1, 1]
     cmd: "echo 'Hello, World!'"
-    span: [1, 2]  # Spans 1 row and 2 columns
     txt: "Say\nHello"
     # bg_color: "aaaaff"
-    fontsize: 70
   - position: [0, 1]
     cmd: "sleep 10; echo 'Hello, delayed World!'"
     txt: "Say\nDelayed\nHello"
     bg_color: "aaa0ff"
-    fontsize: 50

+ 0 - 88
widget.py

@@ -1,88 +0,0 @@
-# Kivy example for the Popup widget
-
-# Program to Show how to create a switch
-# import kivy module
-import kivy
-
-# base Class of your App inherits from the App class.
-# app:always refers to the instance of your application
-from kivy.app import App
-
-# this restrict the kivy version i.e
-# below this kivy version you cannot
-# use the app or software
-kivy.require("1.9.0")
-
-# The Button is a Label with associated actions
-# that is triggered when the button
-# is pressed (or released after a click/touch).
-from kivy.uix.button import Button
-
-# The GridLayout arranges children in a matrix.
-# It takes the available space and
-# divides it into columns and rows,
-# then adds widgets to the resulting “cells”.
-from kivy.uix.gridlayout import GridLayout
-
-# Popup widget is used to create popups.
-# By default, the popup will cover
-# the whole “parent” window.
-# When you are creating a popup,
-# you must at least set a Popup.title and Popup.content.
-from kivy.uix.popup import Popup
-
-# The Label widget is for rendering text.
-from kivy.uix.label import Label
-
-# to change the kivy default settings we use this module config
-from kivy.config import Config
-
-# 0 being off 1 being on as in true / false
-# you can use 0 or 1 && True or False
-Config.set("graphics", "resizable", True)
-
-
-# Make an app by deriving from the kivy provided app class
-class PopupExample(App):
-    # override the build method and return the root widget of this App
-
-    def build(self):
-        # Define a grid layout for this App
-        self.layout = GridLayout(cols=1, padding=10)
-
-        # Add a button
-        self.button = Button(text="Click for pop-up")
-        self.layout.add_widget(self.button)
-
-        # Attach a callback for the button press event
-        self.button.bind(on_press=self.onButtonPress)
-
-        return self.layout
-
-    # On button press - Create a popup dialog with a label and a close button
-    def onButtonPress(self, button):
-
-        layout = GridLayout(cols=1, padding=10)
-
-        popupLabel = Label(text="Click for pop-up")
-        closeButton = Button(text="Close the pop-up")
-
-        layout.add_widget(popupLabel)
-        layout.add_widget(closeButton)
-
-        # Instantiate the modal popup and display
-        popup = Popup(
-            title="Demo Popup",
-            content=layout,
-            size_hint=(None, None),
-            size=(200, 200),
-        )
-        popup.open()
-
-        # Attach close button press with popup.dismiss action
-        closeButton.bind(on_press=popup.dismiss)
-
-
-# Run the app
-if __name__ == "__main__":
-    PopupExample().run()