summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)