From ea1b8f558edcfba44daa985605533dc6c7717c00 Mon Sep 17 00:00:00 2001 From: Daniel Weschke Date: Sun, 4 Apr 2021 20:31:19 +0200 Subject: [PATCH] add webview gui, define text font, remove unused import --- controldeck.py | 6 +++--- controldeck_gui.py | 21 +++++++++++++++++++++ setup.cfg | 3 +++ 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 controldeck_gui.py diff --git a/controldeck.py b/controldeck.py index 13c36df..209ee84 100644 --- a/controldeck.py +++ b/controldeck.py @@ -2,7 +2,7 @@ import sys from os import path, sep, makedirs from subprocess import Popen, PIPE, STDOUT -from configparser import ConfigParser, DuplicateSectionError +from configparser import ConfigParser from re import search, IGNORECASE from justpy import Div, WebPage, SetRoute, justpy @@ -51,7 +51,7 @@ class Button(Div): command = None def __init__(self, **kwargs): super().__init__(**kwargs) - self.classes = "bg-gray-800 hover:bg-gray-700 w-20 h-20 m-2 p-1 rounded-lg font-bold flex items-center text-center justify-center select-none" + self.classes = "bg-gray-800 hover:bg-gray-700 text-gray-500 w-20 h-20 m-2 p-1 rounded-lg font-bold flex items-center text-center justify-center select-none" if self.command is not None: def click(self, msg): print(self.command) @@ -81,7 +81,7 @@ class ButtonSound(Div): Button(inner_html=f'{self.description}
- 5%', click=self.decrease, a=self.div) Button(inner_html=f'{self.description}
+ 5%', click=self.increase, a=self.div) self.add(self.div) - self.volume = Div(text=f"Volume: {volume(self.name)}%", classes="text-center -mt-2", a=self) + self.volume = Div(text=f"Volume: {volume(self.name)}%", classes="text-gray-600 text-center -mt-2", a=self) async def decrease(self, msg): self.volume.text = f'Volume: {volume_decrease(self.name)}%' diff --git a/controldeck_gui.py b/controldeck_gui.py new file mode 100644 index 0000000..c787d11 --- /dev/null +++ b/controldeck_gui.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +import sys +from webview import create_window, start +import controldeck + +def main(): + if controldeck.process("ps -ef | grep -i controldeck.py | grep -v grep") == "": + controldeck.main() + + create_window("ControlDeck", + url="http://0.0.0.0:8000", + width=800, + height=600, + frameless=True, + easy_drag=True, + background_color='#000000', + transparent=True) + start() + +if __name__ == '__main__': + sys.exit(main()) diff --git a/setup.cfg b/setup.cfg index f3e4bca..d9f92c3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,9 +4,12 @@ name = ControlDeck [options] install_requires = justpy + pywebview py_modules = controldeck + controldeck-gui [options.entry_points] console_scripts = controldeck = controldeck:main + controldeck-gui = controldeck_gui:main