feat: wlp dmenu wrapper + ask password
This commit is contained in:
parent
4009c145c2
commit
a76f0a9b43
@ -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
|
35
bin/set-wlp
35
bin/set-wlp
@ -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
43
bin/wlp
Executable 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
|
Loading…
Reference in New Issue
Block a user