desktop: refresh workspace appearance for workspace changes

Fix workspace state updates so panels such as sfwbar can correctly
track workspace-filtered taskbars under labwc.

- remove restriction that skips workspace updates when the source is OSD
- trigger output_update_workspace_appearance() after workspace change
- return early when no view is present to avoid inconsistent updates

This resolves incorrect behavior where sfwbar (filter = workspace)
does not update properly under labwc, while it works correctly on sway.

Related: https://github.com/LBCrion/sfwbar/issues/412
This commit is contained in:
G7fya 2026-04-19 15:48:12 +00:00
parent 5f668a82ee
commit df1e8eb008
6 changed files with 97 additions and 4 deletions

View file

@ -8,6 +8,7 @@ struct foreign_toplevel;
struct foreign_toplevel *foreign_toplevel_create(struct view *view);
void foreign_toplevel_set_parent(struct foreign_toplevel *toplevel,
struct foreign_toplevel *parent);
void foreign_toplevel_refresh(struct foreign_toplevel *toplevel);
void foreign_toplevel_destroy(struct foreign_toplevel *toplevel);
#endif /* LABWC_FOREIGN_TOPLEVEL_H */