GNOME Bugzilla – Bug 690497
use XFixes for hiding the cursor
Last modified: 2013-01-11 13:08:56 UTC
Using XFixes to hide and show the cursor has been disabled since February 2008, on the grounds it didn't always work reliably. This has almost certainly been fixed then and seems to work entirely reliably across a number of X servers released in the past few years, and is definitely better than a 1x1 black dot for a cursor. If it's still broken, this needs to be fixed in the X server.
Created attachment 231874 [details] [review] X11: Use XFixes for show/hide cursor This has been disabled since February 2008, on the grounds that XFixes didn't work reliably for hiding cursors. This has almost certainly been fixed then and seems to work entirely reliably across a number of X servers released in the past few years, and is definitely better than a 1x1 black dot for a cursor. If it's still broken, this needs to be fixed in the X server. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Review of attachment 231874 [details] [review]: the original bug was that, when hiding the cursor with XFixes and then switching focus to Firefox, you wouldn't get the cursor back - which was hilarious. I honestly think this has been fixed in the last 5 years, and that if it isn't then we ought to file bugs where appropriate, not fudge around with crap from 1987.
mmh, if I hide the cursor with XFixes, the cursor completely disappears for the whole screen, instead of being toggled through crossing events. is this something that has to be handled by the toolkit, or is it something that the X server should provide?
Created attachment 231892 [details] [review] X11: Use XFixes for show/hide cursor This has been disabled since February 2008, on the grounds that XFixes didn't work reliably for hiding cursors. This has almost certainly been fixed then and seems to work entirely reliably across a number of X servers released in the past few years, and is definitely better than a 1x1 black dot for a cursor. Helpfully though, where the spec states that the cursor will be hidden when inside the specified window or one of its children, it actually only uses the window to look up the Screen, and hides the cursor across the entire Screen. So, when using this, we also need to track crossing events. If it's still broken, this needs to be fixed in the X server. https://bugzilla.gnome.org/show_bug.cgi?id=690497 Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Attachment 231892 [details] pushed as 1a0e501 - X11: Use XFixes for show/hide cursor