From 339b0b0ec254a3df20ad606ccaf803b7832071af Mon Sep 17 00:00:00 2001 From: zachir Date: Tue, 25 Apr 2023 16:49:57 -0500 Subject: add mullvad-browser as an option --- mbc | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 mbc (limited to 'mbc') diff --git a/mbc b/mbc new file mode 100755 index 0000000..3a3f2c6 --- /dev/null +++ b/mbc @@ -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 +#}}} -- cgit v1.2.3