commit d11c2a6
hovercats
·
2024-06-18 09:27:15 +0000 UTC
parent 5c45ca3
bmks: favor rc implentation
1 files changed,
+0,
-56
D
sh/bmks
D
sh/bmks
+0,
-56
1@@ -1,56 +0,0 @@
2-#!/bin/sh -e
3-
4-# A simple bookmarking script that uses dmenu
5-# dmenu uses -c flag, which is part of the center patch
6-
7-file_path="$HOME/etc/bmks"
8-filename=urls
9-bookmarks="${file_path}/${filename}"
10-
11-usage() {
12- printf "Usage: bmks a|c|d|l\n"
13-}
14-
15-conf() {
16- [ ! -d "${file_path}" ] && mkdir -p "${file_path}"
17- [ ! -f "${filename}" ] && touch "${file_path}/${filename}"
18-}
19-
20-add() {
21- [ -z "${url}" ] && printf "Error: url must be provided\n" && exit 1
22- description="$(printf '' | dmenu -p "Description: " -c)"
23- if [ -z "${description}" ]; then
24- printf "%s\n" "${url}" >> "${bookmarks}"
25- else
26- printf "%s\n" "${description} - ${url}" >> "${bookmarks}"
27- fi
28-}
29-
30-list() {
31- cat "${bookmarks}"
32-}
33-
34-go_to() {
35- [ ! -s "${bookmarks}" ] && printf "No bookmarks found.\n" && exit 1
36- [ -z "${BROWSER}" ] && printf 'BROWSER var not set\n' && exit 1
37- SELECTION="$(sort "${bookmarks}" | dmenu -c -i -l 10 | awk '{print $(NF)}')"
38- if [ -z "${SELECTION}" ]; then
39- exit 1
40- else
41- exec "${BROWSER}" "${SELECTION}"
42- fi
43-}
44-
45-del() {
46- grep -v "$(sort "${bookmarks}" | dmenu -c -i -l 10)" "${bookmarks}" > _ \
47- && mv -f _ "${bookmarks}"
48-}
49-
50-case "$1" in
51- a) url=$2 add ;;
52- c) conf ;;
53- d) del ;;
54- h) usage ;;
55- l) list ;;
56- *) go_to ;;
57-esac