Updates spec for Xfixes 3.1: Hide/ShowCursor
Deron Johnson
Deron.Johnson at Sun.COM
Mon Feb 13 17:12:03 PST 2006
Here is the specification for the Hide/ShowCursor extension that I
mentioned at the Xorg Developer's Conference. This is an addition
to the Xfixes extension (Version 3.1). This extension provides
a way for composite managers to render the cursor themselves,
without getting a double cursor image.
Unless anyone has any objections, I will integrate the code for
this into the CVS head this coming Friday (2/17).
---------------------------------------------------------------------
Author: Deron Johnson
Document Version: 0.4 (DRAFT)
Date: Mon Feb 13 16:44:10 PST 2006
Subject: Proposal for Version 3.1 of Xfixes Extension
Add: Cursor Visibility Modification
-----------------------------------
Requests:
HideCursor
window: Window
This request indicates that the requesting client wishes
the cursor to be hidden (i.e. to not be displayed) when
the sprite resides on the screen for the specified window.
When one or more clients have requested the cursor to
be hidden on a screen, the cursor image will not be
displayed on this screen.
The ShowCursor request is used to reverse the effect of
a HideCursor request. Clients can call HideCursor multiple
times. If the client has called HideCursor one or more
times then ShowCursor must be called that many times to
make the cursor again visible. Only when all clients
who have sent HideCursor requests have reversed these
with ShowCursor requests will the cursor once again be
displayed.
When a client with N outstanding HideCursor requests
terminates its connection, these N requests will be
removed, as if client had sent N ShowCursor requests
before terminating.
Note that even though cursor hiding causes the cursor image
to be invisible, CursorNotify events will still be sent
normally, as if the cursor image were visible.
ShowCursor
window: Window
This request reverses the effect of one HideCursor request
made by the same client.
If the client has made no outstanding HideCursor requests
a BadMatch error is generated.
More information about the xorg
mailing list