+@dataclass
+class Recording:
+ filename: str
+ process: subprocess.Popen[bytes]
+
+
+recording: Recording | None = None
+
+
+def make_filename() -> str:
+ directory = os.environ.get(
+ 'XDG_VIDEOS_DIR',
+ os.path.expanduser('~/Videos'))
+ os.makedirs(directory, exist_ok=True)
+ timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
+ return os.path.join(directory, f'srec {timestamp}.mkv')