summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-03-23 20:43:28 +0200
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-03-23 20:59:18 +0200
commitfabd75a3655fdfee8f4fc8436c105f85629a607f (patch)
tree844398d8ea9683f3eaee7980aabbbf89216cf15c
parent1cf06d8270dfeb6aad3898a9eb24b3e577c8ded9 (diff)
downloadmetacity-fabd75a3655fdfee8f4fc8436c105f85629a607f.tar.gz
libmetacity: add get_window_scaling_factor
Based on mutter commit: https://git.gnome.org/browse/mutter/commit/?id=57c1078ee742d9f01e80e7fe05c88adfec4b4ac3
-rw-r--r--libmetacity/meta-theme-impl-private.h3
-rw-r--r--libmetacity/meta-theme-impl.c16
2 files changed, 19 insertions, 0 deletions
diff --git a/libmetacity/meta-theme-impl-private.h b/libmetacity/meta-theme-impl-private.h
index e31a9486..1ec87b4c 100644
--- a/libmetacity/meta-theme-impl-private.h
+++ b/libmetacity/meta-theme-impl-private.h
@@ -98,6 +98,9 @@ G_GNUC_INTERNAL
void scale_border (GtkBorder *border,
double factor);
+G_GNUC_INTERNAL
+int get_window_scaling_factor (void);
+
G_END_DECLS
#endif
diff --git a/libmetacity/meta-theme-impl.c b/libmetacity/meta-theme-impl.c
index b16d5ead..1002adfc 100644
--- a/libmetacity/meta-theme-impl.c
+++ b/libmetacity/meta-theme-impl.c
@@ -308,3 +308,19 @@ scale_border (GtkBorder *border,
border->top *= factor;
border->bottom *= factor;
}
+
+int
+get_window_scaling_factor (void)
+{
+ GdkScreen *screen;
+ GValue value = G_VALUE_INIT;
+
+ screen = gdk_screen_get_default ();
+
+ g_value_init (&value, G_TYPE_INT);
+
+ if (gdk_screen_get_setting (screen, "gdk-window-scaling-factor", &value))
+ return g_value_get_int (&value);
+ else
+ return 1;
+}