feat: wlp dmenu wrapper + ask password

This commit is contained in:
AngeD 2023-05-26 14:29:33 +02:00
parent 4009c145c2
commit a76f0a9b43
8 changed files with 49 additions and 41 deletions

@ -1 +1 @@
Subproject commit 6f1d124bbcf03c4c410c093143a86415f46d16a0 Subproject commit 1c0644c10638c7bb165bb614b1715107ede07542

@ -1 +1 @@
Subproject commit 9ac3e9541bbabd9d73663d757e4fe48a675bb054 Subproject commit 52544825d6b8be677eb395983515ad5e30ae1f2e

@ -1 +1 @@
Subproject commit 40c31fdde93bcd85aeb3447bb3e2a3208395a868 Subproject commit 6d3fbffe426794296a77bb0b37b6ae0f4f14f807

@ -1 +1 @@
Subproject commit f2778bd1a28b74adf5b1aa51aa57da85adfa3d16 Subproject commit 5781c94703463e675b0836d850a8950bc4d7d6b2

@ -1 +1 @@
Subproject commit b4715b5963c086b30679da718a47aea9aa9394a8 Subproject commit 9288ee09c89a76cf904886d3c7ffb158948347a1

@ -1 +1 @@
Subproject commit b06663df23b2910a6e542dc114dc7adc2cdce22f Subproject commit fb4213c34ff8ec83cbe6251f432fdac383378562

View File

@ -1,35 +0,0 @@
#!/bin/bash -e
RESCAN=0
NMCLI=(nmcli dev wifi)
CON=("${NMCLI[@]}" connect)
function connect() {
if ! "${CON[@]}" "$1" 2> /dev/null; then
if [ "$RESCAN" = 1 ]; then
return
fi
RESCAN=1
"${NMCLI[@]}" list --rescan yes > /dev/null
if ! "${CON[@]}" "$1"; then
return
fi
fi
kill -36 "$(cat "$HOME/.cache/pidofbar")"
exit
}
if [ -n "$1" ]; then
connect "$1"
else
readarray -t NET <<< \
"$(nmcli -f SSID,CHAN,RATE,SIGNAL,BARS,SECURITY dev wifi list \
| awk '!seen[$1]++')"
COLUMNS=1
select net in "${NET[@]}"; do
connect "$(awk '{print $1}' <<< "$net")" && break
done
fi

43
bin/wlp Executable file
View File

@ -0,0 +1,43 @@
#!/bin/bash -e
NMCLI=(nmcli -f 'SSID,RATE,BARS,SECURITY' dev wifi)
CON=("${NMCLI[@]}" connect)
RESCAN=0
function rescan() {
if [ "$RESCAN" = 0 ]; then
RESCAN=1
"${NMCLI[@]}" list --rescan yes > /dev/null
fi
readarray -t NET <<< "$("${NMCLI[@]}" list | awk '!w[$1]++' | tail -n+2)"
}
function connect() {
if ! (
"${CON[@]}" "$1" || ([ "$?" = 4 ] && "${CON[@]}" "$1" password "$(zenity --entry --text "Enter password for $1")")
) 2> /dev/null; then
rescan || return 1
if ! "${CON[@]}" "$1"; then
return 1
fi
fi
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[@]}" reload | dmenu -i -l 10)"
if [ -z "$n" ]; then
exit
fi
if [ "$n" = reload ]; then
rescan
else
connect "$(awk '{print $1}' <<< "$n")"
fi
done