#!/bin/sh #{{{ printhelp printhelp () { printf "lwc: librewolf menu interface.\n" printf " -u URL ) pass URL to browser\n" printf " -d ARG ) pass ARG to menu command\n" exit } #}}} #{{{ getopts while getopts "hd:u:" o; do case "${o}" in d) ARG="$OPTARG" ;; u) URL="$OPTARG" ;; *) printhelp ;; esac done #}}} #{{{ Native Profiles if [ -f ~/.librewolf/profiles.ini ]; then NATIVE_PROFILES=$(grep 'Path=' ~/.librewolf/profiles.ini | cut -d'.' -f2) else unset NATIVE_PROFILES fi #}}} #{{{ Flatpak Profiles if [ -f ~/.var/app/io.gitlab.librewolf-community/.librewolf/profiles.ini ]; then FLATPAK_PROFILES=$(grep 'Path=' ~/.var/app/io.gitlab.librewolf-community/.librewolf/profiles.ini | cut -d'.' -f2 | sed 's/$/ F/g') else unset FLATPAK_PROFILES fi #}}} #{{{ Add Profiles if [ -n "$NATIVE_PROFILES" ] && [ -n "$FLATPAK_PROFILES" ]; then INT="\n" fi PROFILES="$NATIVE_PROFILES$INT$FLATPAK_PROFILES" #}}} #{{{ Choose Profiles CHOSEN=$(printf "%s" "$PROFILES" | dmenu -l 15 -p librewolf ${ARG:+"$ARG"}) [ -z "$CHOSEN" ] && exit 2 if echo "$CHOSEN" | grep -qE ' F$'; then exec flatpak run io.gitlab.librewolf-community -P "$(echo "$CHOSEN" | sed 's/ F$//')" "$URL" else exec librewolf -P "$CHOSEN" "$URL" fi #}}}