Commit Graph

5 Commits

Author SHA1 Message Date
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