From 36cf0791ba75ee16dfbedfe437567ec6dd945b8a Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sun, 16 Jul 2017 16:50:57 +0200 Subject: [PATCH] Remove usage of the GDK_SCALE variable * src/gtkutil.c (xg_get_gdk_scale): Remove. (xg_get_default_scrollbar_height) (xg_get_default_scrollbar_width): Pass in a frame to check for scaling. (xg_frame_set_char_size): Use the API for querying scale instead of looking at the GDK_SCALE variable. (xg_get_default_scrollbar_width): Ditto. (xg_get_default_scrollbar_height): Ditto. (xg_update_scrollbar_pos): Ditto. * src/xfns.c (x_set_scroll_bar_default_height): Pass in the frame to get the width. --- src/gtkutil.c | 35 ++++++++--------------------------- src/gtkutil.h | 4 ++-- src/xfns.c | 4 ++-- 3 files changed, 12 insertions(+), 31 deletions(-) diff --git a/src/gtkutil.c b/src/gtkutil.c index 255091559e9..ccc42773217 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -845,21 +845,6 @@ xg_set_geometry (struct frame *f) } } -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; -} - /* Function to handle resize of our frame. As we have a Gtk+ tool bar and a Gtk+ menu bar, we get resize events for the edit part of the frame only. We let Gtk+ deal with the Gtk+ parts. @@ -921,12 +906,8 @@ xg_frame_set_char_size (struct frame *f, int width, int height) /* Do this before resize, as we don't know yet if we will be resized. */ x_clear_under_internal_border (f); - if (FRAME_VISIBLE_P (f)) - { - int scale = xg_get_gdk_scale (); - totalheight /= scale; - totalwidth /= scale; - } + totalheight /= xg_get_scale (f); + totalwidth /= xg_get_scale (f); x_wm_set_size_hint (f, 0, 0); @@ -1352,7 +1333,7 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool user_position) int min_rows = 0, min_cols = 0; int win_gravity = f->win_gravity; Lisp_Object fs_state, frame; - int scale = xg_get_gdk_scale (); + int scale = xg_get_scale (f); /* Don't set size hints during initialization; that apparently leads to a race condition. See the thread at @@ -3668,16 +3649,16 @@ update_theme_scrollbar_height (void) } int -xg_get_default_scrollbar_width (void) +xg_get_default_scrollbar_width (struct frame *f) { - return scroll_bar_width_for_theme * xg_get_gdk_scale (); + return scroll_bar_width_for_theme * xg_get_scale (f); } int -xg_get_default_scrollbar_height (void) +xg_get_default_scrollbar_height (struct frame *f) { /* Apparently there's no default height for themes. */ - return scroll_bar_width_for_theme * xg_get_gdk_scale (); + return scroll_bar_width_for_theme * xg_get_scale (f); } /* Return the scrollbar id for X Window WID on display DPY. @@ -3867,7 +3848,7 @@ xg_update_scrollbar_pos (struct frame *f, GtkWidget *wfixed = f->output_data.x->edit_widget; GtkWidget *wparent = gtk_widget_get_parent (wscroll); gint msl; - int scale = xg_get_gdk_scale (); + int scale = xg_get_scale (f); top /= scale; left /= scale; diff --git a/src/gtkutil.h b/src/gtkutil.h index a252cbef99c..f0f2981418c 100644 --- a/src/gtkutil.h +++ b/src/gtkutil.h @@ -143,8 +143,8 @@ extern void xg_set_toolkit_horizontal_scroll_bar_thumb (struct scroll_bar *bar, int position, int whole); extern bool xg_event_is_for_scrollbar (struct frame *, const XEvent *); -extern int xg_get_default_scrollbar_width (void); -extern int xg_get_default_scrollbar_height (void); +extern int xg_get_default_scrollbar_width (struct frame *f); +extern int xg_get_default_scrollbar_height (struct frame *f); extern void update_frame_tool_bar (struct frame *f); extern void free_frame_tool_bar (struct frame *f); diff --git a/src/xfns.c b/src/xfns.c index d8bf9747191..2f8c9c25416 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -2062,7 +2062,7 @@ x_set_scroll_bar_default_width (struct frame *f) int unit = FRAME_COLUMN_WIDTH (f); #ifdef USE_TOOLKIT_SCROLL_BARS #ifdef USE_GTK - int minw = xg_get_default_scrollbar_width (); + int minw = xg_get_default_scrollbar_width (f); #else int minw = 16; #endif @@ -2083,7 +2083,7 @@ x_set_scroll_bar_default_height (struct frame *f) int height = FRAME_LINE_HEIGHT (f); #ifdef USE_TOOLKIT_SCROLL_BARS #ifdef USE_GTK - int min_height = xg_get_default_scrollbar_height (); + int min_height = xg_get_default_scrollbar_height (f); #else int min_height = 16; #endif -- 2.39.5