// -*- mode: C; indent-tabs-mode: nil; -*- #ifndef __display_h #define __display_h #include #include struct OtkScreenInfo; struct OtkDisplay; extern struct OtkDisplay *OBDisplay; // the global display XXX: move this to app.h and ob.h? extern PyTypeObject OtkDisplay_Type; typedef struct OtkDisplay { PyObject_HEAD //! The X display Display *display; //! Does the display have the Shape extention? Bool shape; //! Base for events for the Shape extention int shape_event_basep; //! Does the display have the Xinerama extention? Bool xinerama; //! Base for events for the Xinerama extention int xinerama_event_basep; //! A list of all possible combinations of keyboard lock masks unsigned int mask_list[8]; //! The number of requested grabs on the display int grab_count; //! A list of information for all screens on the display PyListObject *screenInfoList; } OtkDisplay; //! Opens the X display, and sets the global OBDisplay variable /*! @see OBDisplay::display @param name The name of the X display to open. If it is null, the DISPLAY environment variable is used instead. */ void OtkDisplay_Initialize(char *name); //! Grabs the display void OtkDisplay_Grab(OtkDisplay *self); //! Ungrabs the display void OtkDisplay_Ungrab(OtkDisplay *self); //! Get the screen info for a specific screen struct OtkScreenInfo *OtkDisplay_ScreenInfo(OtkDisplay *self, int num); #endif // __display_h