mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2026-03-20 01:37:45 +01:00
Made it compatible with dmenu of LARBS which requires pipe input for dmenu
This commit is contained in:
parent
c9ad701e63
commit
eea4bc19f4
@ -4,10 +4,14 @@ URLQUERY_FILE="$HOME/.local/share/urlquery"
|
|||||||
CLIPBOARD="xclip -o"
|
CLIPBOARD="xclip -o"
|
||||||
ACTION_MENU='@@'
|
ACTION_MENU='@@'
|
||||||
|
|
||||||
DMENU() {
|
invoke_dmenu() {
|
||||||
dmenu -i -l $1 -p "$2"
|
dmenu -i -l $1 -p "$2"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
invoke_dmenu_exclusively_input() {
|
||||||
|
echo "" | dmenu -i -p $1
|
||||||
|
}
|
||||||
|
|
||||||
error_notify() {
|
error_notify() {
|
||||||
notify-send "$1"
|
notify-send "$1"
|
||||||
exit 1
|
exit 1
|
||||||
@ -21,7 +25,7 @@ ensure_file_exists() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get_selection() {
|
get_selection() {
|
||||||
cut -d= -f1 "$URLQUERY_FILE" | DMENU $LINE_COUNT "Bookmarks"
|
cut -d= -f1 "$URLQUERY_FILE" | invoke_dmenu $LINE_COUNT "Bookmarks"
|
||||||
}
|
}
|
||||||
|
|
||||||
update_file() {
|
update_file() {
|
||||||
@ -37,11 +41,14 @@ is_valid_url() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
add_bookmark() {
|
add_bookmark() {
|
||||||
URL=$($CLIPBOARD)
|
URL=$($CLIPBOARD) ;
|
||||||
is_valid_url "$URL" || error_notify "The clipboard content is not a valid URL."
|
is_valid_url "$URL" || error_notify "The clipboard content is not a valid URL." ;
|
||||||
grep -q "=$URL$" "$URLQUERY_FILE" && notify-send "The URL is already in the list." && return
|
grep -q "=$URL$" "$URLQUERY_FILE" && notify-send "The URL is already in the list." && return ;
|
||||||
NAME=$(DMENU 0 "Name")
|
echo "test3";
|
||||||
|
NAME=$(invoke_dmenu_exclusively_input "Name")
|
||||||
|
echo "test4";
|
||||||
[ -n "$NAME" ] && echo "${NAME}=${URL}" >> "$URLQUERY_FILE" && notify-send "'$NAME' is bookmarked."
|
[ -n "$NAME" ] && echo "${NAME}=${URL}" >> "$URLQUERY_FILE" && notify-send "'$NAME' is bookmarked."
|
||||||
|
echo "test5";
|
||||||
}
|
}
|
||||||
|
|
||||||
delete_bookmark() {
|
delete_bookmark() {
|
||||||
@ -55,7 +62,7 @@ delete_bookmark() {
|
|||||||
|
|
||||||
edit_name() {
|
edit_name() {
|
||||||
OLD_NAME="$1"
|
OLD_NAME="$1"
|
||||||
NEW_NAME=$(DMENU 0 "New Name")
|
NEW_NAME=$(invoke_dmenu_exclusively_input 0 "New Name")
|
||||||
[ -z "$NEW_NAME" ] && return
|
[ -z "$NEW_NAME" ] && return
|
||||||
URL=$(grep "^$OLD_NAME=" "$URLQUERY_FILE" | cut -d= -f2)
|
URL=$(grep "^$OLD_NAME=" "$URLQUERY_FILE" | cut -d= -f2)
|
||||||
update_file "^$OLD_NAME=" "$NEW_NAME=$URL"
|
update_file "^$OLD_NAME=" "$NEW_NAME=$URL"
|
||||||
@ -63,7 +70,7 @@ edit_name() {
|
|||||||
|
|
||||||
edit_url() {
|
edit_url() {
|
||||||
NAME="$1"
|
NAME="$1"
|
||||||
NEW_URL=$(DMENU 0 "New URL")
|
NEW_URL=$(invoke_dmenu_exclusively_input 0 "New URL")
|
||||||
[ -z "$NEW_URL" ] && return
|
[ -z "$NEW_URL" ] && return
|
||||||
update_file "^$NAME=.*" "$NAME=$NEW_URL"
|
update_file "^$NAME=.*" "$NAME=$NEW_URL"
|
||||||
}
|
}
|
||||||
@ -71,7 +78,7 @@ edit_url() {
|
|||||||
edit_bookmark() {
|
edit_bookmark() {
|
||||||
NAME=$(get_selection)
|
NAME=$(get_selection)
|
||||||
[ -z "$NAME" ] && error_notify "Failed to edit the bookmark." && return
|
[ -z "$NAME" ] && error_notify "Failed to edit the bookmark." && return
|
||||||
FIELD=$(echo "Name\nURL" | DMENU 2 "Edit")
|
FIELD=$(echo "Name\nURL" | invoke_dmenu 2 "Edit")
|
||||||
case "$FIELD" in
|
case "$FIELD" in
|
||||||
"Name") edit_name "$NAME" ;;
|
"Name") edit_name "$NAME" ;;
|
||||||
"URL") edit_url "$NAME" ;;
|
"URL") edit_url "$NAME" ;;
|
||||||
@ -83,8 +90,8 @@ open_bookmark() {
|
|||||||
URL=$(grep "^$SELECTION=" "$URLQUERY_FILE" | cut -d= -f2-)
|
URL=$(grep "^$SELECTION=" "$URLQUERY_FILE" | cut -d= -f2-)
|
||||||
[ -z "$URL" ] && notify-send "Bookmark not found." && exit 1
|
[ -z "$URL" ] && notify-send "Bookmark not found." && exit 1
|
||||||
case "$URL" in
|
case "$URL" in
|
||||||
*"search"*|*"wiki"*)
|
*"search"*|*"wiki"*|*"packages"*)
|
||||||
QUERY=$(DMENU 0 "Search")
|
QUERY=$(invoke_dmenu_exclusively_input 0 "Search")
|
||||||
URL="${URL}${QUERY}"
|
URL="${URL}${QUERY}"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -102,7 +109,7 @@ SELECTION=$(get_selection)
|
|||||||
|
|
||||||
case "$SELECTION" in
|
case "$SELECTION" in
|
||||||
"$ACTION_MENU")
|
"$ACTION_MENU")
|
||||||
ACTION=$(echo "Add\nDelete\nEdit" | DMENU 3 "Action")
|
ACTION=$(echo "Add\nDelete\nEdit" | invoke_dmenu 3 "Action")
|
||||||
case "$ACTION" in
|
case "$ACTION" in
|
||||||
"Add") add_bookmark ;;
|
"Add") add_bookmark ;;
|
||||||
"Delete") delete_bookmark ;;
|
"Delete") delete_bookmark ;;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user