commit eb63cf8
hovercats
·
2023-02-21 15:31:43 +0000 UTC
parent 2a108a5
bmks: nits. exit if no selection was made when running go_to function
1 files changed,
+26,
-21
M
bmks
M
bmks
+26,
-21
1@@ -2,11 +2,9 @@
2
3 # A simple bookmarking script that uses dmenu
4
5-file_path="$HOME/etc/bmks/"
6+file_path="$HOME/etc/bmks"
7 filename=urls
8 bookmarks="$file_path/$filename"
9-browser="$BROWSER"
10-launcher=dmenu
11
12 usage () {
13 printf "bmks: A simple bookmarking script that uses dmenu
14@@ -26,40 +24,47 @@ Configuration is done directly in script by editing the variables.
15
16 }
17 bmks_add () {
18- [ -z "$url" ] && printf "Error: url must be provided\n" && exit 0
19- printf "Description: "
20- read -r description
21- [ -z "$description" ] && echo "$url" >> "$bookmarks"
22- [ -n "$description" ] && echo "$description" - "$url" >> "$bookmarks"
23+ [ -z "$url" ] && printf "Error: url must be provided\n" && exit 1
24+ printf "Description: "
25+ read -r description
26+ [ -z "$description" ] && echo "$url" >> "$bookmarks"
27+ [ -n "$description" ] && echo "$description" - "$url" >> "$bookmarks"
28 }
29
30 bmks_ls () {
31- sort "$bookmarks"
32+ sort "$bookmarks"
33 }
34
35 go_to () {
36- case $launcher in
37- dmenu) $browser $(sort "$bookmarks" | dmenu -i -l 10 | awk '{print $(NF)}') ;;
38- esac
39+SELECTION="$(sort "${bookmarks}" | dmenu -i -l 10 | awk '{print $(NF)}')"
40+if [ -z "${SELECTION}" ]; then
41+ exit 1
42+else
43+ "${BROWSER}" "${SELECTION}"
44+fi
45 }
46
47 bmks_del () {
48- case "$launcher" in
49- dmenu) sed "/$(sort "$bookmarks" | dmenu -i -l 10)/d" "$bookmarks" > _ && mv -f _ "$bookmarks" ;;
50-esac
51+ case "$$" in
52+ *) sed "/$(sort "$bookmarks" | dmenu -i -l 10)/d" "$bookmarks" > _ && mv -f _ "$bookmarks" ;;
53+ esac
54 }
55
56 bmks_check () {
57- [ ! -s "$bookmarks" ] && printf "No bookmarks found. please add one" && usage && exit 0
58+ if [ ! -s "${bookmarks}" ]; then
59+ printf "No bookmarks found. please add one"
60+ usage
61+ exit 1
62+ fi
63 }
64
65 [ ! -d "$file_path" ] && mkdir -p "$file_path"
66 [ ! -f "$filename" ] && touch "$file_path/$filename"
67
68 case "$1" in
69- help) usage ;;
70- add) url=$2 bmks_add ;;
71- ls) bmks_ls ;;
72- del) bmks_del ;;
73- *) go_to ;;
74+ help) usage ;;
75+ add) url=$2 bmks_add ;;
76+ ls) bmks_ls ;;
77+ del) bmks_del ;;
78+ *) go_to ;;
79 esac