Basically I currently use
Game::isOpenGLSetup = Game::setupOpenGL();
App.SetFramerateLimit(GlobalSettings::globalSettings.getFrameRateLimit() );
App.ShowMouseCursor(false);
sf::VideoMode desktopVM = sf::VideoMode::GetDesktopMode();
App.SetPosition( (desktopVM.Width/2.0) - (App.GetWidth()/2.0) , (desktopVM.Height/2.0) - (App.GetHeight()/2.0) );
smView = sf::Vector2i(800,600 );
winView = sf::Vector2i(GlobalSettings::globalSettings.getWinWidth() , GlobalSettings::globalSettings.getWinHeight() );
App.Show(true);
Where App.create... gets called in setupOpenGL() but this means that the window shows and then after moves looking a bit ugly.
But if I set it before create then it doesnt do anything.
Im not sure if calling create resets all the values or something