diff --git a/common/xfwm-common.c b/common/xfwm-common.c
index 04f45e0dcf3db47e1da8f5bcdb04f0fb58d54852..740451a96ba00db85149ee5cd7114ed7f8d3940c 100644
--- a/common/xfwm-common.c
+++ b/common/xfwm-common.c
@@ -125,6 +125,24 @@ xfwm_get_primary_monitor_geometry (GdkScreen    *screen,
 
 
 
+gint
+xfwm_get_primary_refresh_rate (GdkScreen *screen)
+{
+#if GTK_CHECK_VERSION(3, 22, 0)
+  GdkDisplay *display;
+  GdkMonitor *monitor;
+
+  display = gdk_screen_get_display (screen);
+  monitor = gdk_display_get_primary_monitor (display);
+
+  return gdk_monitor_get_refresh_rate (monitor) / 1000;
+#else
+  return 60;
+#endif
+}
+
+
+
 gint
 xfwm_get_n_monitors (GdkScreen *screen)
 {
diff --git a/common/xfwm-common.h b/common/xfwm-common.h
index 3cd2b62796ee1661a641ed09f4e62871393e149d..667caff3ac654e161aec43040aaf269f379bbefa 100644
--- a/common/xfwm-common.h
+++ b/common/xfwm-common.h
@@ -37,6 +37,8 @@ void              xfwm_get_monitor_geometry             (GdkScreen    *screen,
 void              xfwm_get_primary_monitor_geometry     (GdkScreen    *screen,
                                                          GdkRectangle *geometry);
 
+gint              xfwm_get_primary_refresh_rate         (GdkScreen    *screen);
+
 gint              xfwm_get_n_monitors                   (GdkScreen    *screen);
 
 gchar            *xfwm_make_display_name                (GdkScreen    *screen);