fix: remove old config, update dependencies

This commit is contained in:
AngeD 2023-09-18 14:45:31 +02:00
parent 0225077d38
commit 4e7cc23e42
18 changed files with 87 additions and 84 deletions

94
bin/wlp
View file

@ -1,50 +1,76 @@
#!/bin/bash -e
NMCLI=(nmcli -f 'SSID,RATE,BARS,SECURITY' dev wifi)
CON=("${NMCLI[@]}" connect)
RESCAN=0
function rescan() {
if [ "$RESCAN" = 1 ]; then
return 1
fi
RESCAN=1
"${NMCLI[@]}" list --rescan yes > /dev/null
readarray -t NET <<< "$("${NMCLI[@]}" list | awk '!w[$1]++' | tail -n+2)"
function ask_pass() {
local net="$1" p
while [ "${#p}" -lt 8 ]; do
p="$(zenity --entry --entry-text="$pass" --text "Enter password for $net")"
if [ "$?" -ne 0 ]; then
return 1
fi
pass="$p"
done
echo "$p"
}
function get_net() {
local cmd=("${NMCLI[@]}" list)
[ "$1" = '-r' ] && cmd+=(--rescan yes)
readarray -t NET <<< "$("${cmd[@]}" | awk '!w[$1]++' | tail +2)"
}
function connect() {
local cmd=("${NMCLI[@]}" connect "$1")
local pass
if ! "${CON[@]}" "$1"; then
case "$?" in
4)
pass="$(zenity --entry --text "Enter password for $1")"
"${CON[@]}" "$1" password "$pass"
;;
10)
rescan && connect "$@"
;;
esac
fi
[[ "$2" -ge 2 ]] && return 1
"${cmd[@]}"
case "$?" in
0)
;;
4) # Connection activation failed.
while [ "$?" = 4 ]; do
pass="$(ask_pass "$1")"
if [ -z "$pass" ]; then
exit
fi
"${cmd[@]}" password "$pass"
done
;;
10) # Connection, device, or access point does not exist.
get_net -r && connect "$@" "$(($2 + 1))"
;;
*)
return 1
;;
esac
kill -36 "$(cat "$HOME/.cache/pidofbar")"
exit
}
if [ -n "$1" ]; then
connect "$1"
fi
readarray -t NET <<< "$("${NMCLI[@]}" list | awk '!w[$1]++' | tail -n+2)"
while true; do
n="$(printf '%s\n' "${NET[@]}" rescan | dmenu -i -l 10)"
if [ -z "$n" ]; then
function readopt() {
if ! printf '%s\n' "${NET[@]}" rescan | dmenu -i -l 10; then
exit
fi
if [ "$n" = rescan ]; then
RESCAN=0
rescan
else
connect "$(awk '{print $1}' <<< "$n")"
fi
}
if [ -n "$1" ]; then
connect "$1"
exit
fi
get_net
while true; do
opt="$(readopt)"
case "$opt" in
rescan)
get_net -r
;;
*)
connect "$(awk '{print $1}' <<< "$opt")"
;;
esac
done