diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-06-14 15:03:58 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-06-14 15:03:58 +1000 |
| commit | 15c47a622dfce8c860fffd92f2336a9e2917f697 (patch) | |
| tree | a11dc9281c69967b63bddc6eba0980c7876e285f | |
| parent | feat: impl recording subcommand (diff) | |
| download | caelestia-cli-15c47a622dfce8c860fffd92f2336a9e2917f697.tar.gz caelestia-cli-15c47a622dfce8c860fffd92f2336a9e2917f697.tar.bz2 caelestia-cli-15c47a622dfce8c860fffd92f2336a9e2917f697.zip | |
feat: impl clipboard subcommand
| -rw-r--r-- | src/caelestia/subcommands/clipboard.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/caelestia/subcommands/clipboard.py b/src/caelestia/subcommands/clipboard.py index 37f9a2b..c0eddb5 100644 --- a/src/caelestia/subcommands/clipboard.py +++ b/src/caelestia/subcommands/clipboard.py @@ -1,3 +1,4 @@ +import subprocess from argparse import Namespace @@ -8,4 +9,17 @@ class Command: self.args = args def run(self) -> None: - pass + clip = subprocess.check_output(["cliphist", "list"]) + + if self.args.delete: + args = ["--prompt=del > ", "--placeholder=Delete from clipboard"] + else: + args = ["--placeholder=Type to search clipboard"] + + chosen = subprocess.check_output(["fuzzel", "--dmenu", *args], input=clip) + + if self.args.delete: + subprocess.run(["cliphist", "delete"], input=chosen) + else: + decoded = subprocess.check_output(["cliphist", "decode"], input=chosen) + subprocess.run(["wl-copy"], input=decoded) |