|  | 
              The
              :selection-request
              event is reported to the owner of a selection when a client
              calls
              convert-selection.
              This event requests the selection owner to convert the current
              value of a selection into a specified form and to return
              it to the requestor. A client can neither select
              :selection-request
              events nor avoid receiving them. 
             
              The selection owner should respond to a
              :selection-request
              event by performing the following steps: 
             
              
                Convert the current selection value to the
                target type. 
              
                Store the converted selection value in the property. If
                property is nil, then the owner should choose
                the property. 
              
                Call
                send-event
                to send a
                :selection-notify
                event to the requestor containing the property
                with the converted value. If the selection could not be
                converted to the target type, then a nil
                property should be sent. The :selection,
                :target, and :time arguments to
                send-event
                should be the same as those received in the
                :selection-request
                event. The event-mask argument to
                send-event
                should be nil; that is, the
                :selection-notify
                event should be sent to client that created the requestor.
             
              NOTE: Standard conventions for inter-client communication
              require the following additional steps in processing a
              :selection-request
              event: 
             
              
                The property used to store the selection value must belong to
                the requestor. 
              
                If the property is nil, the target type atom
                should be used as the property name. 
              
                If the window did not actually own the selection at the given
                time, the request should be refused, just as if it could not
                be converted to the target type.
             
              
                window, event-window 
              
                Type
                window.
                The selection owner receiving the event. 
              
                requestor 
              
                Type
                window.
                The window requesting the converted selection. 
              
                selection 
              
                Type keyword. The selection to be converted. 
              
                target 
              
                Type keyword. An
                xatom
                specifying the type of the converted selection value. 
              
                property 
              
                Type (or null keyword). A requestor window property. 
              
                time 
              
                Type
                timestamp.
                The timestamp sent in the client
                convert-selection request.
             |