summaryrefslogtreecommitdiff
path: root/qbc
blob: dfe688d942a7939b633c4d32739850d3c98ddf3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh

#{{{ printhelp
printhelp () {
  printf "qbc: qutebrowser menu interface.\n"
  printf "  -u URL ) pass URL to browser\n"
  printf "  -d ARG ) pass ARGS to menu command\n"
  exit
}
#}}}

#{{{ getopts
while getopts "hd:u:" o; do case "${o}" in
  d) ARG="$OPTARG" ;;
  u) URL="$OPTARG" ;;
  *) printhelp ;;
esac done
#}}}

#{{{ Get Sessions
SESSIONS=$(qbpm list)
[ -z "$SESSIONS" ] && qutebrowser "$@" && exit
#}}}

#{{{ Select Session
CHOSEN=$(printf "default\n%s" "$SESSIONS" | dmenu -l 15 -p "qutebrowser" ${ARG:+"$ARG"})
[ -z "$CHOSEN" ] && exit 2
if [ -n "$CHOSEN" ]; then
  if [ "$CHOSEN" = "default" ]; then
    qutebrowser "$URL"
  else
    if echo "$SESSIONS" | { ! grep -q "$CHOSEN" ; }; then
      qbpm new "$CHOSEN"
    fi
    qbpm launch "$CHOSEN" "$URL"
    #qutebrowser -B "$HOME/.local/share/$CHOSEN"
  fi
fi
#}}}