diff --git a/waybar/config.json b/waybar/config.json
index e9fe438..366ecb4 100644
--- a/waybar/config.json
+++ b/waybar/config.json
@@ -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": "{}"
- },
- "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": "{}"
+ },
+ "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"
+ }
}
diff --git a/waybar/custom_modules/wifi.sh b/waybar/custom_modules/wifi.sh
index 92d39ca..7662543 100755
--- a/waybar/custom_modules/wifi.sh
+++ b/waybar/custom_modules/wifi.sh
@@ -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