diff --git a/sway_context_manager/workspace_tree.py b/sway_context_manager/workspace_tree.py index 49f7a54..91e3444 100644 --- a/sway_context_manager/workspace_tree.py +++ b/sway_context_manager/workspace_tree.py @@ -101,6 +101,8 @@ class WorkspaceGroup: self.mode = output_data.get("mode", None) self.transform = output_data.get("transform", None) self.eww_windows = output_data.get("eww_windows", []) + if isinstance(self.eww_windows, list): + self.eww_windows = {window: {} for window in self.eww_windows} self.workspaces = [] def add_workspace(self, workspace: Workspace): @@ -320,12 +322,24 @@ class WorkspaceContext: await proc.wait() for group in self.groups: for window in group.eww_windows: + extra_args = [ + f"{key}={value}" for key, value in group.eww_windows[window].items() + ] + extra_args = list( + zip( + ["--arg"] * len(extra_args), + extra_args, + ) + ) proc = await asyncio.create_subprocess_exec( "eww", "open", window, "--screen", await group.get_output_name(i3), + "--arg", + f"group={group.name}", + *extra_args, ) await proc.wait()