31 lines
917 B
Bash
Executable File
31 lines
917 B
Bash
Executable File
#!/bin/sh
|
|
|
|
clipboard_text=$(wl-paste -p)
|
|
bookmarks_file="$HOME/.local/share/bookmarks/bookmarks"
|
|
|
|
# Make sure the bookmark file exists
|
|
touch "$bookmarks_file"
|
|
|
|
# Trim leading and trailing whitespace from clipboard
|
|
clipboard_text=$(echo "$clipboard_text" | xargs)
|
|
|
|
# Check if clipboard is not empty
|
|
if [ -n "$clipboard_text" ]; then
|
|
# Escape special characters for grep
|
|
escaped_text=$(printf '%s\n' "$clipboard_text" | sed 's:[][\\/.^$*]:\\&:g')
|
|
|
|
if grep -Fxq "$escaped_text" "$bookmarks_file"; then
|
|
# Entry already exists
|
|
notify-send "Bookmark already exists" "$clipboard_text"
|
|
else
|
|
# Append the text to the bookmarks file
|
|
echo "$clipboard_text" >> "$bookmarks_file"
|
|
notify-send "Bookmark saved" "$clipboard_text"
|
|
|
|
sh "$HOME/.local/bin/bookmark_update"
|
|
fi
|
|
else
|
|
notify-send "No text selected" "Please highlight some text to save as a bookmark."
|
|
fi
|
|
|