workspaces_follow_focus: fix unknown workspaces handling

This commit is contained in:
fdev31 2023-04-30 22:19:08 +02:00
parent 82a1795a9b
commit cb11493203

View file

@ -40,15 +40,15 @@ class Extension(Plugin):
busy_workspaces = set(
m["activeWorkspace"]["id"] for m in monitors if m["id"] != monitor["id"]
)
# get workspaces info
workspaces = await hyprctlJSON("workspaces")
assert isinstance(workspaces, list)
workspaces.sort(key=lambda x: x["id"])
cur_workspace = monitor["activeWorkspace"]["id"]
available_workspaces = [
i for i in self.workspace_list if i not in busy_workspaces
]
try:
idx = available_workspaces.index(cur_workspace)
except ValueError:
next_workspace = available_workspaces[0]
else:
next_workspace = available_workspaces[
(idx + increment) % len(available_workspaces)
]