mirror of
https://github.com/Derisis13/dotfiles.git
synced 2025-12-07 03:42:50 +01:00
feat: rofi config based on adi1090x & catppuccin
This commit is contained in:
51
rofi/applets/bin/rofi-wifi-menu.sh
Executable file
51
rofi/applets/bin/rofi-wifi-menu.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Import Current Theme
|
||||
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||
theme="$type/$style"
|
||||
|
||||
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 -theme $theme $theme \
|
||||
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||
-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 -theme $theme \
|
||||
-theme-str 'mainbox {children: [ "inputbar", "message", "entry"];}' \
|
||||
-theme-str 'entry { enabled: true; padding: 5px 0px; background-color: inherit; text-color: var(foreground); cursor: text; placeholder: "Password"; placeholder-color: inherit;}' \
|
||||
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||
-dmenu -p "Password: " )
|
||||
fi
|
||||
nmcli device wifi connect "$chosen_id" password "$wifi_password" | grep "successfully" && notify-send "Connection Established" "$success_message"
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user