X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fscreeninfo.cc;h=368ae982893f4d90dd65ff57daecd662acfbb38c;hb=a91a6f97daeb058f346246081e1c83a788787f9b;hp=535156e99eadb74037d363ce6436779901001f19;hpb=74cfb1b4c115cdb4e05aa823b09d2b5ea9d0d690;p=chaz%2Fopenbox diff --git a/otk/screeninfo.cc b/otk/screeninfo.cc index 535156e9..368ae982 100644 --- a/otk/screeninfo.cc +++ b/otk/screeninfo.cc @@ -1,8 +1,6 @@ // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- -#ifdef HAVE_CONFIG_H -# include "../config.h" -#endif // HAVE_CONFIG_H +#include "config.h" extern "C" { #include @@ -28,52 +26,6 @@ ScreenInfo::ScreenInfo(int num) { _screen)), HeightOfScreen(ScreenOfDisplay(**display, _screen))); - /* - If the default depth is at least 8 we will use that, - otherwise we try to find the largest TrueColor visual. - Preference is given to 24 bit over larger depths if 24 bit is an option. - */ - - _depth = DefaultDepth(**display, _screen); - _visual = DefaultVisual(**display, _screen); - _colormap = DefaultColormap(**display, _screen); - - if (_depth < 8) { - // search for a TrueColor Visual... if we can't find one... - // we will use the default visual for the screen - XVisualInfo vinfo_template, *vinfo_return; - int vinfo_nitems; - int best = -1; - - vinfo_template.screen = _screen; - vinfo_template.c_class = TrueColor; - - vinfo_return = XGetVisualInfo(**display, - VisualScreenMask | VisualClassMask, - &vinfo_template, &vinfo_nitems); - if (vinfo_return) { - int max_depth = 1; - for (int i = 0; i < vinfo_nitems; ++i) { - if (vinfo_return[i].depth > max_depth) { - if (max_depth == 24 && vinfo_return[i].depth > 24) - break; // prefer 24 bit over 32 - max_depth = vinfo_return[i].depth; - best = i; - } - } - if (max_depth < _depth) best = -1; - } - - if (best != -1) { - _depth = vinfo_return[best].depth; - _visual = vinfo_return[best].visual; - _colormap = XCreateColormap(**display, _root_window, _visual, - AllocNone); - } - - XFree(vinfo_return); - } - // get the default display string and strip the screen number string default_string = DisplayString(**display); const string::size_type pos = default_string.rfind("."); @@ -82,7 +34,7 @@ ScreenInfo::ScreenInfo(int num) { _display_string = string("DISPLAY=") + default_string + '.' + itostring(static_cast(_screen)); - + #if 0 //def XINERAMA _xinerama_active = False; @@ -114,12 +66,16 @@ ScreenInfo::ScreenInfo(int num) { // if we can't find any xinerama regions, then we act as if it is not // active, even though it said it was - _xinerama_active = True; + _xinerama_active = true; } } } } +#else + _xinerama_active = false; #endif // XINERAMA + if (!_xinerama_active) + _xinerama_areas.push_back(Rect(Point(0, 0), _size)); } }