Commit graph

2 commits

Author SHA1 Message Date
G7fya
df1e8eb008 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
2026-04-19 15:48:12 +00:00
John Lindgren
02df0a15d7 foreign-toplevel: simplify and fully separate ext-foreign/wlr-foreign
Currently, the dependencies between foreign-toplevel[-internal],
ext-foreign, and wlr-foreign are cyclical and a bit complex.

I suggest we reorganize it into a simpler hierarchy:

  foreign-toplevel/
    -> foreign.c/h
      -> (depends on) ext-foreign.c/h
      -> (depends on) wlr-foreign.c/h

The refactored code is smaller and (IMO) easier to follow.

In detail:

- Add include/foreign-toplevel folder mirroring src/foreign-toplevel
- Split foreign-toplevel-internal.h to ext-foreign.h and wlr-foreign.h
- Eliminate ext-/wlr-foreign.c -> foreign.c reverse dependencies
  (including internal signals and foreign_request* functions)
- Make struct foreign_toplevel private to foreign.c

Lightly tested with qmpanel (which uses wlr-foreign-toplevel).

v2: reorder foreign-toplevel internal API funcs
2025-08-07 23:27:04 -04:00