* bug#1036: 23.0.60; GTK+ scroll-bars don't show relation of viewport to whole buffer
@ 2008-09-26 21:05 Peter Dyballa
2008-09-28 1:17 ` Stefan Monnier
2012-12-02 13:07 ` bug#1036: [PATCH] * xterm.c (gtk-scroll-bar-adjust-thumb-portion): New variable to determine whether gtk scroll bar thumb size should be adjusted or not. * gtkutil.c (gtk-scroll-bar-adjust-thumb-portion): Use variable Adam Sjøgren
0 siblings, 2 replies; 11+ messages in thread
From: Peter Dyballa @ 2008-09-26 21:05 UTC (permalink / raw)
To: emacs-pretest-bug
[-- Attachment #1: Type: text/plain, Size: 990 bytes --]
Hello!
I am using usually the Xaw3d toolkit, now I compiled a "default"
Emacs. Just choose "Send Bug Report…" from the Help menu and you can
see that GTK is lying. The *Bug Help* buffer has six or seven lines
of text and its size is 20 or 30 lines. And was does the scroll-bar
show? The slider occupies two thirds of the scroll-bar area – are
there some invisible ten or 15 more lines anywhere? In the Xaw3d
version the slider occupies the whole scroll-bar. *That's* correct.
Look at this example! In *shell* buffer seven out of 24 lines are
used up. The slider in the scroll-bar obviously does not represent
anything. In the Xaw3d version the slider takes the whole scroll-bar
because there is not yet any hidden text.
In the lower buffer the file Kanäle is partially shown. The red block
cursor stands on line #7 of 62 lines – why is the whole scroll-bar
filled with the slider? In Xaw3d I have a small slider in a few times
larger scroll-bar.
[-- Attachment #2: GTK Emacs windowmaker.jpg --]
[-- Type: image/jpeg, Size: 31435 bytes --]
[-- Attachment #3: Type: text/plain, Size: 2094 bytes --]
In GNU Emacs 23.0.60.1 (powerpc-apple-darwin8.11.0, GTK+ Version
2.12.11)
of 2008-09-26 on localhost
Windowing system distributor `The XFree86 Project, Inc', version
11.0.40400000
configured using `configure '--without-sound' '--without-pop' '--
with-dbus' '--with-libotf' '--enable-locallisppath=/Library/
Application Support/Emacs/calendar23:/Library/Application Support/
Emacs/caml:/Library/Application Support/Emacs:/sw/share/emacs21/site-
lisp/elib' 'PKG_CONFIG_PATH=/sw/lib/xft2/lib/pkgconfig:/sw/lib/
fontconfig2/lib/pkgconfig:/sw/lib/freetype219/lib/pkgconfig:/sw/lib/
pango-ft219/lib/pkgconfig:/sw/lib/qt4-x11/lib/pkgconfig:/sw/lib/
system-openssl/lib/pkgconfig:/sw/lib/pkgconfig:/sw/share/pkgconfig:/
usr/X11R6/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig'
'CFLAGS=-Wno-pointer-sign -bind_at_load -H -pipe -fPIC -mcpu=7450 -
mtune=7450 -fast -mpim-altivec -ftree-vectorize -foptimize-register-
move -freorder-blocks -freorder-blocks-and-partition -fthread-jumps -
fpeephole -fno-crossjumping' 'CPPFLAGS=-no-cpp-precomp' 'LDFLAGS=-
bind_at_load -dead_strip -multiply_defined suppress -L/sw/lib/ncurses''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: de_DE.UTF-8
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: de_DE.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default-enable-multibyte-characters: t
Major mode: Lisp Interaction
Minor modes in effect:
show-paren-mode: t
display-time-mode: t
tooltip-mode: t
tool-bar-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
--
Greetings
Pete
Klingon function calls do not have "parameters" - they have
"arguments"- and they ALWAYS WIN THEM.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#1036: 23.0.60; GTK+ scroll-bars don't show relation of viewport to whole buffer
2008-09-26 21:05 bug#1036: 23.0.60; GTK+ scroll-bars don't show relation of viewport to whole buffer Peter Dyballa
@ 2008-09-28 1:17 ` Stefan Monnier
2012-12-02 13:07 ` bug#1036: [PATCH] * xterm.c (gtk-scroll-bar-adjust-thumb-portion): New variable to determine whether gtk scroll bar thumb size should be adjusted or not. * gtkutil.c (gtk-scroll-bar-adjust-thumb-portion): Use variable Adam Sjøgren
1 sibling, 0 replies; 11+ messages in thread
From: Stefan Monnier @ 2008-09-28 1:17 UTC (permalink / raw)
To: Peter Dyballa; +Cc: 1036
severity 1036 wishitem
thanks
> 20 or 30 lines. And was does the scroll-bar show? The slider occupies two
> thirds of the scroll-bar area – are there some invisible ten or 15 more
> lines anywhere? In the Xaw3d version the slider occupies the whole
> scroll-bar. *That's* correct.
Known problem. The only known solution involves fixing Gtk's code,
which requires first fixing Gtk developer's mindset.
Stefan
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#1036: [PATCH] * xterm.c (gtk-scroll-bar-adjust-thumb-portion): New variable to determine whether gtk scroll bar thumb size should be adjusted or not. * gtkutil.c (gtk-scroll-bar-adjust-thumb-portion): Use variable.
2008-09-26 21:05 bug#1036: 23.0.60; GTK+ scroll-bars don't show relation of viewport to whole buffer Peter Dyballa
2008-09-28 1:17 ` Stefan Monnier
@ 2012-12-02 13:07 ` Adam Sjøgren
2012-12-02 20:51 ` Jan Djärv
1 sibling, 1 reply; 11+ messages in thread
From: Adam Sjøgren @ 2012-12-02 13:07 UTC (permalink / raw)
To: 1036
Seeing that there is no correct solution in sight, maybe it would be
possible to solve the problem like this.
Summary of problem and links to discussions in the previous decade, see
here: http://koldfront.dk/archive/2012/05/27-181826.html
---
src/ChangeLog | 7 +++++++
src/gtkutil.c | 18 +++++++++++-------
src/xterm.c | 10 ++++++++++
3 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 80b9b1e..b95cf17 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
+2012-12-02 Adam Sjøgren <asjo@koldfront.dk>
+
+ * xterm.c (gtk-scroll-bar-adjust-thumb-portion): New variable to
+ determine whether gtk scroll bar thumb size should be adjusted or
+ not (Bug#1036).
+ * gtkutil.c (gtk-scroll-bar-adjust-thumb-portion): Use variable.
+
2012-12-01 Paul Eggert <eggert@cs.ucla.edu>
* xterm.c (x_draw_image_relief): Remove unused locals (Bug#10500).
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 4367b53..5259fe7 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -3765,13 +3765,17 @@ xg_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar,
adj = gtk_range_get_adjustment (GTK_RANGE (wscroll));
- /* We do the same as for MOTIF in xterm.c, assume 30 chars per line
- rather than the real portion value. This makes the thumb less likely
- to resize and that looks better. */
- portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
- /* When the thumb is at the bottom, position == whole.
- So we need to increase `whole' to make space for the thumb. */
- whole += portion;
+ if (gtk_scroll_bar_adjust_thumb_portion_p)
+ {
+ /* We do the same as for MOTIF in xterm.c, use 30 chars per
+ line rather than the real portion value. This makes the
+ thumb less likely to resize and that looks better. */
+ portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
+
+ /* When the thumb is at the bottom, position == whole.
+ So we need to increase `whole' to make space for the thumb. */
+ whole += portion;
+ }
if (whole <= 0)
top = 0, shown = 1;
diff --git a/src/xterm.c b/src/xterm.c
index bbcff8c..64f069d 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -10791,6 +10791,16 @@ With MS Windows or Nextstep, the value is t. */);
Vx_toolkit_scroll_bars = Qnil;
#endif
+#ifdef USE_GTK
+ DEFVAR_BOOL ("gtk-scroll-bar-adjust-thumb-portion",
+ gtk_scroll_bar_adjust_thumb_portion_p,
+ doc: /* Non-nil means adjust the thumb in the
+gtk scroll bar to be less likely to resize which looks better.
+Set to nil if you want the thumb to fill the whole scroll bar
+when the entire buffer is visible. */);
+ gtk_scroll_bar_adjust_thumb_portion_p = 1;
+#endif
+
staticpro (&last_mouse_motion_frame);
last_mouse_motion_frame = Qnil;
--
1.7.10.4
--
"It's beautiful! And I certainly hope Adam Sjøgren
my parents hate this album!" asjo@koldfront.dk
^ permalink raw reply related [flat|nested] 11+ messages in thread
* bug#1036: [PATCH] * xterm.c (gtk-scroll-bar-adjust-thumb-portion): New variable to determine whether gtk scroll bar thumb size should be adjusted or not. * gtkutil.c (gtk-scroll-bar-adjust-thumb-portion): Use variable.
2012-12-02 13:07 ` bug#1036: [PATCH] * xterm.c (gtk-scroll-bar-adjust-thumb-portion): New variable to determine whether gtk scroll bar thumb size should be adjusted or not. * gtkutil.c (gtk-scroll-bar-adjust-thumb-portion): Use variable Adam Sjøgren
@ 2012-12-02 20:51 ` Jan Djärv
2012-12-03 17:22 ` Stefan Monnier
0 siblings, 1 reply; 11+ messages in thread
From: Jan Djärv @ 2012-12-02 20:51 UTC (permalink / raw)
To: Adam Sjøgren; +Cc: 1036
Hello.
If we are to provide a user option for this, we should do it for all toolkits.
Anyway, the code to do this has always been trivial, its more a policy thing.
Jan D.
2 dec 2012 kl. 14:07 skrev asjo@koldfront.dk (Adam Sjøgren):
> Seeing that there is no correct solution in sight, maybe it would be
> possible to solve the problem like this.
>
> Summary of problem and links to discussions in the previous decade, see
> here: http://koldfront.dk/archive/2012/05/27-181826.html
>
> ---
> src/ChangeLog | 7 +++++++
> src/gtkutil.c | 18 +++++++++++-------
> src/xterm.c | 10 ++++++++++
> 3 files changed, 28 insertions(+), 7 deletions(-)
>
> diff --git a/src/ChangeLog b/src/ChangeLog
> index 80b9b1e..b95cf17 100644
> --- a/src/ChangeLog
> +++ b/src/ChangeLog
> @@ -1,3 +1,10 @@
> +2012-12-02 Adam Sjøgren <asjo@koldfront.dk>
> +
> + * xterm.c (gtk-scroll-bar-adjust-thumb-portion): New variable to
> + determine whether gtk scroll bar thumb size should be adjusted or
> + not (Bug#1036).
> + * gtkutil.c (gtk-scroll-bar-adjust-thumb-portion): Use variable.
> +
> 2012-12-01 Paul Eggert <eggert@cs.ucla.edu>
>
> * xterm.c (x_draw_image_relief): Remove unused locals (Bug#10500).
> diff --git a/src/gtkutil.c b/src/gtkutil.c
> index 4367b53..5259fe7 100644
> --- a/src/gtkutil.c
> +++ b/src/gtkutil.c
> @@ -3765,13 +3765,17 @@ xg_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar,
>
> adj = gtk_range_get_adjustment (GTK_RANGE (wscroll));
>
> - /* We do the same as for MOTIF in xterm.c, assume 30 chars per line
> - rather than the real portion value. This makes the thumb less likely
> - to resize and that looks better. */
> - portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
> - /* When the thumb is at the bottom, position == whole.
> - So we need to increase `whole' to make space for the thumb. */
> - whole += portion;
> + if (gtk_scroll_bar_adjust_thumb_portion_p)
> + {
> + /* We do the same as for MOTIF in xterm.c, use 30 chars per
> + line rather than the real portion value. This makes the
> + thumb less likely to resize and that looks better. */
> + portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
> +
> + /* When the thumb is at the bottom, position == whole.
> + So we need to increase `whole' to make space for the thumb. */
> + whole += portion;
> + }
>
> if (whole <= 0)
> top = 0, shown = 1;
> diff --git a/src/xterm.c b/src/xterm.c
> index bbcff8c..64f069d 100644
> --- a/src/xterm.c
> +++ b/src/xterm.c
> @@ -10791,6 +10791,16 @@ With MS Windows or Nextstep, the value is t. */);
> Vx_toolkit_scroll_bars = Qnil;
> #endif
>
> +#ifdef USE_GTK
> + DEFVAR_BOOL ("gtk-scroll-bar-adjust-thumb-portion",
> + gtk_scroll_bar_adjust_thumb_portion_p,
> + doc: /* Non-nil means adjust the thumb in the
> +gtk scroll bar to be less likely to resize which looks better.
> +Set to nil if you want the thumb to fill the whole scroll bar
> +when the entire buffer is visible. */);
> + gtk_scroll_bar_adjust_thumb_portion_p = 1;
> +#endif
> +
> staticpro (&last_mouse_motion_frame);
> last_mouse_motion_frame = Qnil;
>
> --
> 1.7.10.4
>
> --
> "It's beautiful! And I certainly hope Adam Sjøgren
> my parents hate this album!" asjo@koldfront.dk
>
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#1036: [PATCH] * xterm.c (gtk-scroll-bar-adjust-thumb-portion): New variable to determine whether gtk scroll bar thumb size should be adjusted or not. * gtkutil.c (gtk-scroll-bar-adjust-thumb-portion): Use variable.
2012-12-02 20:51 ` Jan Djärv
@ 2012-12-03 17:22 ` Stefan Monnier
2012-12-31 1:48 ` bug#1036: [PATCH] Add scroll-bar-adjust-thumb-portion Adam Sjøgren
0 siblings, 1 reply; 11+ messages in thread
From: Stefan Monnier @ 2012-12-03 17:22 UTC (permalink / raw)
To: Jan Djärv; +Cc: Adam Sjøgren, 1036
> If we are to provide a user option for this, we should do it for all
> toolkits.
Yes, we should do that (and share more of the code, as well).
Stefan
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#1036: [PATCH] Add scroll-bar-adjust-thumb-portion.
2012-12-03 17:22 ` Stefan Monnier
@ 2012-12-31 1:48 ` Adam Sjøgren
2013-01-04 13:46 ` Jan D.
0 siblings, 1 reply; 11+ messages in thread
From: Adam Sjøgren @ 2012-12-31 1:48 UTC (permalink / raw)
To: 1036
On Mon, 03 Dec 2012 12:22:11 -0500, Stefan wrote:
>> If we are to provide a user option for this, we should do it for all
>> toolkits.
> Yes, we should do that (and share more of the code, as well).
Here is a new patch that handles both toolskits that use the "* 30"
method.
Let me know what else I can do to move this forward.
Thanks!
Adam
---
src/ChangeLog | 9 +++++++++
src/gtkutil.c | 18 +++++++++++-------
src/xterm.c | 41 ++++++++++++++++++++++++++---------------
3 files changed, 46 insertions(+), 22 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 08b0a59..d653cb5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
+2012-12-31 Adam Sjøgren <asjo@koldfront.dk>
+
+ * xterm.c (scroll-bar-adjust-thumb-portion): New variable to
+ determine whether scroll bar thumb size should be adjusted or
+ not. Use variable for MOTIF.
+
+ * gtkutil.c (scroll-bar-adjust-thumb-portion): Use variable for
+ GTK.
+
2012-12-30 Paul Eggert <eggert@cs.ucla.edu>
* coding.c (Qmac): Now static.
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 7b05cff..ba532c2 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -3795,13 +3795,17 @@ xg_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar,
adj = gtk_range_get_adjustment (GTK_RANGE (wscroll));
- /* We do the same as for MOTIF in xterm.c, assume 30 chars per line
- rather than the real portion value. This makes the thumb less likely
- to resize and that looks better. */
- portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
- /* When the thumb is at the bottom, position == whole.
- So we need to increase `whole' to make space for the thumb. */
- whole += portion;
+ if (scroll_bar_adjust_thumb_portion_p)
+ {
+ /* We do the same as for MOTIF in xterm.c, use 30 chars per
+ line rather than the real portion value. This makes the
+ thumb less likely to resize and that looks better. */
+ portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
+
+ /* When the thumb is at the bottom, position == whole.
+ So we need to increase `whole' to make space for the thumb. */
+ whole += portion;
+ }
if (whole <= 0)
top = 0, shown = 1;
diff --git a/src/xterm.c b/src/xterm.c
index 374b628..446565a 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4803,21 +4803,24 @@ x_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar, int portion, int positio
#ifdef USE_MOTIF
- /* We use an estimate of 30 chars per line rather than the real
- `portion' value. This has the disadvantage that the thumb size
- is not very representative, but it makes our life a lot easier.
- Otherwise, we have to constantly adjust the thumb size, which
- we can't always do quickly enough: while dragging, the size of
- the thumb might prevent the user from dragging the thumb all the
- way to the end. but Motif and some versions of Xaw3d don't allow
- updating the thumb size while dragging. Also, even if we can update
- its size, the update will often happen too late.
- If you don't believe it, check out revision 1.650 of xterm.c to see
- what hoops we were going through and the still poor behavior we got. */
- portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
- /* When the thumb is at the bottom, position == whole.
- So we need to increase `whole' to make space for the thumb. */
- whole += portion;
+ if (scroll_bar_adjust_thumb_portion_p)
+ {
+ /* We use an estimate of 30 chars per line rather than the real
+ `portion' value. This has the disadvantage that the thumb size
+ is not very representative, but it makes our life a lot easier.
+ Otherwise, we have to constantly adjust the thumb size, which
+ we can't always do quickly enough: while dragging, the size of
+ the thumb might prevent the user from dragging the thumb all the
+ way to the end. but Motif and some versions of Xaw3d don't allow
+ updating the thumb size while dragging. Also, even if we can update
+ its size, the update will often happen too late.
+ If you don't believe it, check out revision 1.650 of xterm.c to see
+ what hoops we were going through and the still poor behavior we got. */
+ portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
+ /* When the thumb is at the bottom, position == whole.
+ So we need to increase `whole' to make space for the thumb. */
+ whole += portion;
+ }
if (whole <= 0)
top = 0, shown = 1;
@@ -10785,6 +10788,14 @@ With MS Windows or Nextstep, the value is t. */);
Vx_toolkit_scroll_bars = Qnil;
#endif
+ DEFVAR_BOOL ("scroll-bar-adjust-thumb-portion",
+ scroll_bar_adjust_thumb_portion_p,
+ doc: /* Non-nil means adjust the thumb in the
+scroll bar to be less likely to resize which looks better.
+Set to nil if you want the thumb to fill the whole scroll bar
+when the entire buffer is visible. */);
+ scroll_bar_adjust_thumb_portion_p = 1;
+
staticpro (&last_mouse_motion_frame);
last_mouse_motion_frame = Qnil;
--
1.7.10.4
--
"Noone stops you Adam Sjøgren
Like you stop yourself" asjo@koldfront.dk
^ permalink raw reply related [flat|nested] 11+ messages in thread
* bug#1036: [PATCH] Add scroll-bar-adjust-thumb-portion.
2012-12-31 1:48 ` bug#1036: [PATCH] Add scroll-bar-adjust-thumb-portion Adam Sjøgren
@ 2013-01-04 13:46 ` Jan D.
2013-01-04 19:15 ` Glenn Morris
0 siblings, 1 reply; 11+ messages in thread
From: Jan D. @ 2013-01-04 13:46 UTC (permalink / raw)
To: Adam Sjøgren; +Cc: 1036
Hello.
Before installing this, can someone confirm that this is a tiny change?
Jan D.
Adam Sjøgren skrev 2012-12-31 02:48:
> On Mon, 03 Dec 2012 12:22:11 -0500, Stefan wrote:
>
>>> If we are to provide a user option for this, we should do it for all
>>> toolkits.
>> Yes, we should do that (and share more of the code, as well).
> Here is a new patch that handles both toolskits that use the "* 30"
> method.
>
> Let me know what else I can do to move this forward.
>
>
> Thanks!
>
> Adam
>
>
> ---
> src/ChangeLog | 9 +++++++++
> src/gtkutil.c | 18 +++++++++++-------
> src/xterm.c | 41 ++++++++++++++++++++++++++---------------
> 3 files changed, 46 insertions(+), 22 deletions(-)
>
> diff --git a/src/ChangeLog b/src/ChangeLog
> index 08b0a59..d653cb5 100644
> --- a/src/ChangeLog
> +++ b/src/ChangeLog
> @@ -1,3 +1,12 @@
> +2012-12-31 Adam Sjøgren <asjo@koldfront.dk>
> +
> + * xterm.c (scroll-bar-adjust-thumb-portion): New variable to
> + determine whether scroll bar thumb size should be adjusted or
> + not. Use variable for MOTIF.
> +
> + * gtkutil.c (scroll-bar-adjust-thumb-portion): Use variable for
> + GTK.
> +
> 2012-12-30 Paul Eggert <eggert@cs.ucla.edu>
>
> * coding.c (Qmac): Now static.
> diff --git a/src/gtkutil.c b/src/gtkutil.c
> index 7b05cff..ba532c2 100644
> --- a/src/gtkutil.c
> +++ b/src/gtkutil.c
> @@ -3795,13 +3795,17 @@ xg_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar,
>
> adj = gtk_range_get_adjustment (GTK_RANGE (wscroll));
>
> - /* We do the same as for MOTIF in xterm.c, assume 30 chars per line
> - rather than the real portion value. This makes the thumb less likely
> - to resize and that looks better. */
> - portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
> - /* When the thumb is at the bottom, position == whole.
> - So we need to increase `whole' to make space for the thumb. */
> - whole += portion;
> + if (scroll_bar_adjust_thumb_portion_p)
> + {
> + /* We do the same as for MOTIF in xterm.c, use 30 chars per
> + line rather than the real portion value. This makes the
> + thumb less likely to resize and that looks better. */
> + portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
> +
> + /* When the thumb is at the bottom, position == whole.
> + So we need to increase `whole' to make space for the thumb. */
> + whole += portion;
> + }
>
> if (whole <= 0)
> top = 0, shown = 1;
> diff --git a/src/xterm.c b/src/xterm.c
> index 374b628..446565a 100644
> --- a/src/xterm.c
> +++ b/src/xterm.c
> @@ -4803,21 +4803,24 @@ x_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar, int portion, int positio
>
> #ifdef USE_MOTIF
>
> - /* We use an estimate of 30 chars per line rather than the real
> - `portion' value. This has the disadvantage that the thumb size
> - is not very representative, but it makes our life a lot easier.
> - Otherwise, we have to constantly adjust the thumb size, which
> - we can't always do quickly enough: while dragging, the size of
> - the thumb might prevent the user from dragging the thumb all the
> - way to the end. but Motif and some versions of Xaw3d don't allow
> - updating the thumb size while dragging. Also, even if we can update
> - its size, the update will often happen too late.
> - If you don't believe it, check out revision 1.650 of xterm.c to see
> - what hoops we were going through and the still poor behavior we got. */
> - portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
> - /* When the thumb is at the bottom, position == whole.
> - So we need to increase `whole' to make space for the thumb. */
> - whole += portion;
> + if (scroll_bar_adjust_thumb_portion_p)
> + {
> + /* We use an estimate of 30 chars per line rather than the real
> + `portion' value. This has the disadvantage that the thumb size
> + is not very representative, but it makes our life a lot easier.
> + Otherwise, we have to constantly adjust the thumb size, which
> + we can't always do quickly enough: while dragging, the size of
> + the thumb might prevent the user from dragging the thumb all the
> + way to the end. but Motif and some versions of Xaw3d don't allow
> + updating the thumb size while dragging. Also, even if we can update
> + its size, the update will often happen too late.
> + If you don't believe it, check out revision 1.650 of xterm.c to see
> + what hoops we were going through and the still poor behavior we got. */
> + portion = WINDOW_TOTAL_LINES (XWINDOW (bar->window)) * 30;
> + /* When the thumb is at the bottom, position == whole.
> + So we need to increase `whole' to make space for the thumb. */
> + whole += portion;
> + }
>
> if (whole <= 0)
> top = 0, shown = 1;
> @@ -10785,6 +10788,14 @@ With MS Windows or Nextstep, the value is t. */);
> Vx_toolkit_scroll_bars = Qnil;
> #endif
>
> + DEFVAR_BOOL ("scroll-bar-adjust-thumb-portion",
> + scroll_bar_adjust_thumb_portion_p,
> + doc: /* Non-nil means adjust the thumb in the
> +scroll bar to be less likely to resize which looks better.
> +Set to nil if you want the thumb to fill the whole scroll bar
> +when the entire buffer is visible. */);
> + scroll_bar_adjust_thumb_portion_p = 1;
> +
> staticpro (&last_mouse_motion_frame);
> last_mouse_motion_frame = Qnil;
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#1036: [PATCH] Add scroll-bar-adjust-thumb-portion.
2013-01-04 13:46 ` Jan D.
@ 2013-01-04 19:15 ` Glenn Morris
2013-01-04 19:27 ` bug#1036: " Adam Sjøgren
0 siblings, 1 reply; 11+ messages in thread
From: Glenn Morris @ 2013-01-04 19:15 UTC (permalink / raw)
To: Jan D.; +Cc: Adam Sjøgren, 1036
"Jan D." wrote:
> Before installing this, can someone confirm that this is a tiny change?
Looks like one to me (most of it just moves existing comments around).
Maybe a good idea to complete an assignment if Adam expects to make more
contributions after this (other than to Gnus).
>> + doc: /* Non-nil means adjust the thumb in the
>> +scroll bar to be less likely to resize which looks better.
First line of doc does not look like a complete sentence.
(maybe lose the subjective part).
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#1036: Add scroll-bar-adjust-thumb-portion.
2013-01-04 19:15 ` Glenn Morris
@ 2013-01-04 19:27 ` Adam Sjøgren
2013-01-13 15:57 ` Jan Djärv
0 siblings, 1 reply; 11+ messages in thread
From: Adam Sjøgren @ 2013-01-04 19:27 UTC (permalink / raw)
To: Glenn Morris, Jan D.; +Cc: 1036
On Fri, 04 Jan 2013 14:15:36 -0500, Glenn wrote:
> "Jan D." wrote:
>> Before installing this, can someone confirm that this is a tiny change?
> Looks like one to me (most of it just moves existing comments around).
It is two if()'s being added, and the variable they check - the rest is
indentation, yes.
> Maybe a good idea to complete an assignment if Adam expects to make more
> contributions after this (other than to Gnus).
I wrote to assign@gnu.org earlier today asking for the paperwork to be
set in motion.
Thanks!
Adam
--
"You know, if the sun was an oboe, what would you do?" Adam Sjøgren
asjo@koldfront.dk
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#1036: Add scroll-bar-adjust-thumb-portion.
2013-01-04 19:27 ` bug#1036: " Adam Sjøgren
@ 2013-01-13 15:57 ` Jan Djärv
2013-01-13 15:58 ` Jan Djärv
0 siblings, 1 reply; 11+ messages in thread
From: Jan Djärv @ 2013-01-13 15:57 UTC (permalink / raw)
To: Adam Sjøgren; +Cc: 1036
Hello.
I have installed this. I adjusted the documentation and made it customizable.
Jan D.
4 jan 2013 kl. 20:27 skrev Adam Sjøgren <asjo@koldfront.dk>:
> On Fri, 04 Jan 2013 14:15:36 -0500, Glenn wrote:
>
>> "Jan D." wrote:
>
>>> Before installing this, can someone confirm that this is a tiny change?
>
>> Looks like one to me (most of it just moves existing comments around).
>
> It is two if()'s being added, and the variable they check - the rest is
> indentation, yes.
>
>> Maybe a good idea to complete an assignment if Adam expects to make more
>> contributions after this (other than to Gnus).
>
> I wrote to assign@gnu.org earlier today asking for the paperwork to be
> set in motion.
>
>
> Thanks!
>
> Adam
>
> --
> "You know, if the sun was an oboe, what would you do?" Adam Sjøgren
> asjo@koldfront.dk
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#1036: Add scroll-bar-adjust-thumb-portion.
2013-01-13 15:57 ` Jan Djärv
@ 2013-01-13 15:58 ` Jan Djärv
0 siblings, 0 replies; 11+ messages in thread
From: Jan Djärv @ 2013-01-13 15:58 UTC (permalink / raw)
To: Adam Sjøgren; +Cc: 1036-done
Closing.
Jan D.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2013-01-13 15:58 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-26 21:05 bug#1036: 23.0.60; GTK+ scroll-bars don't show relation of viewport to whole buffer Peter Dyballa
2008-09-28 1:17 ` Stefan Monnier
2012-12-02 13:07 ` bug#1036: [PATCH] * xterm.c (gtk-scroll-bar-adjust-thumb-portion): New variable to determine whether gtk scroll bar thumb size should be adjusted or not. * gtkutil.c (gtk-scroll-bar-adjust-thumb-portion): Use variable Adam Sjøgren
2012-12-02 20:51 ` Jan Djärv
2012-12-03 17:22 ` Stefan Monnier
2012-12-31 1:48 ` bug#1036: [PATCH] Add scroll-bar-adjust-thumb-portion Adam Sjøgren
2013-01-04 13:46 ` Jan D.
2013-01-04 19:15 ` Glenn Morris
2013-01-04 19:27 ` bug#1036: " Adam Sjøgren
2013-01-13 15:57 ` Jan Djärv
2013-01-13 15:58 ` Jan Djärv
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.