From 6442c4f87e4adbde732d86da91c08ceb56192935 Mon Sep 17 00:00:00 2001 From: Eddy Pedroni Date: Mon, 1 Dec 2025 15:18:06 +0100 Subject: Add music station dock, support dock without displays --- dock-action.py | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) (limited to 'dock-action.py') 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}") -- cgit v1.2.3