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

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 05 Jun 2011 19:09:02 +0000

Your bug report

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

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
8505: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8505
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#8505: 24.0.50; frame grows horizontally if scroll-bar-mode is non-nil
From: Jan Djärv <[email-masked]>
To: Daiki Ueno <[email-masked]>
Cc: [email-masked]
Date: Sun, 05 Jun 2011 21:08:29 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello.

I've checked in a fix.  But it occured to me that the wrong thing will happen 
if the theme is changed while Emacs runs, and the theme changed to has the 
wider scroll bar.  Can you change theme in Gnome 3?

	Jan D.

Daiki Ueno skrev 2011-06-03 11.38:
> (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,

Subject: 24.0.50; frame grows horizontally if scroll-bar-mode is non-nil
From: Daiki Ueno <[email-masked]>
To: [email-masked]
Date: Fri, 15 Apr 2011 15:35:28 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

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.

If I build emacs with ./configure --with-x-toolkit=gtk (not gtk3), or
run emacs -Q --eval '(scroll-bar-mode -1)', the problem does not occur.

In GNU Emacs 24.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.0.8)
 of 2011-04-15 on localhost.localdomain
Windowing system distributor `Fedora Project', version 11.0.11000000
configured using `configure  '--enable-maintainer-mode' '--with-x-toolkit=gtk3' 'CFLAGS=-Wall -g -O0''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Group

Minor modes in effect:
  gnus-topic-mode: t
  gnus-undo-mode: t
  which-function-mode: t
  recentf-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<return> y L C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p 
C-p C-p <escape> g <help-echo> <down-mouse-1> <mouse-movement> 
<mouse-1> <escape> x r e p o r t SPC e m a <tab> <
return>

Recent messages:
No more unread newsgroups
No Gnus is good news

Load-path shadows:
~/.emacs.d/custom hides /usr/local/share/emacs/24.0.50/lisp/custom
~/.emacs.d/socks hides /usr/local/share/emacs/24.0.50/lisp/net/socks

Features:
(shadow sort gnus-cite flyspell ispell mail-extr emacsbug url-util
url-parse url-vars rot13 disp-table gnus-topic nndraft nnmh epa-file epa
derived epg utf-7 rfc2104 auth-source eieio byte-opt bytecomp
byte-compile cconv assoc network-stream starttls nnimap parse-time tls
utf7 netrc nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual
gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime
password-cache dig mailcap nntp gnus-cache nnir gnus-sum macroexp
gnus-group gnus-undo nnmail mail-source nnoo gnus-start gnus-spec
gnus-int gnus-range message sendmail regexp-opt format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems
nnheader gnus-util time-date mail-utils mm-util mail-prsvr uniquify
advice help-fns advice-preload deal which-func imenu recentf tree-widget
wid-edit easymenu iswitchb cus-start cus-load tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer loaddefs button faces cus-face files text-properties
overlay md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)