123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- diff --git a/VulcanBoard.py b/VulcanBoard.py
- index e64c74c..1f6ec1e 100644
- --- a/VulcanBoard.py
- +++ b/VulcanBoard.py
- @@ -20,6 +20,7 @@ from os import path, getenv, name
- import subprocess
- import sys
- from dataclasses import dataclass
- +from argparse import ArgumentParser
-
- import yaml
- from termcolor import colored
- @@ -40,7 +41,7 @@ def log(message: str, color="green") -> None:
- print(colored("[*] {}".format(message), color)) # pyright: ignore
-
-
- -def get_config_path():
- +def get_default_config_path():
- if name == "nt":
- return path.join(getenv("APPDATA", ""), "VulcanBoard", "config.yml")
- xdg_config_home = getenv("XDG_CONFIG_HOME", path.expanduser("~/.config"))
- @@ -59,6 +60,35 @@ def is_valid_hexcolor(hexcolor: str) -> bool:
- return True
-
-
- +@dataclass
- +class CmdlineArgs:
- + use_fullscreen: bool
- + config_path: str
- +
- +
- +def parse_argv() -> CmdlineArgs:
- + parser = ArgumentParser(
- + prog="VulcanBoard",
- + description="a hotkey board for desktop touchscreens",
- + )
- + parser.add_argument(
- + "-f",
- + "--fullscreen",
- + action="use_fullscreen",
- + help="open hotkey deck in fullscreen mode",
- + )
- + parser.add_argument(
- + "-c",
- + "--config-file",
- + type=str,
- + help="specify the configuration file to use",
- + default=get_default_config_path(),
- + )
- +
- + args = parser.parse_args()
- + return CmdlineArgs(args.fullscreen, args.config_path)
- +
- +
- @dataclass
- class Config:
- columns: int
- @@ -137,7 +167,7 @@ class ConfigLoader:
-
- class VulcanBoardApp(App):
- def build(self) -> GridLayout:
- - config = ConfigLoader(get_config_path())
- + config = ConfigLoader(get_default_config_path())
-
- button_map = {
- (btn["position"][0], btn["position"][1]): btn
|