diff options
| author | zachir <zachir@librem.one> | 2023-04-25 16:49:57 -0500 | 
|---|---|---|
| committer | zachir <zachir@librem.one> | 2023-04-25 16:49:57 -0500 | 
| commit | 339b0b0ec254a3df20ad606ccaf803b7832071af (patch) | |
| tree | 94642d7f81bdcffb9d4ecc57915ccef125e1c8ef /mbc | |
| parent | 0c11064839678de568b21763c9960b2690e4529d (diff) | |
add mullvad-browser as an option
Diffstat (limited to 'mbc')
| -rwxr-xr-x | mbc | 56 | 
1 files changed, 56 insertions, 0 deletions
@@ -0,0 +1,56 @@ +#!/bin/sh + +#{{{ printhelp +printhelp () { +  printf "mbc: mullvad-browser menu interface.\n" +  printf "  -u URL  ) pass URL to browser\n" +  printf "  -d ARGS ) pass ARGS to menu command\n" +  printf "  -w ) use Wayland menu command (bemenu)\n" +  printf "  -x ) use X11 menu command (dmenu)\n" +  exit +} +#}}} + +#{{{ getopts +while getopts "hwxd:u:" o; do case "${o}" in +  d) DMENU_ARGS="$OPTARG" ;; +  u) URL="$OPTARG" ;; +  w) DMENU="bemenu" ;; +  x) DMENU="dmenu" ;; +  *) printhelp ;; +esac done +#}}} + +#{{{ Check display server if -w or -x not provided +if [ -z "$DMENU" ]; then +  if [ -n "$WAYLAND_DISPLAY" ]; then +    DMENU="bemenu" +  elif [ -n "$DISPLAY" ]; then +    DMENU="dmenu" +  else +    print "Can't tell if Wayland or X; what gives?\n" +    exit 1 +  fi +fi +#}}} + +#{{{ Native Profiles +if [ -f ~/.mullvad/mullvadbrowser/profiles.ini ]; then +  NATIVE_PROFILES=`grep 'Path=' ~/.mullvad/mullvadbrowser/profiles.ini | cut -d'.' -f2` +else +  unset NATIVE_PROFILES +fi +#}}} + +#{{{ Add Profiles +if [ -n "$NATIVE_PROFILES" ]; then +  INT="\n" +fi +PROFILES="$NATIVE_PROFILES" +#}}} + +#{{{ Choose Profiles +CHOSEN=`printf "$PROFILES" | $DMENU -p "mullvad-browser" -l 10 $DMENU_ARGS` +[ -z "$CHOSEN" ] && exit 2 +exec mullvad-browser -P "$CHOSEN" $URL +#}}}  | 
