33 lines
1.3 KiB
Django/Jinja
33 lines
1.3 KiB
Django/Jinja
#!/bin/bash
|
|
|
|
# Et avanceret script til at vælge og forbinde til Wi-Fi via wofi
|
|
|
|
# Viser en renset liste af Wi-Fi SSID'er i vores special-placerede wofi-menu
|
|
# Bruger `sed` til at fjerne stjernen '*' fra det aktive netværk for et renere look
|
|
CHOSEN_SSID=$(nmcli --terse --fields=SSID,IN-USE device wifi list --rescan yes | sed '/\*/d' | sed 's/\\:/-/g' | sort -u | wofi \
|
|
--show dmenu \
|
|
--style "$HOME/.config/wofi/style.css" \
|
|
--conf "$HOME/.config/wofi/config-network" \
|
|
-p "Vælg Wi-Fi Netværk")
|
|
|
|
# Afslut hvis intet blev valgt (brugeren trykkede Esc)
|
|
if [ -z "$CHOSEN_SSID" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Tjek om der allerede findes en gemt forbindelse med dette navn
|
|
# Vi bruger `grep -w` for at sikre et præcist match
|
|
if nmcli connection show | grep -wq "^${CHOSEN_SSID}"; then
|
|
# Hvis ja, bare aktiver den. NetworkManager bruger den gemte adgangskode.
|
|
nmcli connection up "$CHOSEN_SSID"
|
|
else
|
|
# Hvis nej, er det et nyt netværk. Spørg efter adgangskode i et nyt wofi-vindue.
|
|
# Dette vindue bruger standard wofi-konfigurationen og vises i midten.
|
|
CHOSEN_PASSWORD=$(wofi --show dmenu --password -p "Adgangskode til: $CHOSEN_SSID")
|
|
|
|
# Kun fortsæt hvis en adgangskode blev indtastet
|
|
if [ -n "$CHOSEN_PASSWORD" ]; then
|
|
nmcli device wifi connect "$CHOSEN_SSID" password "$CHOSEN_PASSWORD"
|
|
fi
|
|
fi
|