Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 9d2e976f12e8ff1c53133a0ee8246441 > files > 15

python-xlib-doc-0.15-6.mga4.noarch.rpm

<HTML>
<HEAD>
<!-- Created by texi2html 1.56k from ../src/python-xlib.texi on 22 October 2013 -->

<TITLE>The Python X Library - Event Types</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="python-xlib_1.html">first</A>, <A HREF="python-xlib_12.html">previous</A>, <A HREF="python-xlib_14.html">next</A>, <A HREF="python-xlib_25.html">last</A> section, <A HREF="python-xlib_toc.html">table of contents</A>.
<P><HR><P>


<H2><A NAME="SEC12" HREF="python-xlib_toc.html#TOC12">Event Types</A></H2>

<P>
This section describes all event types by listing their fields and basic
information on when they are generated.  All events are defined in the
module <CODE>Xlib.protocol.event</CODE>.  All event types have the following
two attributes:


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>type</B>
<DD><A NAME="IDX8"></A>


<P>
Stores the X type code of this event.  Type codes are integers in the
range 2-127, and are defined with symbolic names in <CODE>Xlib.X</CODE>.  The
symbolic names are the same as the event class names, except for the
special event <CODE>AnyEvent</CODE>.


</DL>

<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>send_event</B>
<DD><A NAME="IDX9"></A>


<P>
This attribute is normally 0, meaning that the event was generated by
the X server.  It is set to 1 if this event was instead sent from
another client.


</DL>

<P>
Event object can be created by instantiating the corresponding event
class, providing all the attributes described for the event as keyword
arguments. 


<P>
<DL>
<DT><U>Event:</U> <B>KeyPress</B>
<DD><A NAME="IDX10"></A>
<DT><U>Event:</U> <B>KeyRelease</B>
<DD><A NAME="IDX11"></A>
<DT><U>Event:</U> <B>ButtonPress</B>
<DD><A NAME="IDX12"></A>
<DT><U>Event:</U> <B>ButtonRelease</B>
<DD><A NAME="IDX13"></A>
<DT><U>Event:</U> <B>MotionNotify</B>
<DD><A NAME="IDX14"></A>


<P>
These events are generated when a key or a button logically changes
state, or when the pointer logically moves.  In the discussion below,
the <EM>source window</EM> is the window that the event occured in.  The
event may be generated on some other window than the source window, see
XKeyEvent(3X11) for details.  The same man page also describes
<CODE>MotionNotify</CODE>.


<P>
<DL>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>time</B>
<DD><A NAME="IDX15"></A>
The server X time when this event was generated.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>root</B>
<DD><A NAME="IDX16"></A>
The root window which the source window is an inferior of.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>window</B>
<DD><A NAME="IDX17"></A>
The window the event is reported on.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>same_screen</B>
<DD><A NAME="IDX18"></A>
Set to 1 if <CODE>window</CODE> is on the same screen as <CODE>root</CODE>, 0
otherwise.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>child</B>
<DD><A NAME="IDX19"></A>
If the source window is an inferior of <CODE>window</CODE>, <CODE>child</CODE> is
set to the child of <CODE>window</CODE> that is the ancestor of (or is) the
source window.  Otherwise it is set to <CODE>X.NONE</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>root_x</B>
<DD><A NAME="IDX20"></A>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>root_y</B>
<DD><A NAME="IDX21"></A>
The pointer coordinates at the time of the event, relative to the root
window. 
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>event_x</B>
<DD><A NAME="IDX22"></A>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>event_y</B>
<DD><A NAME="IDX23"></A>
The pointer coordinates at the time of the event, relative to
<CODE>window</CODE>.  If <CODE>window</CODE> is not on the same screen as
<CODE>root</CODE>, these are set to 0.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>state</B>
<DD><A NAME="IDX24"></A>
The logical state of the button and modifier keys just before the event.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> KeyButtonPointerEvent <B>detail</B>
<DD><A NAME="IDX25"></A>
For <CODE>KeyPress</CODE> and <CODE>KeyRelease</CODE>, this is the keycode of the
event key.


<P>
For <CODE>ButtonPress</CODE> and <CODE>ButtonRelease</CODE>, this is the button of
the event.


<P>
For <CODE>MotionNotify</CODE>, this is either <CODE>X.NotifyNormal</CODE> or
<CODE>X.NotifyHint</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>EnterNotify</B>
<DD><A NAME="IDX26"></A>
<DT><U>Event:</U> <B>LeaveNotify</B>
<DD><A NAME="IDX27"></A>


<P>
If pointer motion or window hierarchy change causes the pointer to be in
another window than before, these events are generated instead of
a <CODE>MotionNotify</CODE> event.


<P>
The semantics are quite complex, see XCrossingEvent(3X11) for details.


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>time</B>
<DD><A NAME="IDX28"></A>
The server X time when this event was generated.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>root</B>
<DD><A NAME="IDX29"></A>
The root window of the pointer at the end of this event.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>window</B>
<DD><A NAME="IDX30"></A>
The window the event is reported for.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>child</B>
<DD><A NAME="IDX31"></A>
In a <CODE>LeaveNotify</CODE> event, if a child of <CODE>window</CODE> contains the
initial pointer position, this is set to that child window.
In a <CODE>EnterNotify</CODE> event, if a child of <CODE>window</CODE> contains the
final pointer position, this is set to that child window.
Otherwise this is set to <CODE>X.NONE</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>root_x</B>
<DD><A NAME="IDX32"></A>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>root_y</B>
<DD><A NAME="IDX33"></A>
The final pointer position relative to <CODE>root</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>event_x</B>
<DD><A NAME="IDX34"></A>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>event_y</B>
<DD><A NAME="IDX35"></A>
The final pointer position relative to <CODE>window</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>state</B>
<DD><A NAME="IDX36"></A>
The modifier and button state at the time of the event.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>mode</B>
<DD><A NAME="IDX37"></A>
One of <CODE>X.NotifyNormal</CODE>, <CODE>X.NotifyGrab</CODE> or
<CODE>X.NotifyUngrab</CODE>. 
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>detail</B>
<DD><A NAME="IDX38"></A>
One of <CODE>X.NotifyAncestor</CODE>, <CODE>X.NotifyVirtual</CODE>,
<CODE>X.NotifyInferior</CODE>, <CODE>X.NotifyNonlinear</CODE>, or
<CODE>X.NotifyNonlinearVirtual</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> EnterLeaveEvent <B>flags</B>
<DD><A NAME="IDX39"></A>
If bit 0 is set, <CODE>window</CODE> is the focus window or an inferior of it.
If bit 1 is set, <CODE>window</CODE> is on the same screen as <CODE>root</CODE>.
</DL>


</DL>

<P>
    
<DL>
<DT><U>Event:</U> <B>FocusIn</B>
<DD><A NAME="IDX40"></A>
<DT><U>Event:</U> <B>FocusOut</B>
<DD><A NAME="IDX41"></A>


<P>
These events are generated when the focus changes.  This is also very
complex events, see XFocusChangeEvent(3X11) for details.


<P>
<DL>
<DT><U>Instance Variable:</U> FocusEvent <B>window</B>
<DD><A NAME="IDX42"></A>
The window the event is generated for.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> FocusEvent <B>mode</B>
<DD><A NAME="IDX43"></A>
One of <CODE>X.NotifyNormal</CODE>, <CODE>X.NotifyWhileGrabbed</CODE>,
<CODE>X.NotifyGrab</CODE>, or <CODE>X.NotifyUngrab</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> FocusEvent <B>detail</B>
<DD><A NAME="IDX44"></A>
One of <CODE>X.NotifyAncestor</CODE>, <CODE>X.NotifyVirtual</CODE>,
<CODE>X.NotifyInferior</CODE>, <CODE>X.NotifyNonlinear</CODE>, 
<CODE>X.NotifyNonlinearVirtual</CODE>, <CODE>X.NotifyPointer</CODE>,
<CODE>X.NotifyPointerRoot</CODE>, or <CODE>X.NONE</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>KeymapNotify</B>
<DD><A NAME="IDX45"></A>


<P>
This event is generated immediately after every <CODE>EnterNotify</CODE> and
<CODE>FocusIn</CODE>.


<P>
<DL>
<DT><U>Instance Variable:</U> KeymapNotify <B>data</B>
<DD><A NAME="IDX46"></A>
A list of 31 eight-bit integers, as returned by query_keymap.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>Expose</B>
<DD><A NAME="IDX47"></A>


<P>
This event is generated when regions of a window has to be redrawn.  The
regions are decomposed into a set of rectangles, and an <CODE>Expose</CODE>
event is generated for each rectangle.


<P>
<DL>
<DT><U>Instance Variable:</U> Expose <B>window</B>
<DD><A NAME="IDX48"></A>
The window containing regions to redraw.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> Expose <B>x</B>
<DD><A NAME="IDX49"></A>
<DT><U>Instance Variable:</U> Expose <B>y</B>
<DD><A NAME="IDX50"></A>
<DT><U>Instance Variable:</U> Expose <B>width</B>
<DD><A NAME="IDX51"></A>
<DT><U>Instance Variable:</U> Expose <B>height</B>
<DD><A NAME="IDX52"></A>
The coordinates of the rectangle to redraw.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> Expose <B>count</B>
<DD><A NAME="IDX53"></A>
At least this many more <CODE>Expose</CODE> events will immediately follow for
this window.  If this is the last event, <CODE>count</CODE> is set to 0.


<P>
This allows a simple application to ignore all <CODE>Expose</CODE> events
with a non-zero <CODE>count</CODE>, and then redraw the entire window when the
zero event is received.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>GraphicsExpose</B>
<DD><A NAME="IDX54"></A>
<DT><U>Event:</U> <B>NoExpose</B>
<DD><A NAME="IDX55"></A>


<P>
These events may be generated for drawables when a graphics context with
<CODE>graphics_exposures</CODE> selected is used.  See
XGraphicsExposeEvent(3X11) for details.


<P>
Both events have these attributes:


<P>
<DL>
<DT><U>Instance Variable:</U> GraphicsExpose <B>drawable</B>
<DD><A NAME="IDX56"></A>
The drawable of the event.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> GraphicsExpose <B>major_event</B>
<DD><A NAME="IDX57"></A>
<DT><U>Instance Variable:</U> GraphicsExpose <B>minor_event</B>
<DD><A NAME="IDX58"></A>
The major and minor number of the request that generated this event.
For the core protocol <CODE>major_event</CODE> is always 62 (CopyArea) or 63
(CopyPlane), and <CODE>minor_event</CODE> is always 0.
</DL>


<P>
GraphicsExpose have these additional attributes:


<P>
<DL>
<DT><U>Instance Variable:</U> GraphicsExpose <B>x</B>
<DD><A NAME="IDX59"></A>
<DT><U>Instance Variable:</U> GraphicsExpose <B>y</B>
<DD><A NAME="IDX60"></A>
<DT><U>Instance Variable:</U> GraphicsExpose <B>width</B>
<DD><A NAME="IDX61"></A>
<DT><U>Instance Variable:</U> GraphicsExpose <B>height</B>
<DD><A NAME="IDX62"></A>
The coordinates of the event region.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> GraphicsExpose <B>count</B>
<DD><A NAME="IDX63"></A>
At least this many more <CODE>GraphicsExposure</CODE> events follows.  The
last one has <CODE>count</CODE> set to 0.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>VisibilityNotify</B>
<DD><A NAME="IDX64"></A>


<P>
These events are generated when the visibility of a viewable window is
changed.  See XVisibilityNotifyEvent(3X11).


<P>
<DL>
<DT><U>Instance Variable:</U> VisibiltyNotify <B>window</B>
<DD><A NAME="IDX65"></A>
The window of the event.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> VisibiltyNotify <B>state</B>
<DD><A NAME="IDX66"></A>
One of <CODE>X.VisibilityUnobscured</CODE>,
<CODE>X.VisibilityPartiallyObscured</CODE>, or <CODE>X.VisibilityFullyObscured</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>CreateNotify</B>
<DD><A NAME="IDX67"></A>


<P>
This event is generated when a window is created.
<CODE>X.SubstructureNotifyMask</CODE> must be selected on the parent of the
new window to receive this event.


<P>
<DL>
<DT><U>Instance Variable:</U> CreateNotify <B>parent</B>
<DD><A NAME="IDX68"></A>
The parent of the new window.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> CreateNotify <B>window</B>
<DD><A NAME="IDX69"></A>
The new window.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> CreateNotify <B>x</B>
<DD><A NAME="IDX70"></A>
<DT><U>Instance Variable:</U> CreateNotify <B>y</B>
<DD><A NAME="IDX71"></A>
<DT><U>Instance Variable:</U> CreateNotify <B>width</B>
<DD><A NAME="IDX72"></A>
<DT><U>Instance Variable:</U> CreateNotify <B>height</B>
<DD><A NAME="IDX73"></A>
<DT><U>Instance Variable:</U> CreateNotify <B>border_width</B>
<DD><A NAME="IDX74"></A>
<DT><U>Instance Variable:</U> CreateNotify <B>override</B>
<DD><A NAME="IDX75"></A>
These values are fetched from the <CODE>create_window</CODE> call.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>DestroyNotify</B>
<DD><A NAME="IDX76"></A>


<P>
This event is generated when a window is destroyed.


<P>
<DL>
<DT><U>Instance Variable:</U> DestroyNotify <B>event</B>
<DD><A NAME="IDX77"></A>
The window that the event is generated for.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> DestroyNotify <B>window</B>
<DD><A NAME="IDX78"></A>
The window that was destroyed.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>UnmapNotify</B>
<DD><A NAME="IDX79"></A>


<P>
This event is generated when a window is unmapped.


<P>
<DL>
<DT><U>Instance Variable:</U> UnmapNotify <B>event</B>
<DD><A NAME="IDX80"></A>
The window that the event is generated for.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> UnmapNotify <B>window</B>
<DD><A NAME="IDX81"></A>
The window that was unmapped.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>from_configure</B>
<DD><A NAME="IDX82"></A>
This is true if <CODE>window</CODE> was unmapped because its parent was
resized and <CODE>window</CODE> had win-gravity <CODE>X.UnmapGravity</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>MapNotify</B>
<DD><A NAME="IDX83"></A>


<P>
This event is generated when a window is mapped.


<P>
<DL>
<DT><U>Instance Variable:</U> MapNotify <B>event</B>
<DD><A NAME="IDX84"></A>
The window that the event is generated for.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> MapNotify <B>window</B>
<DD><A NAME="IDX85"></A>
The window that was mapped.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>override</B>
<DD><A NAME="IDX86"></A>
This is set from the corresponding window attribute.
</DL>
</DL>


<P>
<DL>
<DT><U>Event:</U> <B>MapRequest</B>
<DD><A NAME="IDX87"></A>


<P>
This event is reported to the client that has set
<CODE>X.SubstructureRedirectMask</CODE> on a window, and an unmapped child of
that window attempts to be mapped by some other client, unless the child
has override-redirect set.


<P>
<DL>
<DT><U>Instance Variable:</U> MapRequest <B>parent</B>
<DD><A NAME="IDX88"></A>
The parent window.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> MapRequest <B>window</B>
<DD><A NAME="IDX89"></A>
The child window that attempts to be mapped.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>ReparentNotify</B>
<DD><A NAME="IDX90"></A>


<P>
This event is reported to clients selecting
<CODE>X.SubstructureNotifyMask</CODE> on either the old or the new parent and
to clients selecting <CODE>X.StructureNotifyMask</CODE> on the reparented
window.


<P>
<DL>
<DT><U>Instance Variable:</U> ReparentNotify <B>event</B>
<DD><A NAME="IDX91"></A>
The window the event is generated for.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ReparentNotify <B>window</B>
<DD><A NAME="IDX92"></A>
The reparented window.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ReparentNotify <B>parent</B>
<DD><A NAME="IDX93"></A>
The new parent window.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ReparentNotify <B>x</B>
<DD><A NAME="IDX94"></A>
<DT><U>Instance Variable:</U> ReparentNotify <B>y</B>
<DD><A NAME="IDX95"></A>
The coordinates of the upper-left outer corner of <CODE>window</CODE> in
<CODE>parent</CODE>. 
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ReparentNotify <B>override</B>
<DD><A NAME="IDX96"></A>
This is set from the corresponding attribute on <CODE>window</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>ConfigureNotify</B>
<DD><A NAME="IDX97"></A>


<P>
This event is generated when a configure request actually changes the
state of the window.


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureNotify <B>event</B>
<DD><A NAME="IDX98"></A>
The window that the event is generated for.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureNotify <B>window</B>
<DD><A NAME="IDX99"></A>
The window that has been changed.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureNotify <B>x</B>
<DD><A NAME="IDX100"></A>
<DT><U>Instance Variable:</U> ConfigureNotify <B>y</B>
<DD><A NAME="IDX101"></A>
<DT><U>Instance Variable:</U> ConfigureNotify <B>width</B>
<DD><A NAME="IDX102"></A>
<DT><U>Instance Variable:</U> ConfigureNotify <B>height</B>
<DD><A NAME="IDX103"></A>
<DT><U>Instance Variable:</U> ConfigureNotify <B>border_width</B>
<DD><A NAME="IDX104"></A>
The new coordinate and geometry of <CODE>window</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureNotify <B>above_sibling</B>
<DD><A NAME="IDX105"></A>
This is <CODE>X.NONE</CODE> if this window is at the bottom of the window
stack.  Otherwise it is the sibling window that <CODE>window</CODE> is
immediately above.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureNotify <B>override</B>
<DD><A NAME="IDX106"></A>
This is set from the corresponding attribute on <CODE>window</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>ConfigureRequest</B>
<DD><A NAME="IDX107"></A>


<P>
This event is reported to the client that has set
<CODE>X.SubstructureRedirectMask</CODE> on the parent of a window that another
client attempts to configure, unless the window has override-redirect
set.


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureRequest <B>parent</B>
<DD><A NAME="IDX108"></A>
The parent of the window being configured.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureRequest <B>window</B>
<DD><A NAME="IDX109"></A>
The window being configured.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureRequest <B>value_mask</B>
<DD><A NAME="IDX110"></A>
A bitmask indicating which values that the caller tries to change.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureRequest <B>x</B>
<DD><A NAME="IDX111"></A>
<DT><U>Instance Variable:</U> ConfigureRequest <B>y</B>
<DD><A NAME="IDX112"></A>
<DT><U>Instance Variable:</U> ConfigureRequest <B>width</B>
<DD><A NAME="IDX113"></A>
<DT><U>Instance Variable:</U> ConfigureRequest <B>height</B>
<DD><A NAME="IDX114"></A>
<DT><U>Instance Variable:</U> ConfigureRequest <B>border_width</B>
<DD><A NAME="IDX115"></A>
The window geometry in the configure call.  If <CODE>X.CWX</CODE>,
<CODE>X.CWY</CODE>, <CODE>X.CWWidth</CODE>, <CODE>X.CWHeight</CODE>, or
<CODE>X.CWBorderWidth</CODE> is set in <CODE>value_mask</CODE>, the corresponding
attributes contains the new value as given in the configure call,
otherwise the current value is used.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureRequest <B>stack_mode</B>
<DD><A NAME="IDX116"></A>
If <CODE>X.CWStackMode</CODE> is set in <CODE>value_mask</CODE>, this is the stack
mode specified in the configure call, one of <CODE>X.Above</CODE>,
<CODE>X.Below</CODE>, <CODE>X.TopIf</CODE>, <CODE>X.BottomIf</CODE>, or
<CODE>X.Opposite</CODE>.  If the flag is not set, this is set to
<CODE>X.Above</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ConfigureRequest <B>sibling</B>
<DD><A NAME="IDX117"></A>
If <CODE>X.CWSibling</CODE> is set in <CODE>value_mask</CODE>, this is the sibling
window specified in the configure call.  If the flag is not set, this is
set to <CODE>X.NONE</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>GravityNotify</B>
<DD><A NAME="IDX118"></A>


<P>
This event is generated when a window is moved because its parent's size
has changed.


<P>
<DL>
<DT><U>Instance Variable:</U> GravityNotify <B>event</B>
<DD><A NAME="IDX119"></A>
The window the event is generated for.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> GravityNotify <B>window</B>
<DD><A NAME="IDX120"></A>
The window that moved.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> GravityNotify <B>x</B>
<DD><A NAME="IDX121"></A>
<DT><U>Instance Variable:</U> GravityNotify <B>y</B>
<DD><A NAME="IDX122"></A>
The new coordinates of the upper-left outer corner of <CODE>window</CODE>.
</DL>


</DL>

<P>
    
<DL>
<DT><U>Event:</U> <B>ResizeRequest</B>
<DD><A NAME="IDX123"></A>


<P>
This is reported to the client selecting <CODE>X.ResizeRedirectMask</CODE> on
a window, and another client attempts to resize it. 


<P>
<DL>
<DT><U>Instance Variable:</U> ResizeRedirect <B>window</B>
<DD><A NAME="IDX124"></A>
The window that was attempted to be resized.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ResizeRedirect <B>width</B>
<DD><A NAME="IDX125"></A>
<DT><U>Instance Variable:</U> ResizeRedirect <B>height</B>
<DD><A NAME="IDX126"></A>
The requested size of the window, excluding the border.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>CirculateNotify</B>
<DD><A NAME="IDX127"></A>


<P>
This event is generated when a window is restacked caused by a circulate
call.


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>event</B>
<DD><A NAME="IDX128"></A>
The window the event is reported on.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>window</B>
<DD><A NAME="IDX129"></A>
The window that has been restacked.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>place</B>
<DD><A NAME="IDX130"></A>
Either <CODE>X.PlaceOnTop</CODE> or <CODE>X.PlaceOnBottom</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>CirculateRequest</B>
<DD><A NAME="IDX131"></A>


<P>
This event is reported to the client that has set
<CODE>X.SubstructureRedirectMask</CODE> on the parent of a window that needs
to be restacked as a result of a circulate call on the parent.


<P>
<DL>
<DT><U>Instance Variable:</U> CirculateRequest <B>parent</B>
<DD><A NAME="IDX132"></A>
The parent window.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> CirculateRequest <B>window</B>
<DD><A NAME="IDX133"></A>
The window that should be restacked.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> CirculateRequest <B>place</B>
<DD><A NAME="IDX134"></A>
Where <CODE>window</CODE> should be placed, either <CODE>X.PlaceOnTop</CODE> or
<CODE>X.PlaceOnBottom</CODE>. 
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>PropertyNotify</B>
<DD><A NAME="IDX135"></A>


<P>
This event is generated when a property on a window is changed.


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>window</B>
<DD><A NAME="IDX136"></A>
The window which the property is or was set on.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>atom</B>
<DD><A NAME="IDX137"></A>
The atom identifying the property.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>time</B>
<DD><A NAME="IDX138"></A>
The server X time when the property was changed.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> Event <B>state</B>
<DD><A NAME="IDX139"></A>
What was changed, either <CODE>X.PropertyNewValue</CODE> or
<CODE>X.PropertyDelete</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>SelectionClear</B>
<DD><A NAME="IDX140"></A>


<P>
This event is reported to the owner of a selection when it has gotten a
new owner.


<P>
<DL>
<DT><U>Instance Variable:</U> SelectionClear <B>window</B>
<DD><A NAME="IDX141"></A>
The owner window of the selection.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> SelectionClear <B>atom</B>
<DD><A NAME="IDX142"></A>
The selection atom.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> SelectionClear <B>time</B>
<DD><A NAME="IDX143"></A>
The server X time when the selection was last changed.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>SelectionRequest</B>
<DD><A NAME="IDX144"></A>


<P>
This event is reported to the owner of a selection when a client
requests it by calling convert_selection.


<P>
<DL>
<DT><U>Instance Variable:</U> SelectionRequest <B>owner</B>
<DD><A NAME="IDX145"></A>
The owner window of the selection.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> SelectionRequest <B>requestor</B>
<DD><A NAME="IDX146"></A>
<DT><U>Instance Variable:</U> SelectionRequest <B>selection</B>
<DD><A NAME="IDX147"></A>
<DT><U>Instance Variable:</U> SelectionRequest <B>target</B>
<DD><A NAME="IDX148"></A>
<DT><U>Instance Variable:</U> SelectionRequest <B>property</B>
<DD><A NAME="IDX149"></A>
<DT><U>Instance Variable:</U> SelectionRequest <B>time</B>
<DD><A NAME="IDX150"></A>
These attributes are fetched from the convert_selection call.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>SelectionNotify</B>
<DD><A NAME="IDX151"></A>


<P>
This event is generated by the server if there are no owner of a
selection when convert_selection is called.  If there is an owner, it
should send this event to the requestor when the selection has been
converted. 


<P>
<DL>
<DT><U>Instance Variable:</U> SelectionNotify <B>requestor</B>
<DD><A NAME="IDX152"></A>
<DT><U>Instance Variable:</U> SelectionNotify <B>selection</B>
<DD><A NAME="IDX153"></A>
<DT><U>Instance Variable:</U> SelectionNotify <B>target</B>
<DD><A NAME="IDX154"></A>
<DT><U>Instance Variable:</U> SelectionNotify <B>property</B>
<DD><A NAME="IDX155"></A>
<DT><U>Instance Variable:</U> SelectionNotify <B>time</B>
<DD><A NAME="IDX156"></A>
See XSelectionEvent(3X11).
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>ColormapNotify</B>
<DD><A NAME="IDX157"></A>


<P>
This event is generated when the colormap attribute of a window is set,
or when a window's colormap is installed or uninstalled.


<P>
<DL>
<DT><U>Instance Variable:</U> ColormapNotify <B>window</B>
<DD><A NAME="IDX158"></A>
The affected window.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ColormapNotify <B>colormap</B>
<DD><A NAME="IDX159"></A>
The colormap of the window, or <CODE>X.NONE</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ColormapNotify <B>new</B>
<DD><A NAME="IDX160"></A>
Set to 1 if the colormap attribute has been set, 0 when the
colormap is installed or uninstalled.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ColormapNotify <B>state</B>
<DD><A NAME="IDX161"></A>
Indicates whether the colormap is installed or not, either
<CODE>X.ColormapInstalled</CODE> or <CODE>X.ColormapUninstalled</CODE>.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>MappingNotify</B>
<DD><A NAME="IDX162"></A>


<P>
This event is sent to all clients, without any event mask having to be
set.  It is sent when the keyboard or pointer mapping is changed.


<P>
<DL>
<DT><U>Instance Variable:</U> MappingNotify <B>request</B>
<DD><A NAME="IDX163"></A>
The mapping that has changed, one of <CODE>X.MappingModifier</CODE>,
<CODE>X.MappingKeyboard</CODE> or <CODE>X.Pointer</CODE>.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> MappingNotify <B>first_keycode</B>
<DD><A NAME="IDX164"></A>
<DT><U>Instance Variable:</U> MappingNotify <B>count</B>
<DD><A NAME="IDX165"></A>
If the keyboard mapping has changed, this is the range of modified
keycodes.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>ClientMessage</B>
<DD><A NAME="IDX166"></A>


<P>
This event is only generated by clients using send_event.  


<P>
<DL>
<DT><U>Instance Variable:</U> ClientMessage <B>window</B>
<DD><A NAME="IDX167"></A>
The destination window of the event.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ClientMessage <B>client_type</B>
<DD><A NAME="IDX168"></A>
The type of message, an atom.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> ClientMessage <B>data</B>
<DD><A NAME="IDX169"></A>
The message data as a tuple: <CODE>(format, mdata)</CODE>


<P>
Format must be one of 8, 16, or 32.  mdata must either be a string of
exactly 20 characters, or a list of exactly 20, 10 or 5 integers
depending of the format.
</DL>


</DL>

<P>
<DL>
<DT><U>Event:</U> <B>AnyEvent</B>
<DD><A NAME="IDX170"></A>


<P>
This event is represents an event the Xlib does not recognise.  These
should never be returned by <CODE>Display.next_event()</CODE>, but they might
be useful for sending special events to other clients.


<P>
<DL>
<DT><U>Instance Variable:</U> AnyEvent <B>detail</B>
<DD><A NAME="IDX171"></A>
An eight-bit integer.
</DL>


<P>
<DL>
<DT><U>Instance Variable:</U> AnyEvent <B>data</B>
<DD><A NAME="IDX172"></A>
A string of exactly 28 characters.
</DL>


</DL>

<P><HR><P>
Go to the <A HREF="python-xlib_1.html">first</A>, <A HREF="python-xlib_12.html">previous</A>, <A HREF="python-xlib_14.html">next</A>, <A HREF="python-xlib_25.html">last</A> section, <A HREF="python-xlib_toc.html">table of contents</A>.
</BODY>
</HTML>