Public Attributes | List of all members
minxlib::circulate_request Struct Reference

Encapsulation of CirculateRequest events. More...

#include <event.hh>

Public Attributes

const window parent
 Parent of window requesting circulation. More...
const int place
 Window stack placement (PlaceOnTop, PlaceOnBottom). More...
- Public Attributes inherited from minxlib::event
const int type
 Event type as specified in X11/X.h. More...
const unsigned long serial
 Last request number processed by X server. More...
const bool send_event
 True if triggered by SendEvent request. More...
const window target
 Event's target window. More...

Additional Inherited Members

- Public Member Functions inherited from minxlib::event
virtual ~event ()
 Event object clean-up. More...
- Static Public Member Functions inherited from minxlib::event
static boost::shared_ptr< eventcreate (const XEvent &e, Display *d)
 Factory method for creating events. More...
static void pythonize ()
 Export event class to minxlib Python module. More...
- Protected Types inherited from minxlib::event
typedef event *(* cr_func )(const XEvent &, Display *)
 Signature of factory functions for creating events. More...
typedef void(* py_func )()
 Signature of Pythonize functions. More...
typedef factory_map< int,
cr_func, py_func
 Registry of subclass object factories and Pythonize functions. More...
- Protected Member Functions inherited from minxlib::event
 event (const XEvent &e, Display *d, Window w)
 Create a wrapper object for an X event. More...

Detailed Description

Encapsulation of CirculateRequest events.

When an application tries to circulate windows, we can have the X server redirect these requests to Minx to allow the window manager to handle them as it sees fit. These requests are delivered by minxlib to Minx's Python core via instances of this class.

Since Minx is a tiling window manager and window circulation is mostly related to restacking windows, this event type is not very relevant to us.

Member Data Documentation

const window minxlib::circulate_request::parent

Parent of window requesting circulation.

Since window managers are usually only concerned with top-level windows, we check this field to determine how to handle the circulate request. If it is equal to the root window of some screen, the target window is a top-level window that may need to be handled in a special way. Non top-level windows will usually have their circulate requests honoured "as-is."

As mentioned earlier, being a tiling window manager, window circulation and stacking are not things Minx cares about.
const int minxlib::circulate_request::place

Window stack placement (PlaceOnTop, PlaceOnBottom).

This field specifies whether the target window should be placed at the top or the bottom of the stack, which, for Minx (it being a tiling window manager and all), is pretty much useless.