XQuartz: RandR: Add RandR modes for the primary display in multi-monitor configs
We now support using RandR to set the resolution of the primary display (and place a shielding window on other displays) in multi-monitor configurations. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This commit is contained in:
parent
968652983f
commit
8cf3348e90
|
@ -413,16 +413,6 @@ static Bool QuartzRandRGetInfo (ScreenPtr pScreen, Rotation *rotations) {
|
||||||
if (pQuartzScreen->displayCount == 0)
|
if (pQuartzScreen->displayCount == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (pQuartzScreen->displayCount > 1) {
|
|
||||||
/* RandR operations are not well-defined for an X11 screen spanning
|
|
||||||
multiple CG displays. Create two entries for the current virtual
|
|
||||||
resolution including/excluding the menu bar. */
|
|
||||||
|
|
||||||
QuartzRandRRegisterMode(pScreen, &pQuartzScreen->rootlessMode);
|
|
||||||
QuartzRandRRegisterMode(pScreen, &pQuartzScreen->fullscreenMode);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return QuartzRandREnumerateModes(pScreen, QuartzRandRRegisterModeCallback, NULL);
|
return QuartzRandREnumerateModes(pScreen, QuartzRandRRegisterModeCallback, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -196,6 +196,13 @@ xprAddPseudoramiXScreens(int *x, int *y, int *width, int *height, ScreenPtr pScr
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If the displays are captured, we are in a RandR game mode
|
||||||
|
* on the primary display, so we only want to include the first
|
||||||
|
* display. The others are covered by the shield window.
|
||||||
|
*/
|
||||||
|
if (CGDisplayIsCaptured(kCGDirectMainDisplay))
|
||||||
|
displayCount = 1;
|
||||||
|
|
||||||
displayList = malloc(displayCount * sizeof(CGDirectDisplayID));
|
displayList = malloc(displayCount * sizeof(CGDirectDisplayID));
|
||||||
if(!displayList)
|
if(!displayList)
|
||||||
FatalError("Unable to allocate memory for list of displays.\n");
|
FatalError("Unable to allocate memory for list of displays.\n");
|
||||||
|
|
Loading…
Reference in New Issue