summaryrefslogtreecommitdiff
path: root/src/caelestia/subcommands/record.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/caelestia/subcommands/record.py')
-rw-r--r--src/caelestia/subcommands/record.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/caelestia/subcommands/record.py b/src/caelestia/subcommands/record.py
index 2b946c6..867eb1b 100644
--- a/src/caelestia/subcommands/record.py
+++ b/src/caelestia/subcommands/record.py
@@ -7,7 +7,7 @@ from argparse import Namespace
from datetime import datetime
from caelestia.utils.notify import close_notification, notify
-from caelestia.utils.paths import recording_notif_path, recording_path, recordings_dir
+from caelestia.utils.paths import recording_notif_path, recording_path, recordings_dir, user_config_path
RECORDER = "gpu-screen-recorder"
@@ -63,6 +63,15 @@ class Command:
if self.args.sound:
args += ["-a", "default_output"]
+ try:
+ config = json.loads(user_config_path.read_text())
+ if "record" in config and "extraArgs" in config["record"]:
+ args += config["record"]["extraArgs"]
+ except (json.JSONDecodeError, FileNotFoundError):
+ pass
+ except TypeError as e:
+ raise ValueError(f"Config option 'record.extraArgs' should be an array: {e}")
+
recording_path.parent.mkdir(parents=True, exist_ok=True)
proc = subprocess.Popen([RECORDER, *args, "-o", str(recording_path)], start_new_session=True)