|
|
@ -1,5 +1,33 @@ |
|
|
|
#!/bin/sh |
|
|
|
|
|
|
|
# needs a better name |
|
|
|
|
|
|
|
# - - - - - - - - - - - - - - - - ARGS - - - - - - - - - - - - - - - - - |
|
|
|
show_help() { |
|
|
|
echo "Usage:" |
|
|
|
echo "1. Copy the desired Url to your clipboard" |
|
|
|
echo "2. ./edit_bookmarks_dmenu.sh BOOKMARKS" |
|
|
|
echo "Options:" |
|
|
|
echo " --help Display this help message" |
|
|
|
exit 1 |
|
|
|
} |
|
|
|
if [ "$#" -eq 0 ]; then |
|
|
|
echo "Nothing happened, I need a file of bookmarks to edit." |
|
|
|
show_help |
|
|
|
fi |
|
|
|
|
|
|
|
while [ "$#" -gt 0 ]; do |
|
|
|
case "$1" in |
|
|
|
--help) |
|
|
|
show_help |
|
|
|
;; |
|
|
|
-*) |
|
|
|
echo "Error: Unknown option: $1" >&2 |
|
|
|
show_help |
|
|
|
;; |
|
|
|
esac |
|
|
|
shift |
|
|
|
done |
|
|
|
dmenu_style() { |
|
|
|
local font='junicode-18' |
|
|
|
local normal_bg='#000000' |
|
|
@ -8,8 +36,10 @@ dmenu_style() { |
|
|
|
local selected_fg='#000000' |
|
|
|
echo "-fn $font -nb $normal_bg -nf $normal_fg -sb $selected_bg -sf $selected_fg" |
|
|
|
} |
|
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- |
|
|
|
|
|
|
|
BOOKMARKS="BOOKMARKS" |
|
|
|
# TODO : process multiple files of BOOKMARKS at once |
|
|
|
BOOKMARKS=$1 |
|
|
|
|
|
|
|
URL=$(xclip -o -selection clipboard) |
|
|
|
|
|
|
@ -24,9 +54,11 @@ URL=$(xclip -o -selection clipboard) |
|
|
|
# https://stackoverflow.com/questions/21115121/how-to-test-if-string-matches-a-regex-in-posix-shell-not-bash |
|
|
|
# URL_REGEX="^(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]*[-A-Za-z0-9+&@#/%=~_|]" |
|
|
|
if printf "$URL" | grep -q http; then |
|
|
|
# incrementing id soon to be implemented replacing <ol> counter |
|
|
|
# TODO : incrementing id replacing <ol> list counter |
|
|
|
#PREV_URL_COUNT=$(grep "URL: " $BOOKMARKS | wc -l) |
|
|
|
#ID: $((PREV_URL_COUNT + 1)) |
|
|
|
# TODO : add the bookmark in reverse, last in first first on the stack |
|
|
|
# maybe using tac instead of cat ? |
|
|
|
cat <<- EOF >> $BOOKMARKS |
|
|
|
|
|
|
|
URL: $(printf $URL) |
|
|
|