2020-08-28 16:11:06 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
#
|
|
|
|
# It's simple script to control a wirelless network connection
|
|
|
|
# using iwd and dhcpcd
|
|
|
|
#
|
|
|
|
|
|
|
|
interface='wlo1'
|
|
|
|
m() { ${DMENU:-dmenu} "$@"; }
|
|
|
|
|
|
|
|
add() {
|
|
|
|
list_all=$(iwctl station "$interface" get-networks | awk 'NR > 4 && $0 !~ /^$/ && $0 !~ />/ { print $1}')
|
|
|
|
list_known=$(iwctl known-networks list | awk 'NR>4 && $0 !~ /^$/ { print $1 }')
|
|
|
|
list=$(comm -23 <(sort -u <<<"$list_all") <(sort -u <<<"$list_known"))
|
Chicos, Medianos, y Grandes
Empezando por los grandes. portee mis scripts de dmenu a rofi ya que
este ultimo ha alcanzado un grado de madurez que considero
satisfactoria. Seguramente haga falta ajustar algunos detalles pero eso
lo ire viendo con el uso.
En cuanto a medianos, afilar el hacha es una ocupacion constante, ojala
me pagaran por eso (creo que ya puse eso en un commit una vez...). Asi
que agregue cosas relevantes para golang, ajuste varios temas de ALE
porque me parecia que no andaban del todo bien, y agregue algunos
archivos que por alguna razon no estaban en el repo.
Siguiendo con los medianos, cambie un par de cosas en la configuracion
de neomutt, como poder tener fechas relativas en el inbox, usar elinks y
suprimir esos mensajes de autoview que eran puro ruido.
Chicos no se, varias cositas aqui y alla. Los cambios de QOL de siempre,
supongo.
Ah, y borre a la mierda el readme de /bin porque era medio cualquiera,
despues voy a ver de crear uno como la gente.
2020-10-21 13:05:09 +00:00
|
|
|
ssid=$(printf "%s" "$list" | m -i -p "Add") || return
|
|
|
|
pass=$(m -P -p " ") || return
|
2020-08-28 16:11:06 +00:00
|
|
|
|
|
|
|
if iwctl --passphrase "$pass" station $interface connect "$ssid"; then
|
|
|
|
notify-send "Agregué $ssid"
|
|
|
|
exit
|
|
|
|
else
|
|
|
|
notify-send "$ssid: Contraseña incorrecta"
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
switch() {
|
|
|
|
list_known=$(iwctl known-networks list | awk 'NR>4 && $0 !~ /^$/ { print $1 }')
|
|
|
|
connected=$(iwctl station "$interface" show | awk 'NR>4 && /Connected/ { print $3 }')
|
|
|
|
list=$(comm -23 <(sort -u <<<"$list_known") <(sort -u <<<"$connected"))
|
|
|
|
|
|
|
|
[ -z "$list" ] && {
|
|
|
|
notify-send "No hay redes disponibles"
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
ssid=$(printf "%s" "$list" | m -p "switch") || return
|
|
|
|
if iwctl station $interface connect "$ssid"; then
|
|
|
|
notify-send "Conectado a $ssid"
|
|
|
|
exit
|
|
|
|
else
|
|
|
|
notify-send "No se pudo conectar a $ssid"
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
forget() {
|
|
|
|
list=$(iwctl known-networks list | awk 'NR>4 && $0 !~ /^$/ { print $1 }')
|
|
|
|
[ -z "$list" ] && {
|
|
|
|
notify-send "No hay redes para olvidar."
|
|
|
|
return
|
|
|
|
}
|
|
|
|
ssid=$(printf "%s" "$list" | m -p "forget") || return
|
|
|
|
iwctl known-networks "$ssid" forget && notify-send "Olvidé $ssid" && exit
|
|
|
|
}
|
|
|
|
|
|
|
|
scan() {
|
|
|
|
iwctl station $interface scan
|
Chicos, Medianos, y Grandes
Empezando por los grandes. portee mis scripts de dmenu a rofi ya que
este ultimo ha alcanzado un grado de madurez que considero
satisfactoria. Seguramente haga falta ajustar algunos detalles pero eso
lo ire viendo con el uso.
En cuanto a medianos, afilar el hacha es una ocupacion constante, ojala
me pagaran por eso (creo que ya puse eso en un commit una vez...). Asi
que agregue cosas relevantes para golang, ajuste varios temas de ALE
porque me parecia que no andaban del todo bien, y agregue algunos
archivos que por alguna razon no estaban en el repo.
Siguiendo con los medianos, cambie un par de cosas en la configuracion
de neomutt, como poder tener fechas relativas en el inbox, usar elinks y
suprimir esos mensajes de autoview que eran puro ruido.
Chicos no se, varias cositas aqui y alla. Los cambios de QOL de siempre,
supongo.
Ah, y borre a la mierda el readme de /bin porque era medio cualquiera,
despues voy a ver de crear uno como la gente.
2020-10-21 13:05:09 +00:00
|
|
|
notify-send "Scaneando..."
|
2020-08-28 16:11:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
while true; do
|
|
|
|
options="Scanear\nAgregar\nCambiar\nOlvidar"
|
Chicos, Medianos, y Grandes
Empezando por los grandes. portee mis scripts de dmenu a rofi ya que
este ultimo ha alcanzado un grado de madurez que considero
satisfactoria. Seguramente haga falta ajustar algunos detalles pero eso
lo ire viendo con el uso.
En cuanto a medianos, afilar el hacha es una ocupacion constante, ojala
me pagaran por eso (creo que ya puse eso en un commit una vez...). Asi
que agregue cosas relevantes para golang, ajuste varios temas de ALE
porque me parecia que no andaban del todo bien, y agregue algunos
archivos que por alguna razon no estaban en el repo.
Siguiendo con los medianos, cambie un par de cosas en la configuracion
de neomutt, como poder tener fechas relativas en el inbox, usar elinks y
suprimir esos mensajes de autoview que eran puro ruido.
Chicos no se, varias cositas aqui y alla. Los cambios de QOL de siempre,
supongo.
Ah, y borre a la mierda el readme de /bin porque era medio cualquiera,
despues voy a ver de crear uno como la gente.
2020-10-21 13:05:09 +00:00
|
|
|
choice=$(printf "%b" "$options" | m -i -p " ") || exit
|
2020-08-28 16:11:06 +00:00
|
|
|
case $choice in
|
|
|
|
"Scanear") scan ;;
|
|
|
|
"Agregar") add ;;
|
|
|
|
"Cambiar") switch ;;
|
|
|
|
"Olvidar") forget ;;
|
|
|
|
esac
|
|
|
|
done
|