#!/usr/bin/env sh # include common definitions # shellcheck source=scripts/core/sxmo_common.sh . "$(which sxmo_common.sh)" modem_n() { MODEMS="$(mmcli -L)" echo "$MODEMS" | grep -oE 'Modem\/([0-9]+)' | cut -d'/' -f2 return } sim_n() { SIMS="$(mmcli -m "$(modem_n)" | grep SIM)" echo "$SIMS" | grep -oE 'SIM\/([0-9]+)' | cut -d'/' -f2 return } retry=1 sxmo_dmenu.sh close while [ $retry -eq 1 ]; do PICKED="$( # shellcheck disable=SC2039,SC3037 echo -e "Cancel\n0000\n1234" | sxmo_dmenu_with_kb.sh -l 3 -c -p "PIN:" | tr -d "\n\r " )" if [ -n "$PICKED" ] && [ "$PICKED" != "Cancel" ]; then retry=0 mmcli -i "$(sim_n)" --pin "$PICKED" > /tmp/unlockmsg 2>&1 || retry=1 MSG=$(cat /tmp/unlockmsg) [ -n "$MSG" ] && notify-send "$MSG" if echo "$MSG" | grep -q "not SIM-PIN locked"; then retry=0 fi else retry=0 fi done