mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2026-03-20 01:37:45 +01:00
51 lines
1.4 KiB
Bash
51 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
FILE="~/.local/share/larbs/urlquery"
|
|
|
|
OBJ_SELECTED=$(jq -r ".[][0]" "$FILE" | dmenu -l 10 -p "Select a website")
|
|
|
|
if [ -z "$OBJ_SELECTED" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
ENTRY_EXISTS=$(jq -r --arg sel "$OBJ_SELECTED" 'map(.[0] == $sel) | any' "$FILE")
|
|
|
|
if [ "$ENTRY_EXISTS" = "false" ] && [ "$OBJ_SELECTED" != "@@" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
add_new_bookmark() {
|
|
URL_FROM_CLIPBOARD=$(xclip-o)
|
|
|
|
if echo "$URL_FROM_CLIPBOARD" | grep -q "^http"; then
|
|
URL_ALREADY_EXISTS=$(jq --arg url "$URL_FROM_CLIPBOARD" 'map(.[1] == $url) | any' "$FILE")
|
|
|
|
if [ "$URL_ALREADY_EXISTS" = "true" ]; then
|
|
notify-send "The URL is already in the list."
|
|
exit 1
|
|
fi
|
|
|
|
URL_NAME=$(dmenu -l 0 -p "Enter a name for the URL")
|
|
|
|
if [ -n "$URL_NAME" ]; then
|
|
jq --arg name "$URL_NAME" --arg url "$URL_FROM_CLIPBOARD" '. += [[$name, $url]]' "$FILE" > "${FILE}.tmp" && mv "${FILE}.tmp" "$FILE" &&
|
|
notify-send "$URL_NAME is bookmarked"
|
|
fi
|
|
else
|
|
notify-send "The clipboard content is not a valid URL."
|
|
fi
|
|
}
|
|
|
|
if [ "$OBJ_SELECTED" = "@@" ]; then
|
|
add_new_bookmark
|
|
else
|
|
URLQUERY=$(jq -r --arg sel "$OBJ_SELECTED" 'map(select(.[0] == $sel))[0][1]' "$FILE")
|
|
|
|
if echo "$URLQUERY" | grep -q "search"; then
|
|
OBJ_KEYWORDS=$(dmenu -l 0 -p "Enter keywords" | tr " " "+")
|
|
firefox "${URLQUERY}${OBJ_KEYWORDS}"
|
|
else
|
|
firefox "${URLQUERY}"
|
|
fi
|
|
fi
|