Added dmenu-wifi to dwm
This commit is contained in:
parent
1049ecbd76
commit
5e0230dcdd
|
@ -28,6 +28,7 @@
|
||||||
./scripts/get-focused-monitor.nix
|
./scripts/get-focused-monitor.nix
|
||||||
./scripts/git-commit-ai.nix
|
./scripts/git-commit-ai.nix
|
||||||
./scripts/aichat-wrapper.nix
|
./scripts/aichat-wrapper.nix
|
||||||
|
./scripts/dmenu-wifi.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = [
|
home.packages = [
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
(writeShellScriptBin "dmenu-wifi" ''
|
||||||
|
nmcli dev wifi rescan
|
||||||
|
ssid_list=$(nmcli -f in-use,bssid,ssid,mode,chan,freq,rate,signal,bars,security dev wifi)
|
||||||
|
available_connections=$(echo "$ssid_list" | sed '/--.*Infra/d')
|
||||||
|
|
||||||
|
connection=$( echo "$available_connections" | dmenu -l 20)
|
||||||
|
bssid=$(echo "$connection" | sed 's/^.\s*//;s/\s\s.*$//')
|
||||||
|
ssid=$(echo "$connection" | sed 's/^.\s*[0-9;A-Z;:]*\s\s//;s/\s*Infra\s*[0-9].*$//')
|
||||||
|
[[ "$connection" = "" ]] && notify-send -t 5000 "Wifi Connect" "Cancelled" && exit 0
|
||||||
|
[[ $( echo "$connection" | grep "IN-USE" -o) = "IN-USE" ]] && notify-send -t 5000 "Wifi Connect" "Please select valid network" && exit 0
|
||||||
|
[[ -n "$(echo "$connection" | grep '\*')" ]] && notify-send -t 5000 "Wifi Connect" "Already Connected to: $(echo "$ssid")" && exit 0
|
||||||
|
|
||||||
|
notify-send -t 5000 "Network Manager" "Attempting to connect to $ssid..."
|
||||||
|
nmcli connection modify "$ssid" 802-11-wireless.bssid "$bssid"
|
||||||
|
nmcli device wifi connect "$bssid"
|
||||||
|
return_code=$?
|
||||||
|
if [ $return_code == 4 ];
|
||||||
|
then
|
||||||
|
notify-send -t 5000 "Wifi Connect" "Please enter password for '$ssid'..."
|
||||||
|
prompt="Enter Password for '$ssid'"
|
||||||
|
pwd=$(echo "" | dmenu -p "$prompt")
|
||||||
|
nmcli device wifi connect "$bssid" password "$pwd"
|
||||||
|
return_code=$?
|
||||||
|
fi
|
||||||
|
case "$return_code" in
|
||||||
|
0) notify-send -t 5000 "Wifi Connect" "Successfully connected to: $ssid!"
|
||||||
|
pkill -RTMIN+12 dwmblocks
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
3) notify-send -t 5000 "Wifi Connect" "Connection to $ssid failed. Timeout expired?"
|
||||||
|
pkill -RTMIN+12 dwmblocks
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
notify-send -t 5000 "Wifi Connect" "Connection to $ssid failed. Possibly wrong password?"
|
||||||
|
nmcli connection delete id "$ssid"
|
||||||
|
pkill -RTMIN+12 dwmblocks
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*) notify-send -t 5000 "Wifi Connect" "Connection to $ssid failed. Error code $?"
|
||||||
|
echo "Failed. Exiting"
|
||||||
|
pkill -RTMIN+12 dwmblocks
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue