openbox/otk_c/display.h
2002-12-21 19:54:15 +00:00

58 lines
1.5 KiB
C

// -*- mode: C; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#ifndef __display_h
#define __display_h
#include <X11/Xlib.h>
#include <Python.h>
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