1
0
Fork 0
mirror of https://github.com/yshui/picom.git synced 2024-12-02 14:15:41 -05:00
Commit graph

7 commits

Author SHA1 Message Date
Yuxuan Shui
cdf25b07dc
wm/win: separate per-window options into their own struct
It's easier to just store them together, since the same group of
information is needed for parsed window rules, and for window rendering.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-08-03 04:34:55 +01:00
Yuxuan Shui
518f63b920
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>
2024-06-21 08:42:49 +01:00
Yuxuan Shui
bd26302f07
backend: embed backend_operations table in backend_base
The idea is to allow backend plugins to override backend functions by
modifying this table. Right now, when they do this they are actually
changing a global variable and their change will persist after backend
resets (!). Store the table inside backend_base solves this problem.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-05-25 11:08:52 +01:00
Yuxuan Shui
bbde4bb1ab
api: introduce the concept of backend specific plugins
Allow loaded plugins to hook into specific backends.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-05-25 11:08:49 +01:00
Yuxuan Shui
21fe5983e0
backend: add version for querying the backend's version
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-05-25 11:08:46 +01:00
Yuxuan Shui
5c1b0ba7a1
backend: turn max_buffer_age into a function
We want to change the backend interface as little as possible once we
release it as a public interface, so while we still can, we should try
to give it maximum flexibility.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-05-25 11:08:44 +01:00
Yuxuan Shui
f5bebb3e2e
plugin: add picom API headers
And add a pkgconfig file so they can be found.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-05-25 11:08:43 +01:00