X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=scripts.git;a=blobdiff_plain;f=hotspot.sh;h=a8a27ae5e550cfa4835c80b875fccc64d63a5069;hp=f979c11d697c3c65d3b7fb13ff14d34c69127016;hb=0b5965cd1e6ed1758170691ac858b74be6e1ea0b;hpb=a173cf64c22f6619ab1e9c56fe38e678d9299c71 diff --git a/hotspot.sh b/hotspot.sh index f979c11..a8a27ae 100755 --- a/hotspot.sh +++ b/hotspot.sh @@ -17,7 +17,10 @@ # Contact for comments & bug reports # ######################################################################### -INTERFACE=wlan0 +INTERFACE=${WIFI_INTERFACE} + +[[ ${INTERFACE} ]] || INTERFACE=wlan0 + MTU=512 SCAN_OUTPUT=$(mktemp /tmp/scanresult.XXXXXX) @@ -70,6 +73,7 @@ function sigint-handler () { } function scan () { + echo echo " Scanning ..." iwconfig ${INTERFACE} ap off essid "" iwlist ${INTERFACE} scan | \ @@ -80,8 +84,8 @@ function scan () { -e "s/Quality=\([0-9]*\).*$/QUALITY,\1/" \ -e "s/Encryption key:/ENCRYPTION,/" | \ awk 'BEGIN { FS="," } - { - if($1 == "ESSID") { essid=$2 } + { + if($1 == "ESSID") { essid=$2 } else if($1 == "AP") { ap=$2 } else if($1 == "QUALITY") { quality=$2; } else if($1 == "ENCRYPTION") { @@ -173,7 +177,7 @@ function process-key () { e) # Selects essid + dhcp SELECTED=$(get-selected-essid-ap) ESSID=$(echo ${SELECTED} | cut -f 1 -d,) - echo "Running DHCP on ${INTERFACE} for ESSID ${ESSID}." + echo "Running DHCP on ${INTERFACE} for ESSID \"${ESSID}\"." iwconfig ${INTERFACE} ap auto essid "${ESSID}" kill-dhcp echo @@ -190,7 +194,7 @@ function process-key () { SELECTED=$(get-selected-essid-ap) ESSID=$(echo ${SELECTED} | cut -f 1 -d,) AP=$(echo ${SELECTED} | cut -f 2 -d,) - echo "Running DHCP on ${INTERFACE} for ESSID ${ESSID} and AP ${AP}." + echo "Running DHCP on ${INTERFACE} for ESSID \"${ESSID}\" and AP ${AP}." iwconfig ${INTERFACE} ap ${AP} essid "${ESSID}" kill-dhcp echo @@ -257,6 +261,8 @@ if [[ $1 == "-k" ]]; then exit 1 fi +trap cleanup-before-quit EXIT + stty_state=$(stty -g) trap sigint-handler SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM @@ -294,58 +300,56 @@ while [[ ${cont} == 1 ]]; do ;; "") - process-key "down" - ;; + process-key "down" + ;; "") - process-key "up" - ;; + process-key "up" + ;; "") #$'\033'") - current_keymap=escape - ;; + current_keymap=escape + ;; *) - ;; - esac - ;; + ;; + esac + ;; - escape) ################################################## - case ${CHAR} in - "$'\033'") + escape) ################################################## + case ${CHAR} in + "$'\033'") process-key "esc-esc" ;; - "[") + "[") current_keymap=cursor ;; - *) + *) current_keymap=default ;; - esac - ;; + esac + ;; - cursor) ################################################## + cursor) ################################################## - current_keymap=default + current_keymap=default - case ${CHAR} in - A) + case ${CHAR} in + A) process-key "up" ;; - B) + B) process-key "down" ;; - *) - ;; - esac - ;; - *) - echo "Unknown keymap. This is an internal and weird bug." - cont=0 - ;; - esac + ;; + esac + ;; - done + *) + echo "Unknown keymap. This is an internal and weird bug." + cont=0 + ;; + esac - cleanup-before-quit +done