diff options
| author | bh <qn+git@epicurus.dev> | 2026-03-07 18:48:40 +0800 |
|---|---|---|
| committer | bh <qn+git@epicurus.dev> | 2026-03-07 18:48:40 +0800 |
| commit | 11d001f0dade9864205e7aaf4bf585e3e87653c9 (patch) | |
| tree | d7e75cea07f8f76d425a5ccd0b6c9a9d55d8ae40 /rofi/.config | |
| parent | 248d4ff6a4fe87a82c674d551ad37369bd62ceb6 (diff) | |
Add wayland support for clipboard
Diffstat (limited to 'rofi/.config')
| -rwxr-xr-x | rofi/.config/rofi/clipboard-wayland.sh | 29 |
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 |
