On Wed Dec 6 16:57:00 2023 +0000, Alexandros Frantzis wrote:
Possibly also protocol support but honestly I find that these checks
everywhere are just making the code uglier.
...
It's not clear to me if this comment is saying that you dislike that we have such checks in this MR (we don't, see below), or that you would be in general against adding such checks. In any case, to be clear, this MR doesn't introduce any optional protocols. We enforce this by checking that we have the `zwp_pointer_constraints_v1` and `zwp_relative_pointer_manager_v1` globals in `wayland_process_init()` and bail out otherwise. The code in `wayland_pointer_update_constraint()` enables/disables pointer locking/confinement/relative motion, which is expressed in the protocol with the creation/destruction of the `zwp_(locked|confined)_pointer_v1` and `zwp_relative_pointer_v1` objects for a particular `wl_pointer`.
Okay I see, I got confused by the names of the objects then which look very much like the protocols in use. Maybe would be better to use a less technical and more descriptive name, regardless of their underlying types.