Data should be stored to the cut butters and the ring rotated only when requested by explicit user action. Users depend on their mental model of cut buffer operation and need to be able to identify operations that transfer data to and from the buffers.

Note that there is nothing magic about the properties used by Xlib's cut buffer routines or those routines themselves. If an application needs more buffers, it can intern additional atoms for CUT_BUFFER8 and so on and write its own equivalent of XStoreBuffer( ) and XFetchBuffer ( ) that can write and read these properties.