I needed a simple and browser-independent way of managing my bookmarks, leading to the creation of sxbm. It's written in strictly POSIX compliant shell, so it should work fine on all *nix based operating system.
sxbm stores your bookmarks in a plain text file making it easily portable. Bookmarks are categorized via tags as opposed to the inferior folder structure found in browsers.
Cone the repo.
git clone https://codeberg.org/NRK/sxbm.git
Then just copy/move the script into your $PATH. Instead of copying, you can also create a symlink. This way you can do a git pull to get updates.
- Adding a bookmark (title and tag are optional.)
sxbm add link.com title +tag
- Opening a bookmark. You need to specify a title, tag or line_number.
If there are multiple results use
sxbm open -fto open them all.
sxbm open <title|+tag|line_number>
- List all bookmarks.
sxbm ls
- Edit bookmarks.
sxbm edit
- Remove a bookmark.
sxbm rm <line_number>
Run sxbm --help to see more detailed usage.
- Searching by tag
sxbm ls +tag
- Searching by title
sxbm ls title
By default tag searches are non-strict while title searches are strict.
In other words, sxbm ls +one +two will match bookmarks that have EITHER
+one OR +two. If you wish to search for a bookmark that contains ALL the
specified tags then you can pass the -s or --strict option.
e.g sxbm ls -s +one +two +three will only match bookmarks that have all three
of the tags.
As for titles, sxbm ls aplha beta will match bookmarks that contains BOTH
alpha and beta. You can pass the -S option to search for entries that
contain either one of the queries.
One more thing to keep in mind is that title search also matches links.
The rational is that you may want to search sxbm ls "gentoo.org" to find
bookmarks with the specified url.
There's an example wrapper script provided which allows you to open, copy and add bookmarks via dmenu/rofi.
- Enhance
removearguments. Should take same arguments asopen. - Enhance
editarguments. Should take similar arguments asopen. - Allow reading the bookmark file via stdin and writing it out via stdout. This would allow someone to easily encrypt their bookmarks if they wish.