1
0
Fork 0

Add an 'overrideRedirect' flag to the window configuration section. For

multi-headed Gnome based linux systems, this provides an extra hint that we
really wish to open up our full screen window spanning all physical displays.
This works around a kink in the gnome window manager where it tries to "lie"
to applications about the full screen size assuming most applications don't
wish their windows to span multiple physical displays.
This commit is contained in:
Curtis L. Olson 2014-02-05 10:04:18 -06:00
parent 27c58ddb21
commit d306e94c1c

View file

@ -177,6 +177,7 @@ GraphicsWindow* WindowBuilder::buildWindow(const SGPropertyNode* winNode)
traitsSet |= setFromProperty(traits->screenNum, winNode, "screen"); traitsSet |= setFromProperty(traits->screenNum, winNode, "screen");
const SGPropertyNode* fullscreenNode = winNode->getNode("fullscreen"); const SGPropertyNode* fullscreenNode = winNode->getNode("fullscreen");
const SGPropertyNode* ordNode = winNode->getNode("overrideRedirect");
if (fullscreenNode && fullscreenNode->getBoolValue()) { if (fullscreenNode && fullscreenNode->getBoolValue()) {
// fullscreen mode // fullscreen mode
@ -187,6 +188,8 @@ GraphicsWindow* WindowBuilder::buildWindow(const SGPropertyNode* winNode)
traits->width = width; traits->width = width;
traits->height = height; traits->height = height;
traits->supportsResize = false; traits->supportsResize = false;
bool overrideRedirect = ordNode && ordNode->getBoolValue();
traits->overrideRedirect = overrideRedirect;
traits->x = 0; traits->x = 0;
traits->y = 0; traits->y = 0;
traitsSet = 1; traitsSet = 1;