#!/bin/sh # Description: dmenu/rofi wrapper around sxbm # Dependency: sxbm, dmenu/rofi, xclip (optional) # # Author: NRK ## Copyright 2021 NRK ## Licensed under GPL v3. See LICENSE for more details. # Change "dmenu" to "rofi -dmenu" if you wish to use rofi # NOTE: i do not use rofi, and haven't tested if it works or not prompt="dmenu -i -l 24" bm_open() { link_num="$(sxbm ls -c "$@" | $prompt | cut -d ")" -f 1)" [ -n "$link_num" ] && sxbm open "$link_num" } bm_yank() { link="$(sxbm ls -c "$@" | $prompt | cut -d " " -f 2)" [ -n "$link" ] && echo "$link" | xclip -in -selection clipboard } bm_add() { echo | $prompt -p "Add bookmark:" | xargs sxbm add | dmenu } case "$1" in "-a"|"--add") shift && bm_add "$@" ;; "-y"|"--yank") shift && bm_yank "$@" ;; *) bm_open "$@" ;; esac