diff options
author | Viktor Odintsev <zakhams@gmail.com> | 2017-07-02 18:32:42 +0300 |
---|---|---|
committer | Viktor Odintsev <ninetls@xfce.org> | 2017-07-02 18:32:42 +0300 |
commit | db7e36617bca979517a6cc6bc3d45f9e85982e56 (patch) | |
tree | 66a8251674c1504123091237ec2e62f7ce24a23d /common | |
parent | 050a52ed2d44b1b5c16af4b85c518c16dd3c51d9 (diff) | |
download | xfwm4-db7e36617bca979517a6cc6bc3d45f9e85982e56.tar.gz |
Remove deprecated gdk_screen_make_display_name
Diffstat (limited to 'common')
-rw-r--r-- | common/xfwm-common.c | 37 | ||||
-rw-r--r-- | common/xfwm-common.h | 2 |
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__ */ |