unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#42150: 28.0.50; Bad mouse interaction in the scroll-margin region
@ 2020-07-01 12:30 Yuri D'Elia
  2020-07-01 14:13 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Yuri D'Elia @ 2020-07-01 12:30 UTC (permalink / raw)
  To: 42150


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






^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#42150: 28.0.50; Bad mouse interaction in the scroll-margin region
  2020-07-01 12:30 bug#42150: 28.0.50; Bad mouse interaction in the scroll-margin region Yuri D'Elia
@ 2020-07-01 14:13 ` Eli Zaretskii
  2020-09-02 22:03   ` Stefan Kangas
  0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2020-07-01 14:13 UTC (permalink / raw)
  To: Yuri D'Elia; +Cc: 42150

> From: Yuri D'Elia <wavexx@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.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#42150: 28.0.50; Bad mouse interaction in the scroll-margin region
  2020-07-01 14:13 ` Eli Zaretskii
@ 2020-09-02 22:03   ` Stefan Kangas
  2021-10-31 13:47     ` Yuri D'Elia
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Kangas @ 2020-09-02 22:03 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Yuri D'Elia, 42150

Eli Zaretskii <eliz@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





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#42150: 28.0.50; Bad mouse interaction in the scroll-margin region
  2020-09-02 22:03   ` Stefan Kangas
@ 2021-10-31 13:47     ` Yuri D'Elia
  0 siblings, 0 replies; 4+ messages in thread
From: Yuri D'Elia @ 2021-10-31 13:47 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 42150

On Wed, Sep 02 2020, Stefan Kangas wrote:
> 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

For posterity, a partial fix for this behavior has been merged through
my commit patch in e62d1fa9831cc4f046b330f438f8bd49a27a2458.

There is still one scenario which IMHO deserves to be fixed before we
can close this: double-clicking inside the scroll-margin area turns the
double-click into a double-click+scroll (or triple+scroll).

This happens because the click-count is handled at the term level, and
doesn't see that the "logical" click coordinate has been shifted as a
result of the scroll.

The scrolling in this case should also reset the current click count.





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-10-31 13:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-01 12:30 bug#42150: 28.0.50; Bad mouse interaction in the scroll-margin region Yuri D'Elia
2020-07-01 14:13 ` Eli Zaretskii
2020-09-02 22:03   ` Stefan Kangas
2021-10-31 13:47     ` Yuri D'Elia

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).