From freedesktop-xorg Sun Feb 17 03:38:53 2008 From: Dennis Kasprzyk Date: Sun, 17 Feb 2008 03:38:53 +0000 To: freedesktop-xorg Subject: Proposal for XFixes changes to allow client side cursor hadling Message-Id: X-MARC-Message: https://marc.info/?l=freedesktop-xorg&m=120321952723118 Hi, David Reveman made a proposal a while ago (New version of xfixes with client side cursor support), but there was a problem with the XFixesNameCursorPixmap, because it could not ensure that the cursor attributes match the named cursor pixmap (see the old post for details). The situation has changed, and we now also could have multiple cursors due to MPX. I assume here that we already have a system to get the available cursors and it's positions. I will simply use CursorId as a way to identify multiple cursors. My idea is a new void XFixesRequestCursorPixmap (Display *dpy, CursorID, Bool immediate) function. This function will create a new pixmap id and will send it with the request to the server. If immediate is set to TRUE, then the server will assign the pixmap id to the current cursor pixmap and send an event with the pixmap id and the current cursor attributes back to the client. If immediate is FALSE, then the server will wait. If the cursor attributes/image changes, then the server will assign the pixmap id to the new cursor and will send it with the new attributes back to the client. This ensures that the client always has the right attributes for it's cursor pixmap id. Such a system could also replace the XCompositeNameWindowPixmap call, to make sure that a composite manager also always has the right attributes of a named window pixmap. - Dennis _______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg