// // Screen.hh for pekwm // Copyright © 2003-2009 Claes Nästén // // This program is licensed under the GNU GPL. // See the LICENSE file for more information. // #ifdef HAVE_CONFIG_H #include "config.h" #endif // HAVE_CONFIG_H #ifndef _SCREENINFO_HH_ #define _SCREENINFO_HH_ #include "pekwm.hh" extern "C" { #include #ifdef HAVE_XINERAMA #include #endif // HAVE_XINERAMA extern bool xerrors_ignore; /**< If true, ignore X errors. */ extern unsigned int xerrors_count; /**< Number of X errors occured. */ #ifdef DEBUG #define setXErrorsIgnore(X) xerrors_ignore = (X) #else // ! DEBUG #define setXErrorsIgnore(X) #endif // DEBUG } #include #include #include /** * Class holding information about screen edge allocation. */ class Strut { public: Strut(long l=0, long r=0, long t=0, long b=0, int nhead=-1) : left(l), right(r), top(t), bottom(b), head(nhead) { }; ~Strut(void) { }; public: // member variables long left; /**< Pixels allocated on the left of the head. */ long right; /** _heads; //! Array of head information uint _last_head; //! Last accessed head uint _server_grabs; Time _last_event_time; // information for dobule clicks Window _last_click_id; Time _last_click_time[BUTTON_NO - 1]; Strut _strut; std::list _strut_list; static PScreen *_instance; }; #endif // _SCREENINFO_HH_