record: add arg to copy screen recording to clipboard (#83)

This commit is contained in:
Chea Vuthearith
2026-02-10 16:53:27 +07:00
committed by GitHub
parent fe071cb285
commit 164bda5462
3 changed files with 7 additions and 0 deletions
+1
View File
@@ -105,6 +105,7 @@ complete -c caelestia -n "$seen screenshot" -s 'f' -l 'freeze' -d 'Freeze while
# Record # Record
complete -c caelestia -n "$seen record" -s 'r' -l 'region' -d 'Capture region' complete -c caelestia -n "$seen record" -s 'r' -l 'region' -d 'Capture region'
complete -c caelestia -n "$seen record" -s 's' -l 'sound' -d 'Capture sound' complete -c caelestia -n "$seen record" -s 's' -l 'sound' -d 'Capture sound'
complete -c caelestia -n "$seen record" -s 'c' -l 'clipboard' -d 'Copy recording path to clipboard'
# Clipboard # Clipboard
complete -c caelestia -n "$seen clipboard" -s 'd' -l 'delete' -d 'Delete from cliboard history' complete -c caelestia -n "$seen clipboard" -s 'd' -l 'delete' -d 'Delete from cliboard history'
+1
View File
@@ -71,6 +71,7 @@ def parse_args() -> (argparse.ArgumentParser, argparse.Namespace):
record_parser.add_argument("-r", "--region", nargs="?", const="slurp", help="record a region") record_parser.add_argument("-r", "--region", nargs="?", const="slurp", help="record a region")
record_parser.add_argument("-s", "--sound", action="store_true", help="record audio") record_parser.add_argument("-s", "--sound", action="store_true", help="record audio")
record_parser.add_argument("-p", "--pause", action="store_true", help="pause/resume the recording") record_parser.add_argument("-p", "--pause", action="store_true", help="pause/resume the recording")
record_parser.add_argument("-c", "--clipboard", action="store_true", help="copy recording path to clipboard")
# Create parser for clipboard opts # Create parser for clipboard opts
clipboard_parser = command_parser.add_parser("clipboard", help="open clipboard history") clipboard_parser = command_parser.add_parser("clipboard", help="open clipboard history")
+5
View File
@@ -1,3 +1,4 @@
from pathlib import Path
import json import json
import re import re
import shutil import shutil
@@ -108,6 +109,10 @@ class Command:
except IOError: except IOError:
pass pass
if self.args.clipboard:
file_uri = Path(new_path).resolve().as_uri() + "\n"
subprocess.run(["wl-copy", "--type", "text/uri-list"], input=file_uri.encode())
action = notify( action = notify(
"--action=watch=Watch", "--action=watch=Watch",
"--action=open=Open", "--action=open=Open",