From ef611a803ef7cd1bc7147bfdc453ca1ee380e095 Mon Sep 17 00:00:00 2001 From: Yann Dirson Date: Mon, 30 Mar 2020 18:29:08 +0200 Subject: [PATCH] doc: fix and clarify pointer image behaviour Signed-off-by: Yann Dirson --- doc/publican/sources/Protocol.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/publican/sources/Protocol.xml b/doc/publican/sources/Protocol.xml index 69edd2cd..a472f1d5 100644 --- a/doc/publican/sources/Protocol.xml +++ b/doc/publican/sources/Protocol.xml @@ -400,11 +400,12 @@ request is ignored. To the client this will look like it successfully set the pointer image. + + Setting the pointer image to NULL causes the cursor to be hidden. + The compositor will revert the pointer image back to a default image - when no surface has the pointer focus for that device. Clients can - revert the pointer image back to the default image by setting a NULL - image. + when no surface has the pointer focus for that device. What if the pointer moves from one window which has set a special @@ -412,7 +413,10 @@ the motion event? The new surface will be stuck with the special pointer image. We can't just revert the pointer image on leaving a surface, since if we immediately enter a surface that sets a different - image, the image will flicker. Broken app, I suppose. + image, the image will flicker. If a client does not set a pointer image + when the pointer enters a surface, the pointer stays with the image set + by the last surface that changed it, possibly even hidden. Such a client + is likely just broken.