summaryrefslogtreecommitdiff
path: root/src/caelestia
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-14 15:03:58 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-14 15:03:58 +1000
commit15c47a622dfce8c860fffd92f2336a9e2917f697 (patch)
treea11dc9281c69967b63bddc6eba0980c7876e285f /src/caelestia
parentfeat: impl recording subcommand (diff)
downloadcaelestia-cli-15c47a622dfce8c860fffd92f2336a9e2917f697.tar.gz
caelestia-cli-15c47a622dfce8c860fffd92f2336a9e2917f697.tar.bz2
caelestia-cli-15c47a622dfce8c860fffd92f2336a9e2917f697.zip
feat: impl clipboard subcommand
Diffstat (limited to 'src/caelestia')
-rw-r--r--src/caelestia/subcommands/clipboard.py16
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)