<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>