GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
X11::Xlib::XEvent(3) User Contributed Perl Documentation X11::Xlib::XEvent(3)
 

X11::Xlib::XEvent - Polymorphic class for XEvent structures

This object wraps an XEvent. XEvent is a union of many different C structs, though they all share a few common fields. The storage space of an XEvent is constant regardless of type, and so this class is backed by a simple scalar ref.
The active struct of the union is determined by the "type" field. This object heirarchy attempts to help you make correct usage of the union with respect to the current "type", so as you change the value of "type" the object will automatically re-bless itself into the appropriate subclass, giving you access to new struct fields.
Most of the "magic" occurs from Perl code, not XS, so it is possible to define new event types if this module lacks any in your local copy of Xlib. You can also access the "bytes" directly any time you want. And, you don't even have to use this object at all; any scalar or scalarref of the correct length can be passed to the X11::Xlib methods that expect an XEvent pointer.

  my $xevent= X11::Xlib::XEvent->new();
  my $xevent= X11::Xlib::XEvent->new( %fields );
  my $xevent= X11::Xlib::XEvent->new( \%fields );
You can construct XEvent as an empty buffer, or initialize it with a hash or hashref of fields. Initialization is performed via "pack". Un-set fields are initialized to zero, and the "bytes" is always padded to the length of an XEvent.

Direct access to the bytes of the XEvent.

  $xevent->apply( %fields );
Alias for " pack( \%fields, 1, 1 ) "

  $xevent->pack( \%fields, $consume, $warn );
Assign a set of fields to the packed struct, optionally removing them from the hashref ($consume) and warning about un-known names ($warn). If you supply a new value for "type", the XEvent will get re-blessed to the appropriate type and all union-specific fields will be zeroed before applying the rest of the supplied fields.

  my $field_hashref= $xevent->unpack;
Unpack the fields of an XEvent into a hashref. The Display field gets inflated to an X11::Xlib object.

Return a human-readable string describing the Event. The format is intended to be readable by humans, and is subject to change.

All XEvent subclasses have the following attributes:

This is the key attribute that determines all the rest. Setting this value will re-bless the object to the relevant sub-class. If the type is unknown, it becomes "X11::Xlib::XEvent".

The handle to the X11 connection that this message came from.

The X11 serial number

Boolean indicating whether the event was sent with "XSendEvent"

For detailed information about these structures, consult the official documentation <https://www.x.org/releases/X11R7.7/doc/libX11/libX11/libX11.html>

Used for event type: ButtonPress, ButtonRelease
  button            - unsigned int
  root              - Window
  same_screen       - Bool
  state             - unsigned int
  subwindow         - Window
  time              - Time
  window            - Window
  x                 - int
  x_root            - int
  y                 - int
  y_root            - int

Used for event type: CirculateNotify
  event             - Window
  place             - int
  window            - Window

Used for event type: CirculateRequest
  parent            - Window
  place             - int
  window            - Window

Used for event type: ClientMessage
  b                 - char [ 20 ]
  l                 - long [ 5 ]
  s                 - short [ 10 ]
  format            - int
  message_type      - Atom
  window            - Window

Used for event type: ColormapNotify
  colormap          - Colormap
  new               - Bool
  state             - int
  window            - Window

Used for event type: ConfigureNotify
  above             - Window
  border_width      - int
  event             - Window
  height            - int
  override_redirect - Bool
  width             - int
  window            - Window
  x                 - int
  y                 - int

Used for event type: ConfigureRequest
  above             - Window
  border_width      - int
  detail            - int
  height            - int
  parent            - Window
  value_mask        - unsigned long
  width             - int
  window            - Window
  x                 - int
  y                 - int

Used for event type: CreateNotify
  border_width      - int
  height            - int
  override_redirect - Bool
  parent            - Window
  width             - int
  window            - Window
  x                 - int
  y                 - int

Used for event type: EnterNotify, LeaveNotify
  detail            - int
  focus             - Bool
  mode              - int
  root              - Window
  same_screen       - Bool
  state             - unsigned int
  subwindow         - Window
  time              - Time
  window            - Window
  x                 - int
  x_root            - int
  y                 - int
  y_root            - int

Used for event type: DestroyNotify
  event             - Window
  window            - Window

Used for event type: 0
  error_code        - unsigned char
  minor_code        - unsigned char
  request_code      - unsigned char
  resourceid        - XID

Used for event type: Expose
  count             - int
  height            - int
  width             - int
  window            - Window
  x                 - int
  y                 - int

Used for event type: FocusIn, FocusOut
  detail            - int
  mode              - int
  window            - Window

Used for event type: GenericEvent
  evtype            - int
  extension         - int

Used for event type: GraphicsExpose
  count             - int
  drawable          - Drawable
  height            - int
  major_code        - int
  minor_code        - int
  width             - int
  x                 - int
  y                 - int

Used for event type: GravityNotify
  event             - Window
  window            - Window
  x                 - int
  y                 - int

Used for event type: KeyPress, KeyRelease
  keycode           - unsigned int
  root              - Window
  same_screen       - Bool
  state             - unsigned int
  subwindow         - Window
  time              - Time
  window            - Window
  x                 - int
  x_root            - int
  y                 - int
  y_root            - int

Used for event type: KeymapNotify
  key_vector        - char [ 32 ]
  window            - Window

Used for event type: MapNotify
  event             - Window
  override_redirect - Bool
  window            - Window

Used for event type: MapRequest
  parent            - Window
  window            - Window

Used for event type: MappingNotify
  count             - int
  first_keycode     - int
  request           - int
  window            - Window

Used for event type: MotionNotify
  is_hint           - char
  root              - Window
  same_screen       - Bool
  state             - unsigned int
  subwindow         - Window
  time              - Time
  window            - Window
  x                 - int
  x_root            - int
  y                 - int
  y_root            - int

Used for event type: NoExpose
  drawable          - Drawable
  major_code        - int
  minor_code        - int

Used for event type: PropertyNotify
  atom              - Atom
  state             - int
  time              - Time
  window            - Window

Used for event type: ReparentNotify
  event             - Window
  override_redirect - Bool
  parent            - Window
  window            - Window
  x                 - int
  y                 - int

Used for event type: ResizeRequest
  height            - int
  width             - int
  window            - Window

Used for event type: SelectionClear
  selection         - Atom
  time              - Time
  window            - Window

Used for event type: SelectionNotify
  property          - Atom
  requestor         - Window
  selection         - Atom
  target            - Atom
  time              - Time

Used for event type: SelectionRequest
  owner             - Window
  property          - Atom
  requestor         - Window
  selection         - Atom
  target            - Atom
  time              - Time

Used for event type: UnmapNotify
  event             - Window
  from_configure    - Bool
  window            - Window

Used for event type: VisibilityNotify
  state             - int
  window            - Window

Olivier Thauvin, <nanardon@nanardon.zarb.org>
Michael Conrad, <mike@nrdvana.net>

Copyright (C) 2009-2010 by Olivier Thauvin
Copyright (C) 2017 by Michael Conrad
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.
2018-06-06 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.