19 lines
601 B
Bash
19 lines
601 B
Bash
#!/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
|
|
|