summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorViktor Odintsev <zakhams@gmail.com>2017-07-02 17:03:27 +0300
committerViktor Odintsev <ninetls@xfce.org>2017-07-02 17:03:27 +0300
commit050a52ed2d44b1b5c16af4b85c518c16dd3c51d9 (patch)
tree450a39579a8e56b2c7d5109e866694f96922be6d /common
parent5b10f726c28c68d0ebc972754b08f5ea199d36b1 (diff)
downloadxfwm4-050a52ed2d44b1b5c16af4b85c518c16dd3c51d9.tar.gz
Handle GDK display/screen/monitor deprecations
Diffstat (limited to 'common')
-rw-r--r--common/xfwm-common.c51
-rw-r--r--common/xfwm-common.h9
2 files changed, 60 insertions, 0 deletions
diff --git a/common/xfwm-common.c b/common/xfwm-common.c
index b6c9ae25f..a89fc9307 100644
--- a/common/xfwm-common.c
+++ b/common/xfwm-common.c
@@ -72,3 +72,54 @@ xfwm_get_screen_dimensions (gint *width, gint *height)
*height = gdk_screen_height ();
#endif
}
+
+
+
+void
+xfwm_get_monitor_geometry (GdkScreen *screen,
+ gint monitor_num,
+ GdkRectangle *geometry)
+{
+#if GTK_CHECK_VERSION(3, 22, 0)
+ GdkDisplay *display;
+ GdkMonitor *monitor;
+
+ display = gdk_screen_get_display (screen);
+ monitor = gdk_display_get_monitor (display, monitor_num);
+ gdk_monitor_get_geometry (monitor, geometry);
+#else
+ gdk_screen_get_monitor_geometry (screen, monitor_num, geometry);
+#endif
+}
+
+
+
+void
+xfwm_get_primary_monitor_geometry (GdkScreen *screen,
+ GdkRectangle *geometry)
+{
+#if GTK_CHECK_VERSION(3, 22, 0)
+ GdkDisplay *display;
+ GdkMonitor *monitor;
+
+ display = gdk_screen_get_display (screen);
+ monitor = gdk_display_get_primary_monitor (display);
+ gdk_monitor_get_geometry (monitor, geometry);
+#else
+ gdk_screen_get_monitor_geometry (screen,
+ gdk_screen_get_primary_monitor (screen),
+ geometry);
+#endif
+}
+
+
+
+gint
+xfwm_get_n_monitors (GdkScreen *screen)
+{
+#if GTK_CHECK_VERSION(3, 22, 0)
+ return gdk_display_get_n_monitors (gdk_screen_get_display (screen));
+#else
+ return gdk_screen_get_n_monitors (screen);
+#endif
+}
diff --git a/common/xfwm-common.h b/common/xfwm-common.h
index eb2ed4182..742767fb5 100644
--- a/common/xfwm-common.h
+++ b/common/xfwm-common.h
@@ -29,4 +29,13 @@ void xfwm_widget_reparent (GtkWidget *widget,
void xfwm_get_screen_dimensions (gint *width,
gint *height);
+void xfwm_get_monitor_geometry (GdkScreen *screen,
+ gint monitor_num,
+ GdkRectangle *geometry);
+
+void xfwm_get_primary_monitor_geometry (GdkScreen *screen,
+ GdkRectangle *geometry);
+
+gint xfwm_get_n_monitors (GdkScreen *screen);
+
#endif /* !__COMMON_H__ */