#!/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 #}}}