commit d11c2a6

hovercats  ·  2024-06-18 09:27:15 +0000 UTC
parent 5c45ca3
bmks: favor rc implentation
1 files changed,  +0, -56
+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