summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorViktor Odintsev <zakhams@gmail.com>2017-07-02 18:32:42 +0300
committerViktor Odintsev <ninetls@xfce.org>2017-07-02 18:32:42 +0300
commitdb7e36617bca979517a6cc6bc3d45f9e85982e56 (patch)
tree66a8251674c1504123091237ec2e62f7ce24a23d /common
parent050a52ed2d44b1b5c16af4b85c518c16dd3c51d9 (diff)
downloadxfwm4-db7e36617bca979517a6cc6bc3d45f9e85982e56.tar.gz
Remove deprecated gdk_screen_make_display_name
Diffstat (limited to 'common')
-rw-r--r--common/xfwm-common.c37
-rw-r--r--common/xfwm-common.h2
2 files changed, 39 insertions, 0 deletions
diff --git a/common/xfwm-common.c b/common/xfwm-common.c
index a89fc9307..fd698465e 100644
--- a/common/xfwm-common.c
+++ b/common/xfwm-common.c
@@ -123,3 +123,40 @@ xfwm_get_n_monitors (GdkScreen *screen)
return gdk_screen_get_n_monitors (screen);
#endif
}
+
+
+
+static gchar *
+substitute_screen_number (const gchar *display_name,
+ gint screen_number)
+{
+ GString *str;
+ gchar *p;
+
+ str = g_string_new (display_name);
+
+ p = strrchr (str->str, '.');
+ if (p != NULL && p > strchr (str->str, ':'))
+ {
+ /* remove screen number from string */
+ g_string_truncate (str, p - str->str);
+ }
+
+ g_string_append_printf (str, ".%d", screen_number);
+
+ return g_string_free (str, FALSE);
+}
+
+
+
+gchar *
+xfwm_make_display_name (GdkScreen *screen)
+{
+ const gchar *name;
+ gint number;
+
+ name = gdk_display_get_name (gdk_screen_get_display (screen));
+ number = gdk_x11_screen_get_screen_number (screen);
+
+ return substitute_screen_number (name, number);
+}
diff --git a/common/xfwm-common.h b/common/xfwm-common.h
index 742767fb5..e2e8c97b4 100644
--- a/common/xfwm-common.h
+++ b/common/xfwm-common.h
@@ -38,4 +38,6 @@ void xfwm_get_primary_monitor_geometry (GdkScreen *screen,
gint xfwm_get_n_monitors (GdkScreen *screen);
+gchar *xfwm_make_display_name (GdkScreen *screen);
+
#endif /* !__COMMON_H__ */