From 30285bf323a5dc5b34879ef9d01172b55daaa139 Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 24 Feb 2023 10:30:08 -0600 Subject: overhaul browser menu scripts --- ffc | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 53 insertions(+), 3 deletions(-) (limited to 'ffc') diff --git a/ffc b/ffc index 7c7e03b..b88c35b 100755 --- a/ffc +++ b/ffc @@ -1,5 +1,55 @@ #!/bin/sh -PROFILES=`grep 'Path=' ~/.mozilla/firefox/profiles.ini | cut -d'.' -f2` -CHOSEN=`echo "$PROFILES" | barmenu -l 15` + +#{{{ printhelp +printhelp () { + printf "ffc: firefox 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 (tofi)\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="tofi" ;; + x) DMENU="dmenu" ;; + *) printhelp ;; +esac done +#}}} + +#{{{ Native Profiles +if [ -f ~/.mozilla/firefox/profiles.ini ]; then + NATIVE_PROFILES=`grep 'Path=' ~/.mozilla/firefox/profiles.ini | cut -d'.' -f2` +else + unset NATIVE_PROFILES +fi +#}}} + +#{{{ Flatpak Profiles +if [ -f ~/.var/app/org.mozilla.firefox/.mozilla/firefox/profiles.ini ]; then + FLATPAK_PROFILES=`grep 'Path=' ~/.var/app/org.mozilla.firefox/.mozilla/firefox/profiles.ini | cut -d'.' -f2 | sed 's/$/ F/g'` +else + unset FLATPAK_PROFILES +fi +#}}} + +#{{{ Add Profiles +if [ -n "$NATIVE_PROFILES" -a -n "$FLATPAK_PROFILES" ]; then + INT="\n" +fi +PROFILES="$NATIVE_PROFILES$INT$FLATPAK_PROFILES" +#}}} + +#{{{ Choose Profiles +CHOSEN=`printf "$PROFILES" | $DMENU $DMENU_ARGS` [ -z "$CHOSEN" ] && exit 2 -firefox -P "$CHOSEN" +if `echo "$CHOSEN" | grep -qE ' F$'`; then + exec flatpak run org.mozilla.Firefox -P `echo "$CHOSEN" | sed 's/ F$//'` $URL +else + exec firefox -P "$CHOSEN" $URL +fi +#}}} -- cgit v1.2.3