/* * xprDisplayInit * Find number of CoreGraphics displays and initialize Xplugin. */ static void xprDisplayInit(void) { CGDisplayCount displayCount; ErrorF("Display mode: Rootless Quartz -- Xplugin implementation\n"); CGGetActiveDisplayList(0, NULL, &displayCount); /* With PseudoramiX, the X server only sees one screen; only PseudoramiX itself knows about all of the screens. */ if (noPseudoramiXExtension) darwinScreensFound = displayCount; else darwinScreensFound = 1; if (xp_init(XP_IN_BACKGROUND) != Success) { FatalError("Could not initialize the Xplugin library."); } xp_select_events(XP_EVENT_DISPLAY_CHANGED | XP_EVENT_WINDOW_STATE_CHANGED | XP_EVENT_WINDOW_MOVED | XP_EVENT_SURFACE_CHANGED | XP_EVENT_SURFACE_DESTROYED, eventHandler, NULL); AppleDRIExtensionInit(); xprAppleWMInit(); }
/* * xprDisplayInit * Find number of CoreGraphics displays and initialize Xplugin. */ static void xprDisplayInit(void) { CGDisplayCount displayCount; DEBUG_LOG(""); CGGetActiveDisplayList(0, NULL, &displayCount); /* With PseudoramiX, the X server only sees one screen; only PseudoramiX itself knows about all of the screens. */ if (noPseudoramiXExtension) darwinScreensFound = displayCount; else darwinScreensFound = 1; if (xp_init(XP_BACKGROUND_EVENTS | XP_NO_DEFERRED_UPDATES) != Success) FatalError("Could not initialize the Xplugin library."); xp_select_events(XP_EVENT_DISPLAY_CHANGED | XP_EVENT_WINDOW_STATE_CHANGED | XP_EVENT_WINDOW_MOVED #ifdef XP_EVENT_SPACE_CHANGED | XP_EVENT_SPACE_CHANGED #endif | XP_EVENT_SURFACE_CHANGED | XP_EVENT_SURFACE_DESTROYED, eventHandler, NULL); AppleDRIExtensionInit(); xprAppleWMInit(); XQuartzIsRootless = XQuartzRootlessDefault; if (!XQuartzIsRootless) RootlessHideAllWindows(); }