implemented simple unlock sim script using dmenu
This commit is contained in:
		
							parent
							
								
									c5c8f3d514
								
							
						
					
					
						commit
						cdadb27884
					
				
					 2 changed files with 41 additions and 0 deletions
				
			
		|  | @ -191,6 +191,7 @@ initialmodemstatus() { | |||
| 		touch /tmp/modem.registered.state | ||||
| 	elif echo "$state" | grep -q -E "^.*state:.*locked.*$"; then | ||||
| 		touch /tmp/modem.locked.state | ||||
| 		pidof sxmo_unlocksim.sh || sxmo_unlocksim.sh & | ||||
| 	fi | ||||
| } | ||||
| 
 | ||||
|  | @ -232,6 +233,7 @@ mainloop() { | |||
| 				read -r newstate | ||||
| 				if echo "$newstate" | grep "int32 2"; then | ||||
| 					touch /tmp/modem.locked.state | ||||
| 					pidof sxmo_unlocksim.sh || sxmo_unlocksim.sh & | ||||
| 				elif echo "$newstate" | grep "int32 8"; then | ||||
| 					touch /tmp/modem.registered.state | ||||
| 					checkforfinishedcalls | ||||
|  |  | |||
							
								
								
									
										39
									
								
								scripts/modem/sxmo_unlocksim.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								scripts/modem/sxmo_unlocksim.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| #!/usr/bin/env sh | ||||
| 
 | ||||
| # include common definitions | ||||
| # shellcheck source=scripts/core/sxmo_common.sh | ||||
| . "$(dirname "$0")/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 | ||||
| } | ||||
| 
 | ||||
| if [ -x "$XDG_CONFIG_HOME/sxmo/hooks/unlocksim" ]; then | ||||
| 	"$XDG_CONFIG_HOME/sxmo/hooks/unlocksim" "$(sim_n)" | ||||
| else | ||||
| 	retry=1 | ||||
| 	while [ $retry -eq 1 ]; do | ||||
| 		PICKED="$( | ||||
| 			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 | ||||
| fi | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue