In computing, XFixes is an X Window System extension which makes useful additions to the X11 protocol. It was started in 2003 by Keith Packard. It first appeared in the KDrive X server and later in X.Org Server version 6.8.0.
The extension implements a collection of unrelated additions to the protocol. The theme of the collection is small additions to remove important defects in the protocol that can't be worked around using the pure X11 protocol.
The point of implementing these additions in an extension is to leave the core server code, and a server that does not include the XFixes extension, implementing the original pure X11 protocol. However, as the additions are designed in a backward compatible way, there is no practical reason for a server not to implement them. The client and server can always negotiate down to the additions that both understand.
Version 1 of the extension included Save Set processing changes (to make embedding applications more reliable), selection notification events (add events sent when selection ownership is asserted) and cursor tracking (requests allowing the image to be tracked reliably).
Version 2 of the extension adds region objects and cursor names.
Version 3 allows existing region objects to be enlarged.
Version 4 allows the mouse cursor to be hidden over specific windows.
Version 5 introduces pointer barriers, which allows using easy-to-reach locations (according to Fitts's Law) even in multi-monitor configurations.