Subject: Re: bug#8505: 24.0.50; frame grows horizontally if scroll-bar-mode is non-nil

From: Daiki Ueno <[email-masked]>
Date: Fri, 03 Jun 2011 18:38:35 +0900

(Cc'ed Jan)

Daiki Ueno <[email-masked]> writes:

> If I build emacs with ./configure --with-x-toolkit=gtk3 and start it
> with emacs -Q, the width of the Emacs window is growing with the lapse
> of time.

OK, I finally got it.  This can be reproduced only with specific gtk-3.0
themes (including GNOME3 default), where some widget properties have
larger values than Emacs expects.

Currently Emacs expects the scrollbar width at most 16 pixels.

xfns.c:104442:

 void
 x_set_scroll_bar_default_width (struct frame *f)
 {
   int wid = FRAME_COLUMN_WIDTH (f);

 #ifdef USE_TOOLKIT_SCROLL_BARS
   /* A minimum width of 14 doesn't look good for toolkit scroll bars.  */
   int width = 16 + 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM;

However, gnome-themes-standard wants to render scrollbars in 22-pixel width.

http://git.gnome.org/browse/gnome-themes-standard/tree/themes/Adwaita/gtk-3.0/gtk-widgets.css#n511

 .scrollbar {
     background-image: none;
     border-style: solid;
     -GtkRange-trough-border: 2;
     -GtkRange-arrow-scaling: 0.444;
     -GtkRange-slider-width: 18;
     -GtkRange-stepper-size: 18;

22 pixels = slider-width(18) + trough-border(2) * 2

I confirmed that my problem is fixed if I increase the default width to
22.

Since it happens with GNOME3 default theme, I would appreciate if it
will be fixed before the pretest, though I don't know how easy to let
Emacs to take account of GTK theme properties.

Regards,
-- 
Daiki Ueno