diff options
| author | Lars Ingebrigtsen | 2017-07-16 17:31:54 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2017-07-17 16:58:57 +0200 |
| commit | 552c90edb8cbf673b9a7d07ea39338585fce904a (patch) | |
| tree | 4e03d1874714f975ea5d95e8070bc27e3b6fea16 | |
| parent | b04132754e845d84e7e1b5c8bca581c64200aa64 (diff) | |
| download | emacs-552c90edb8cbf673b9a7d07ea39338585fce904a.tar.gz emacs-552c90edb8cbf673b9a7d07ea39338585fce904a.zip | |
Make scaling work (?) on pre-GTK3 systems
* src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
(xg_get_scale): Use it on non-GTK3 systems.
| -rw-r--r-- | src/gtkutil.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/gtkutil.c b/src/gtkutil.c index 6c9e069001e..dddf8b1c25c 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -204,13 +204,30 @@ xg_display_open (char *display_name, Display **dpy) | |||
| 204 | *dpy = gdpy ? GDK_DISPLAY_XDISPLAY (gdpy) : NULL; | 204 | *dpy = gdpy ? GDK_DISPLAY_XDISPLAY (gdpy) : NULL; |
| 205 | } | 205 | } |
| 206 | 206 | ||
| 207 | static int | ||
| 208 | xg_get_gdk_scale (void) | ||
| 209 | { | ||
| 210 | const char *sscale = getenv ("GDK_SCALE"); | ||
| 211 | |||
| 212 | if (sscale) | ||
| 213 | { | ||
| 214 | long scale = atol (sscale); | ||
| 215 | if (0 < scale) | ||
| 216 | return min (scale, INT_MAX); | ||
| 217 | } | ||
| 218 | |||
| 219 | return 1; | ||
| 220 | } | ||
| 221 | |||
| 207 | /* Scaling/HiDPI functions. */ | 222 | /* Scaling/HiDPI functions. */ |
| 208 | int | 223 | int |
| 209 | xg_get_scale (struct frame *f) | 224 | xg_get_scale (struct frame *f) |
| 210 | { | 225 | { |
| 226 | #ifdef HAVE_GTK3 | ||
| 211 | if (FRAME_GTK_WIDGET (f)) | 227 | if (FRAME_GTK_WIDGET (f)) |
| 212 | return gtk_widget_get_scale_factor (FRAME_GTK_WIDGET (f)); | 228 | return gtk_widget_get_scale_factor (FRAME_GTK_WIDGET (f)); |
| 213 | return 1; | 229 | #endif |
| 230 | return xg_get_gdk_scale (); | ||
| 214 | } | 231 | } |
| 215 | 232 | ||
| 216 | /* Close display DPY. */ | 233 | /* Close display DPY. */ |