#!/bin/sh #{{{ printhelp printhelp () { printf "qbc: qutebrowser menu interface.\n" printf " -u URL ) pass URL to browser\n" printf " -d ARGS ) pass ARGS to menu command\n" exit } #}}} #{{{ getopts while getopts "hd:u:" o; do case "${o}" in d) DMENU_ARGS="$OPTARG" ;; u) URL="$OPTARG" ;; *) printhelp ;; esac done #}}} #{{{ Check display server if -w or -x not provided if [ -n "$WAYLAND_DISPLAY" ]; then DMENU="tofi" DEFARGS="-c $HOME/.config/tofi/themes/dmenu_vertical --prompt-text" elif [ -n "$DISPLAY" ]; then DMENU="dmenu" DEFARGS="-l 15 -p" else print "Can't tell if Wayland or X; what gives?\n" exit 1 fi #}}} #{{{ Get Sessions SESSIONS=`qbpm list` [ -z "$SESSIONS" ] && qutebrowser $@ && exit #}}} #{{{ Select Session CHOSEN=`printf "default\n$SESSIONS" | $DMENU $DEFARGS "qutebrowser" $DMENU_ARGS` [ -z "$CHOSEN" ] && exit 2 if [ -n "$CHOSEN" ]; then if [ "$CHOSEN" = "default" ]; then qutebrowser $URL else if [ -z `echo "$SESSIONS" | grep "$CHOSEN"` ]; then qbpm new "$CHOSEN" fi qbpm launch "$CHOSEN" $URL #qutebrowser -B "$HOME/.local/share/$CHOSEN" fi fi #}}}