Added wifi click behavior.

This commit is contained in:
James Patrick 2020-12-08 22:02:44 -05:00
parent f0fd387fbf
commit aee151dbb9
2 changed files with 108 additions and 89 deletions

View File

@ -1,77 +1,86 @@
{
"layer": "top",
"height": 35,
"modules-left": ["sway/workspaces", "sway/mode", "custom/media"],
"modules-center": ["sway/window"],
"modules-right": ["pulseaudio", "custom/network","backlight", "battery", "clock", "tray", "idle_inhibitor"],
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": true
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
"spacing": 10
},
"clock": {
"tooltip-format": "{:%Y-%m-%d | %H:%M}",
"format-alt": "{:%Y-%m-%d}"
},
"backlight": {
"format": "{icon} {percent}% ",
"format-icons": ["", "", "", ""]
},
"battery": {
"interval": 1,
"states": {
"good": 95,
"warning": 30,
"critical": 15
},
"format": " {capacity}%",
"format-discharging": "{icon} {capacity}%",
"format-icons": ["", "", "", "", ""]
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"on-click": "playerctl play-pause",
"escape": true,
"exec": "$HOME/.config/waybar/custom_modules/mediaplayer.py 2> /dev/null"
},
"custom/network": {
"escape" :true,
"exec": "$HOME/.config/waybar/custom_modules/wifi.sh 2> /dev/null",
"on-click": "rofi-wifi-menu",
"restart-interval": 1,
"return-type": "json"
"layer": "top",
"height": 35,
"modules-left": ["sway/workspaces", "sway/mode", "custom/media"],
"modules-center": ["sway/window"],
"modules-right": [
"pulseaudio",
"custom/network",
"backlight",
"battery",
"clock",
"tray",
"idle_inhibitor"
],
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": true
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
"spacing": 10
},
"clock": {
"tooltip-format": "{:%Y-%m-%d | %H:%M}",
"format-alt": "{:%Y-%m-%d}"
},
"backlight": {
"format": "{icon} {percent}% ",
"format-icons": ["", "", "", ""]
},
"battery": {
"interval": 1,
"states": {
"good": 95,
"warning": 30,
"critical": 15
},
"format": " {capacity}%",
"format-discharging": "{icon} {capacity}%",
"format-icons": ["", "", "", "", ""]
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"on-click": "playerctl play-pause",
"escape": true,
"exec": "$HOME/.config/waybar/custom_modules/mediaplayer.py 2> /dev/null"
},
"custom/network": {
"escape": true,
"exec": "$HOME/.config/waybar/custom_modules/wifi.sh status 2> /dev/null",
"on-click": "rofi-wifi-menu",
"on-click-right": "swaymsg exec \"~/.config/sway/scripts/tty-popup tunnel ~/.config/waybar/custom_modules/wifi.sh onclick\"",
"restart-interval": 1,
"return-type": "json"
}
}

View File

@ -1,21 +1,31 @@
#! /usr/bin/env bash
main(){
connected_val="$(iwgetid 1> /dev/null ; echo $?)"
if [ $connected_val -eq 255 ]; then
echo '{"text": "⚠ Disconnected", "class":"disconnected"}'
return
status(){
connected_val="$(iwgetid 1> /dev/null ; echo $?)"
if [ "$connected_val" -eq 255 ]; then
echo '{"text": "⚠ Disconnected", "class":"disconnected"}'
return
else
wg_val="$(wg 2> /dev/null ; echo $?)"
if [ "$wg_val" -eq 0 ]; then
echo "{\"text\": \" $(iwgetid -r)\", \"class\":\"connected\"}"
else
wg_val="$(wg 2> /dev/null ; echo $?)"
if [ $wg_val -eq 0 ]; then
echo "{\"text\": \" $(iwgetid -r)\", \"class\":\"connected\"}"
else
echo "{\"text\": \"聯 $(iwgetid -r)\", \"class\":\"secured\"}"
fi
echo "{\"text\": \"聯 $(iwgetid -r)\", \"class\":\"secured\"}"
fi
fi
}
while true; do
main
sleep 1
done
onclick(){
wg_val="$(wg 2> /dev/null ; echo $?)"
if [ "$wg_val" -eq 0 ]; then
echo "Securing Connection"
wg-quick up mullvad-us18
else
echo "Disconnecting tunnel"
wg-quick down mullvad-us18
fi
}
case "$1" in
onclick|status) $1 ;;
esac