diff --git a/hm/desktop/frobar/frobar/providers.py b/hm/desktop/frobar/frobar/providers.py index 7e896c5..00554d1 100644 --- a/hm/desktop/frobar/frobar/providers.py +++ b/hm/desktop/frobar/frobar/providers.py @@ -19,7 +19,7 @@ from frobar.common import (AlertingProvider, Button, MirrorProvider, Module, MultiSectionsProvider, PeriodicProvider, PeriodicStatefulProvider, Screen, Section, SingleSectionProvider, StatefulSection, - StatefulSectionProvider, clip, humanSize, ramp) + StatefulSectionProvider, clip, humanSize, log, ramp) gi.require_version("Playerctl", "2.0") import gi.repository.Playerctl @@ -81,7 +81,12 @@ class I3WorkspacesProvider(MultiSectionsProvider): section.setAction(Button.CLICK_LEFT, switch_to_workspace) async def update() -> None: - workspace = self.workspaces[num] + workspace = self.workspaces.get(num) + if workspace is None: + log.warning(f"Can't find workspace {num}") + section.setText("X") + return + name = workspace.name if workspace.urgent: section.color = self.COLOR_URGENT