summaryrefslogtreecommitdiffstats
path: root/dock-action.py
diff options
context:
space:
mode:
authorEddy Pedroni <epedroni@pm.me>2025-12-01 15:18:06 +0100
committerEddy Pedroni <epedroni@pm.me>2025-12-01 15:18:06 +0100
commit6442c4f87e4adbde732d86da91c08ceb56192935 (patch)
tree9bcf2d8e884299146a9f84614b1301f17da2e3a2 /dock-action.py
parentfe566f22bde9fbb2f7270143112ee60866917967 (diff)
Add music station dock, support dock without displaysHEADmaster
Diffstat (limited to 'dock-action.py')
-rw-r--r--dock-action.py41
1 files changed, 23 insertions, 18 deletions
diff --git a/dock-action.py b/dock-action.py
index 4a18a4b..aae4867 100644
--- a/dock-action.py
+++ b/dock-action.py
@@ -21,6 +21,9 @@ DEVICES = {
"eDP" : "off"
},
"mac_address" : "ac:91:a1:fe:9a:23"
+ },
+ "music-station" : {
+ "mac_address" : "6c:1f:f7:24:2c:4c"
}
}
@@ -51,24 +54,26 @@ def connected(device_name: str) -> None:
return
device = DEVICES[device_name]
- eth_adapter = get_adapter_name(device["mac_address"])
- if eth_adapter is None:
- logging.error("No network adapter found, exiting")
- return
-
- logging.debug("Disabling wireless adapter")
- do(["ip", "link", "set", WLAN_ADAPTER, "down"])
-
- logging.debug("Enabling ethernet adapter")
- do(["ip", "link", "set", eth_adapter, "up"])
-
- logging.debug("Configuring monitors")
- xrandr_args = ["xrandr"]
- for display, mode in device["displays"].items():
- xrandr_args.append("--output")
- xrandr_args.append(display)
- xrandr_args.append(f"--{mode}")
- do(xrandr_args)
+ if "mac_address" in device:
+ eth_adapter = get_adapter_name(device["mac_address"])
+ if eth_adapter is None:
+ logging.error("No network adapter found, exiting")
+ return
+
+ logging.debug("Disabling wireless adapter")
+ do(["ip", "link", "set", WLAN_ADAPTER, "down"])
+
+ logging.debug("Enabling ethernet adapter")
+ do(["ip", "link", "set", eth_adapter, "up"])
+
+ if "displays" in device:
+ logging.debug("Configuring monitors")
+ xrandr_args = ["xrandr"]
+ for display, mode in device["displays"].items():
+ xrandr_args.append("--output")
+ xrandr_args.append(display)
+ xrandr_args.append(f"--{mode}")
+ do(xrandr_args)
def disconnected(device_name: str) -> None:
logging.info(f"Disconnected notification for {device_name}")