]> git.eshelyaron.com Git - emacs.git/commitdiff
Make scaling work (?) on pre-GTK3 systems
authorLars Ingebrigtsen <larsi@gnus.org>
Sun, 16 Jul 2017 15:31:54 +0000 (17:31 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 17 Jul 2017 14:58:57 +0000 (16:58 +0200)
* src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
(xg_get_scale): Use it on non-GTK3 systems.

src/gtkutil.c

index 6c9e069001ea87f6b30cca268d4746deef1e41dd..dddf8b1c25c54a76649ab68068f2db405c19d5ae 100644 (file)
@@ -204,13 +204,30 @@ xg_display_open (char *display_name, Display **dpy)
   *dpy = gdpy ? GDK_DISPLAY_XDISPLAY (gdpy) : NULL;
 }
 
+static int
+xg_get_gdk_scale (void)
+{
+  const char *sscale = getenv ("GDK_SCALE");
+
+  if (sscale)
+    {
+      long scale = atol (sscale);
+      if (0 < scale)
+       return min (scale, INT_MAX);
+    }
+
+  return 1;
+}
+
 /* Scaling/HiDPI functions. */
 int
 xg_get_scale (struct frame *f)
 {
+#ifdef HAVE_GTK3
   if (FRAME_GTK_WIDGET (f))
     return gtk_widget_get_scale_factor (FRAME_GTK_WIDGET (f));
-  return 1;
+#endif
+  return xg_get_gdk_scale ();
 }
 
 /* Close display DPY.  */