view: decouple always-on-top windows from the omnipresent state

Before this commit, always-on-{top,bottom} windows were always visible
on all workspaces (omnipresent) because the they were not in
per-workspace trees like normal windows.

This commit fixes this by removing per-workspace trees and instead
showing/hiding views individually based on view->workspace.
This commit is contained in:
tokyo4j 2025-12-01 14:56:04 +09:00
parent 55a256f2fa
commit cf401a6394
8 changed files with 25 additions and 72 deletions

View file

@ -8,14 +8,12 @@
struct seat;
struct server;
struct wlr_scene_tree;
struct workspace {
struct wl_list link; /* struct server.workspaces */
struct server *server;
char *name;
struct wlr_scene_tree *tree;
struct lab_cosmic_workspace *cosmic_workspace;
struct {