diff options
Diffstat (limited to 'local/bin/network_control.sh')
| -rwxr-xr-x | local/bin/network_control.sh | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/local/bin/network_control.sh b/local/bin/network_control.sh index 381cbec..4dc4b38 100755 --- a/local/bin/network_control.sh +++ b/local/bin/network_control.sh @@ -2,21 +2,51 @@ signal=30 -# signal dwmblocks to update volume block +# signal dwmblocks to update network block send_signal() { pkill -RTMIN+$signal dwmblocks } +toggle_wifi() { + status=$(nmcli radio wifi) + + if [ "$status" = "enabled" ]; then + nmcli radio wifi off + else + nmcli radio wifi on + fi +} + +# This one is hard because it requires root, and the VPN interface name +# 2 ways to toggle, using systemctl, or wg-quick(1) +# This one might be better controled through a `dmenu` script. +toggle_vpn() { + : +} + +toggle_network_quarantine() { + # Check the status of all wireless devices + if rfkill list | grep -q "Soft blocked: no"; then + # not all blocked + rfkill block all + else + # all blocked + rfkill unblock all + fi +} + +# WIP +toggle_bluetooth() { + : +} + case $1 in - inc) pactl set-sink-volume @DEFAULT_SINK@ +$delta% ;; - dec) pactl set-sink-volume @DEFAULT_SINK@ -$delta% ;; - mutetoggle) pactl set-sink-mute @DEFAULT_SINK@ toggle ;; - deafentoggle) pactl set-source-mute @DEFAULT_SOURCE@ toggle ;; + wifitoggle) toggle_wifi ;; + vpntoggle) toggle_vpn ;; + bluetoothtoggle) toggle_bluetooth ;; + isolatetoggle) toggle_network_quarantine ;; *) - echo Wifi: - echo -e "\nBluetooth:" - bluetoothctl show - echo -e "\nEthernet:" + echo "invalid option :)" ;; esac |
