There was a thread about this a while ago (not sure where it went, forum search is kind of broken). Basically, it would be really useful to have the ability to change the window style without recreating the window (and with it the OpenGL context). In particular, this allows a very fast "lightweight" fullscreen mode by resizing the window and hiding the border. I posted a working implementation for Windows:
void setStyle(sf::Window& window, sf::Uint32 style)
{
HWND handle = window.getSystemHandle();
DWORD win32Style = WS_VISIBLE;
if (style == sf::Style::None)
{
win32Style |= WS_POPUP;
}
else
{
if (style & sf::Style::Titlebar) win32Style |= WS_CAPTION | WS_MINIMIZEBOX;
if (style & sf::Style::Resize) win32Style |= WS_THICKFRAME | WS_MAXIMIZEBOX;
if (style & sf::Style::Close) win32Style |= WS_SYSMENU;
}
SetWindowLongPtr(handle, GWL_STYLE, win32Style);
// Force changes to take effect
SetWindowPos(handle, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME);
}
I realize it may be more difficult on other platforms (haven't tried it), but it would be worth looking into. Understandably, Laurent already said that it will not make it into 2.0, so I am crossing my fingers for future versions.