summaryrefslogtreecommitdiff
path: root/examples/dispatcher/70-wifi-wired-exclusive.sh
diff options
context:
space:
mode:
Diffstat (limited to 'examples/dispatcher/70-wifi-wired-exclusive.sh')
-rwxr-xr-xexamples/dispatcher/70-wifi-wired-exclusive.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/examples/dispatcher/70-wifi-wired-exclusive.sh b/examples/dispatcher/70-wifi-wired-exclusive.sh
new file mode 100755
index 000000000..501f159ef
--- /dev/null
+++ b/examples/dispatcher/70-wifi-wired-exclusive.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+export LC_ALL=C
+
+# This dispatcher script makes WiFi mutually exclusive with
+# wired networking. When a wired interface is connected,
+# WiFi will be set to airplane mode (rfkilled). When the wired
+# interface is disconnected, WiFi will be turned back on.
+
+enable_disable_wifi ()
+{
+ result=$(nmcli dev | grep "802-3-ethernet" | grep -w "connected")
+ if [ -n "$result" ]; then
+ nmcli nm wifi off
+ else
+ nmcli nm wifi on
+ fi
+}
+
+if [ "$2" = "up" ]; then
+ enable_disable_wifi
+fi
+
+if [ "$2" = "down" ]; then
+ enable_disable_wifi
+fi
+