about summary refs log tree commit diff
path: root/.local/bin/rofi-wifimenu
diff options
context:
space:
mode:
authorvenomade <venomade@venomade.com>2026-02-11 11:42:58 +0000
committervenomade <venomade@venomade.com>2026-02-11 11:42:58 +0000
commit0bd150185551b6d8835d022c15a5f6e832d51113 (patch)
tree10bf3f3443df49a44eb47b328b73b7e76b0a4924 /.local/bin/rofi-wifimenu
parent8d688d1107c46b6dfdcaf02fa5c9c4c8a4640e65 (diff)
Asahi
Soft reset of dotfiles specific to Asahi, Sway and Neovim.
Diffstat (limited to '.local/bin/rofi-wifimenu')
-rwxr-xr-x.local/bin/rofi-wifimenu38
1 files changed, 38 insertions, 0 deletions
diff --git a/.local/bin/rofi-wifimenu b/.local/bin/rofi-wifimenu
new file mode 100755
index 0000000..fb45671
--- /dev/null
+++ b/.local/bin/rofi-wifimenu
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+
+notify-send "Getting list of available Wi-Fi networks..."
+# Get a list of available wifi connections and morph it into a nice-looking list
+wifi_list=$(nmcli --fields "SECURITY,SSID" device wifi list | sed 1d | sed 's/  */ /g' | sed -E "s/WPA*.?\S/ /g" | sed "s/^--/ /g" | sed "s/  //g" | sed "/--/d")
+
+connected=$(nmcli -fields WIFI g)
+if [[ "$connected" =~ "enabled" ]]; then
+	toggle="󰖪  Disable Wi-Fi"
+elif [[ "$connected" =~ "disabled" ]]; then
+	toggle="󰖩  Enable Wi-Fi"
+fi
+
+# Use rofi to select wifi network
+chosen_network=$(echo -e "$toggle\n$wifi_list" | uniq -u | rofi -dmenu -i -selected-row 1 -p "Wi-Fi SSID: " )
+# Get name of connection
+read -r chosen_id <<< "${chosen_network:3}"
+
+if [ "$chosen_network" = "" ]; then
+	exit
+elif [ "$chosen_network" = "󰖩  Enable Wi-Fi" ]; then
+	nmcli radio wifi on
+elif [ "$chosen_network" = "󰖪  Disable Wi-Fi" ]; then
+	nmcli radio wifi off
+else
+	# Message to show when connection is activated successfully
+  	success_message="You are now connected to the Wi-Fi network \"$chosen_id\"."
+	# Get saved connections
+	saved_connections=$(nmcli -g NAME connection)
+	if [[ $(echo "$saved_connections" | grep -w "$chosen_id") = "$chosen_id" ]]; then
+		nmcli connection up id "$chosen_id" | grep "successfully" && notify-send "Connection Established" "$success_message"
+	else
+		if [[ "$chosen_network" =~ "" ]]; then
+			wifi_password=$(rofi -dmenu -p "Password: " )
+		fi
+		nmcli device wifi connect "$chosen_id" password "$wifi_password" | grep "successfully" && notify-send "Connection Established" "$success_message"
+    fi
+fi