summaryrefslogtreecommitdiff
path: root/private_dot_local/bin/executable_menu-network
diff options
context:
space:
mode:
authorLibravatar Martin Michalec <martin@michalec.dev>2026-02-11 02:47:33 +0000
committerLibravatar Martin Michalec <martin@michalec.dev>2026-02-11 02:47:33 +0000
commit2c485ce2b43bd810a88278215b771136a2a17881 (patch)
tree3fb74338b87553d898af7b1795de7322cbc5af63 /private_dot_local/bin/executable_menu-network
parentadd xdg (diff)
downloaddotfiles-2c485ce2b43bd810a88278215b771136a2a17881.tar.gz
add scripts
Diffstat (limited to 'private_dot_local/bin/executable_menu-network')
-rw-r--r--private_dot_local/bin/executable_menu-network34
1 files changed, 34 insertions, 0 deletions
diff --git a/private_dot_local/bin/executable_menu-network b/private_dot_local/bin/executable_menu-network
new file mode 100644
index 0000000..b3a31a9
--- /dev/null
+++ b/private_dot_local/bin/executable_menu-network
@@ -0,0 +1,34 @@
1#!/bin/sh
2
3set -xe
4
5wpa_cli scan
6
7REFRESH="-- REFRESH --"
8
9SELECTION=$REFRESH
10while [ "$SELECTION" = "$REFRESH" ]; do
11 NETWORKS=$(wpa_cli scan_results | awk 'NR > 2 { $1=$2=$3=$4=""; print $0 }' | sed 's/^[ \t]*//' | sort -u)
12 SELECTION=$(echo "$REFRESH$NETWORKS" | menu -l 10 -p "Connect to:")
13 [ -z "$SELECTION" ] && exit 0
14done
15
16ID=$(wpa_cli list_networks | grep "$SELECTION" | awk '{print $1}')
17
18if [ -z "$ID" ]; then
19 # New connection: Prompt for password
20 PASS=$(echo -n | menu -Pp "Password:")
21
22 ID=$(wpa_cli add_network | tail -n -1)
23 wpa_cli set_network "$ID" ssid "\"$SELECTION\""
24
25 if [ -z "$PASS" ]; then
26 wpa_cli set_network "$ID" key_mgmt NONE
27 else
28 wpa_cli set_network "$ID" psk "\"$PASS\""
29 fi
30 wpa_cli save_config
31fi
32
33wpa_cli select_network "$ID"
34wpa_cli enable_network "$ID"