window-rules/foreign-toplevel: add per-window <taskbarScope> with 4 visibility modes

Introduce a per-window rule `<taskbarScope>` that controls where a window's
*taskbar entry* appears. This affects taskbar listing only (via foreign-toplevel
output membership); it does not change sticky/omnipresent state, focus, or
workspace membership.

Supported values (case-insensitive):
- here       -> show only when both match: the window's monitor AND its active workspace
- monitor    -> show only on the window's monitor, across that monitor's workspaces
                (default if the key is omitted)
- workspace  -> show on all monitors currently on the window's workspace
- everywhere -> show on all monitors and all workspaces
This commit is contained in:
Maik Broemme 2025-11-02 22:29:51 +01:00
parent 7223056ffc
commit dad5e72dbf
No known key found for this signature in database
GPG key ID: 27BE1125704B8B02
9 changed files with 136 additions and 17 deletions

View file

@ -43,3 +43,10 @@ foreign_toplevel_destroy(struct foreign_toplevel *toplevel)
ext_foreign_toplevel_finish(&toplevel->ext_toplevel);
free(toplevel);
}
void
foreign_toplevel_refresh_outputs(struct foreign_toplevel *toplevel)
{
assert(toplevel);
wlr_foreign_toplevel_refresh_outputs(&toplevel->wlr_toplevel);
}