bug#42150: 28.0.50; Bad mouse interaction in the scroll-margin region

2 views
Skip to first unread message

Yuri D'Elia

unread,
Jul 1, 2020, 8:31:05 AM7/1/20
to 42...@debbugs.gnu.org

The combined behavior of the mouse and "scroll-margin" is a bit odd
currently.

If you have a buffer which has "scroll-margin" enabled, and you click
anywhere in the scroll-margin region, the point is moved and the buffer
is immediately scrolled.

This in turn often results in the click becoming a "drag" instead,
selecting parts of the buffer.

I rarely use the mouse, but when I do (usually in customize groups, or
when using eww), it trips me all the time since I use a rather large
scroll-margin.

If feels like that moving the point when using the mouse shouldn't
trigger scroll-margin ever, since any action that causes a scroll would
immediately move the current target away and result in unintended
behavior. I can see the same effect when performing a selection by
dragging: once you reach the scroll-margin area every single motion
events selects half the visible buffer, which is also broken.

In GNU Emacs 28.0.50 (build 36, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw scroll bars)
of 2020-06-30 built on eab18045nb
Repository revision: bc8089a3fa11161428c51439fd3b26fd6583345d
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Debian GNU/Linux bullseye/sid

Configured using:
'configure --with-x-toolkit=lucid --with-modules --without-gsettings
--with-cairo CC=gcc 'CFLAGS=-O3 -march=native -pipe '
LDFLAGS=-fwhole-program'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND DBUS GLIB NOTIFY INOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ LIBOTF ZLIB
TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON
PDUMPER LCMS2 GMP




Eli Zaretskii

unread,
Jul 1, 2020, 10:14:06 AM7/1/20
to Yuri D'Elia, 42...@debbugs.gnu.org
> From: Yuri D'Elia <wav...@thregr.org>
> Date: Wed, 01 Jul 2020 14:30:14 +0200
>
> The combined behavior of the mouse and "scroll-margin" is a bit odd
> currently.

As discussed elsewhere, the problem here is to define alternative
behavior that could make sense while preventing the downsides.

> If you have a buffer which has "scroll-margin" enabled, and you click
> anywhere in the scroll-margin region, the point is moved and the buffer
> is immediately scrolled.

That is true, but it's the intended behavior: a mouse clock sets
point, and the scroll-margin says scroll the window when point enters
the margin for any reason. So this does what it should do.

> This in turn often results in the click becoming a "drag" instead,
> selecting parts of the buffer.

This part I couldn't reproduce. Maybe it's specific to the
window-system you are using or to something else that isn't Emacs per
se.

> If feels like that moving the point when using the mouse shouldn't
> trigger scroll-margin ever, since any action that causes a scroll would
> immediately move the current target away and result in unintended
> behavior.

I don't think I understand what you mean by "move the current target
away". Text scrolls, but it doesn't scroll out of the window, at
least not in my testing.

> I can see the same effect when performing a selection by
> dragging: once you reach the scroll-margin area every single motion
> events selects half the visible buffer, which is also broken.

You need to select "carefully", and then it doesn't select half of the
window, but only what you dragged across. But yes, this is a bit
tricky.

Once again, the problem is to decide what to do instead.

Thanks.



Stefan Kangas

unread,
Sep 2, 2020, 6:04:09 PM9/2/20
to Eli Zaretskii, Yuri D'Elia, 42...@debbugs.gnu.org
Eli Zaretskii <el...@gnu.org> writes:

>> This in turn often results in the click becoming a "drag" instead,
>> selecting parts of the buffer.
>
> This part I couldn't reproduce. Maybe it's specific to the
> window-system you are using or to something else that isn't Emacs per
> se.

I can reproduce this if I click mouse-1, hold the mouse button down and
then move the mouse cursor. Tried on:

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
version 1.16.0, Xaw3d scroll bars)
of 2020-08-17 built on joffe

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.22, cairo version 1.16.0)
of 2020-09-02 built on joffe



Reply all
Reply to author
Forward
0 new messages