The motion_notify
event is selected by a number of masks, including
the motion_hint
mask 1.
In ProXL they are separated into two different specifications, which are mutually exclusive.
Motion Notify Event.
In this case, the server will steadily generate motion_notify
events
while the mouse is moving, or the program warps it, but only if the
motion of the pointer begins and ends in the same window. The number of
events generated can easily
overwhelm your application, if it has to do any significant amount of
computation for each one.
If specified without options, the events will be generated independently of the state of the mouse buttons:
motion_notify
To specify mouse movements only while any of a particular set of mouse buttons are pressed, use:
motion_notify(+ButtonList)
Where ButtonList is a list that can contain the integers 1
to 5
. As a special case,
the empty list degenerates into the first specification.
Motion Notify Hint Event.
In this case, the server will generate only one motion_notify
event to let your application know that the mouse pointer moved. You
have to explicitly query the pointer using get_pointer_attributes
to find out where the mouse pointer ended up.
If specified without options, the event will be generated independently of the state of the mouse buttons:
motion_notify_hint
To specify mouse movement only while any of a particular set of mouse buttons are pressed, use:
motion_notify_hint(+ButtonList)
Where ButtonList is a list that can contain the integers 1
to 5
. As a special case,
the empty list degenerates into the first specification.