mine-hyprdots/rofi/xclip/xclipboard.sh

20 lines
601 B
Bash
Raw Normal View History

2025-02-23 00:38:43 +05:30
#!/bin/bash
# Get the clipboard history from xclip
CLIPBOARD_HISTORY=~/clipboard_history.txt
# Save current clipboard content to a file
xclip -o -selection clipboard >> "$CLIPBOARD_HISTORY"
# Remove duplicate entries and keep the last few
awk '!seen[$0]++' "$CLIPBOARD_HISTORY" > "${CLIPBOARD_HISTORY}.tmp" && mv "${CLIPBOARD_HISTORY}.tmp" "$CLIPBOARD_HISTORY"
# Use rofi to select from clipboard history
SELECTED=$(cat "$CLIPBOARD_HISTORY" | rofi -dmenu -p "Clipboard:")
# Copy selected text back to clipboard
if [ -n "$SELECTED" ]; then
echo -n "$SELECTED" | xclip -selection clipboard
fi