From cb11493203de39a29f719c7aa8678871791327ba Mon Sep 17 00:00:00 2001 From: fdev31 Date: Sun, 30 Apr 2023 22:19:08 +0200 Subject: [PATCH] workspaces_follow_focus: fix unknown workspaces handling --- pyprland/plugins/workspaces_follow_focus.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pyprland/plugins/workspaces_follow_focus.py b/pyprland/plugins/workspaces_follow_focus.py index 41fa834..946425d 100644 --- a/pyprland/plugins/workspaces_follow_focus.py +++ b/pyprland/plugins/workspaces_follow_focus.py @@ -40,17 +40,17 @@ 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 ] - idx = available_workspaces.index(cur_workspace) - next_workspace = available_workspaces[ - (idx + increment) % len(available_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) + ] await hyprctl(f"moveworkspacetomonitor {next_workspace},{monitor['name']}") await hyprctl(f"workspace {next_workspace}")