1
0
Fork 0
mirror of https://github.com/yshui/picom.git synced 2025-10-30 23:46:46 -04:00

core: replace window table and window stack with wm_tree

Because wm_tree tracks the entire window tree, it's able to replace
several old data structures we used to track windows: the window hash
table, the window stack, and the subwin table. So we got rid of those,
and fully switched to wm_tree.

Fixes window rules for window managers that don't put client window
directly under toplevel windows. This includes, according to people's
reports, at least i3 and KDE.

Fixed a couple small bugs:

* dbus was returning window ID as a boolean.
* window frame extents not cleared after its client window disappears.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
Yuxuan Shui 2024-06-19 09:25:57 +01:00
parent c96ca0a40a
commit 518f63b920
No known key found for this signature in database
GPG key ID: D3A4405BE6CC17F4
22 changed files with 1040 additions and 1631 deletions

View file

@ -31,7 +31,7 @@ struct xvisual_info {
};
typedef struct session session_t;
struct managed_win;
struct win;
struct ev_loop;
struct backend_operations;