motion_notify Event

The fields that can be unified in motion_notify events are:

  1. type(T) unifies T with motion_notify.
  2. serial(S) unifies S with the serial number of the last request processed by the server.
  3. send_event(B) unifies B, a boolean value, with one of

    true
    If the event was sent by another client.
    false
    If the event was sent by the server.
  4. display(D) unifies D with the ProXL Display the event was read from.
  5. window(W) unifies W with the ProXL Window that receives the event.
  6. root(R) unifies R with the root Window that the event occurred under.
  7. subwindow(S) unifies S with the child ProXL window where the event occurred or none if the event occurred in the window itself.
  8. time(T) unifies T with the server time, in milliseconds, when the event occurred.
  9. x(X) unifies X with the x pointer coordinate, relative to the window origin, if the receiving window is on the same screen as the root window. Otherwise it is 0.
  10. y(Y) unifies Y with the y pointer coordinate, relative to the window origin, if the receiving window is on the same screen as the root window. Otherwise it is 0.
  11. position(X, Y) unifies X and Y with the x and y pointer coordinates, respectively, relative to the window origin, if the receiving window is on the same screen as the root window. Otherwise they are 0.
  12. x_root(X) unifies X with the x pointer coordinate, relative to the root window origin, if the receiving window is on the same screen as the root window, otherwise with 0.
  13. y_root(Y) unifies Y with the y pointer coordinate, relative to the root window origin, if the receiving window is on the same screen as the root window, otherwise with 0.
  14. root_position(X, Y) unifies X and Y with the pointer x and y coordinates, respectively, relative to the root window origin, if the receiving window is on the same screen as the root window. Otherwise they are both 0.
  15. state(Buttons, Modifiers) unifies Buttons with a term of the form:
              
              buttons(B1, B2, B3, B4, B5)
              

    where each argument of the term is unified with the state of the corresponding pointer button just before the event, and has the value up or down.

    Unifies Modifiers with a term of the form:

              
              modifiers(Shift, Control, Lock,
                        Mod1, Mod2, Mod3, Mod4, Mod5)
              

    where each argument of the term is unified with the state of the corresponding modifier key just before the event, and has the value up or down.

  16. is_hint(H) unifies H with one of

    normal
    If the event is a normal motion_notify event.
    hint
    If the event is a hint that the mouse pointer moved. This will always be the case if the event selected is motion_notify_hint.
  17. same_screen(B) unifies B, a boolean value, with one of

    true
    If the mouse pointer is currently on the same screen as the window receiving the event.
    false
    If the the mouse pointer and the window are on different screens.