summaryrefslogtreecommitdiff
path: root/rofi
diff options
context:
space:
mode:
Diffstat (limited to 'rofi')
-rwxr-xr-xrofi/.config/rofi/clipboard-wayland.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/rofi/.config/rofi/clipboard-wayland.sh b/rofi/.config/rofi/clipboard-wayland.sh
new file mode 100755
index 0000000..93789a0
--- /dev/null
+++ b/rofi/.config/rofi/clipboard-wayland.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+clipboard_mode() {
+ if [ "$ROFI_RETV" = "0" ]; then
+ cliphist list | while IFS= read -r line; do
+ id="${line%% *}"
+ content="${line#* }"
+
+ if [[ "$content" == *"[[ binary data"* ]]; then
+ printf '󰋩 IMAGE: %s\0info\x1f%s\n' "$id" "$id"
+ else
+ printf '%s\0info\x1f%s\n' "$content" "$id"
+ fi
+ done
+ else
+ cliphist decode "$ROFI_INFO" | wl-copy
+ exit 0
+ fi
+}
+
+export -f clipboard_mode
+
+if [ -z "$ROFI_RETV" ]; then
+ rofi -modi "clipboard:$0" \
+ -show clipboard \
+ -theme ~/.config/rofi/clipboard.rasi
+else
+ clipboard_mode "$@"
+fi