[GdkScreenX11] Add heuristic for pre XRandR 1.3 drivers

Currently gdk_screen_get_primary_monitor just returns the first monitor,
in this case but both the panel and now gnome-shell use an additional
heuristic to prefer LVDS as primary if present.

Move this heuristic to gdk_screen_get_primary_monitor to avoid duplicating
it all over the place.

The fallback heuristic is also used when no primary output is set.

https://bugzilla.gnome.org/show_bug.cgi?id=614894
This commit is contained in:
Adel Gadllah 2010-04-06 02:36:53 +02:00
parent e13ab6c53a
commit 5651cbc4b4

View File

@ -771,7 +771,7 @@ init_randr13 (GdkScreen *screen)
XRROutputInfo *output =
XRRGetOutputInfo (dpy, resources, resources->outputs[i]);
if (resources->outputs[i] == primary_output)
if (primary_output != None && resources->outputs[i] == primary_output)
{
screen_x11->primary_monitor = i;
}
@ -785,6 +785,12 @@ init_randr13 (GdkScreen *screen)
continue;
}
/* No RandR1.3+ available or no primary set, fall back to prefer LVDS as primary if present */
if (g_ascii_strncasecmp (output->name, "LVDS", 4) == 0)
{
screen_x11->primary_monitor = i;
}
if (output->crtc)
{
GdkX11Monitor monitor;