Added x11 support for monitor PnP detection.

This commit is contained in:
Marcel Metz 2012-01-30 16:21:21 +01:00
parent df64773a44
commit a69974403e
2 changed files with 11 additions and 10 deletions

View File

@ -1366,6 +1366,7 @@ static void processSingleEvent(void)
{ {
// Show XRandR that we really care // Show XRandR that we really care
XRRUpdateConfiguration(&event); XRRUpdateConfiguration(&event);
_glfwRefreshMonitors();
break; break;
} }
} }
@ -1423,18 +1424,18 @@ int _glfwPlatformOpenWindow(_GLFWwindow* window,
if (!createWindow(window, wndconfig)) if (!createWindow(window, wndconfig))
return GL_FALSE; return GL_FALSE;
if (wndconfig->mode == GLFW_FULLSCREEN)
{
#if defined(_GLFW_HAS_XRANDR) #if defined(_GLFW_HAS_XRANDR)
// Request screen change notifications // Request screen change notifications
if (_glfwLibrary.X11.RandR.available) if (_glfwLibrary.X11.RandR.available)
{ {
XRRSelectInput(_glfwLibrary.X11.display, XRRSelectInput(_glfwLibrary.X11.display,
window->X11.handle, window->X11.handle,
RRScreenChangeNotifyMask); RRScreenChangeNotifyMask);
} }
#endif /*_GLFW_HAS_XRANDR*/ #endif /*_GLFW_HAS_XRANDR*/
if (wndconfig->mode == GLFW_FULLSCREEN)
{
enterFullscreenMode(window); enterFullscreenMode(window);
} }

View File

@ -345,7 +345,7 @@ static void char_callback(GLFWwindow window, int character)
void monitor_callback(GLFWmonitor monitor, int event) void monitor_callback(GLFWmonitor monitor, int event)
{ {
printf("%08x at %0.3f: Monitor %s %s", printf("%08x at %0.3f: Monitor %s %s\n",
counter++, counter++,
glfwGetTime(), glfwGetTime(),
glfwGetMonitorString(monitor, GLFW_MONITOR_NAME), glfwGetMonitorString(monitor, GLFW_MONITOR_NAME),