Use gdk_screen_get_primary_monitor on gtk-2.20.1+
Starting with gtk-2.20.0 there is a gdk_screen_get_primary_monitor, which supports querying the primary monitor from xrandr. But due to a sorting bug and lack of heuristics in the fallback path, it isn't really useable. Those bugs are fixed in gtk-2.20.1, so use it when building with gtk-2.20.1+. https://bugzilla.gnome.org/show_bug.cgi?id=608647
This commit is contained in:
parent
74ccdbf3a9
commit
410dfb2da3
@ -1117,7 +1117,14 @@ shell_global_get_primary_monitor (ShellGlobal *global)
|
||||
{
|
||||
GdkScreen *screen = gdk_screen_get_default ();
|
||||
GdkRectangle rect;
|
||||
gint i, primary = 0;
|
||||
gint primary = 0;
|
||||
|
||||
/* gdk_screen_get_primary_monitor is only present in gtk-2.20+
|
||||
* and is in a useable state (supports heuristics and fallback modes)
|
||||
* starting with 2.20.1
|
||||
*/
|
||||
#if !GTK_CHECK_VERSION (2, 20, 1)
|
||||
gint i;
|
||||
gchar *output_name = NULL;
|
||||
gint num_monitors = gdk_screen_get_n_monitors (screen);
|
||||
|
||||
@ -1136,6 +1143,9 @@ shell_global_get_primary_monitor (ShellGlobal *global)
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
primary = gdk_screen_get_primary_monitor (screen);
|
||||
#endif
|
||||
|
||||
gdk_screen_get_monitor_geometry (screen, primary, &rect);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user