Index: /OpenSceneGraph/trunk/src/osgProducer/ViewerEventHandler.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgProducer/ViewerEventHandler.cpp (revision 3183)
+++ /OpenSceneGraph/trunk/src/osgProducer/ViewerEventHandler.cpp (revision 3311)
@@ -782,11 +782,17 @@
                     if (_firstTimeTogglingFullScreen && rs->isFullScreen())
                     {
+                        unsigned int screenWidth;
+                        unsigned int screenHeight;
+                        rs->getScreenSize( screenWidth, screenHeight );
+                        unsigned int windowWidth  = (unsigned int)((float)screenWidth * 0.625);
+                        unsigned int windowHeight = (unsigned int)((float)windowWidth * 0.75);
+                        int x = (screenWidth - windowWidth) >> 1;
+                        int y = (screenHeight - windowHeight) >> 1;
                     #ifndef WIN32                    
                         rs->useBorder(true);
-                        rs->setWindowRectangle(240,220,800,600);
                     #else                        
                         rs->fullScreen(false);
-                        rs->setWindowRectangle(240,220,800,600);
                     #endif
+                        rs->setWindowRectangle( x, y, windowWidth, windowHeight );
                     }
                     else
