emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: mwheel scroll horizontally


From: Drew Adams
Subject: RE: mwheel scroll horizontally
Date: Mon, 4 Oct 2010 16:21:56 -0700

> Why mwheel.el doesn't allow horizontal scrolling?
> The mouse wheel is indispensable for efficient scrolling
> around large images like maps in image-mode.

Agreed.

> For instance, Gimp allows the Shift modifier to change
> the direction of scrolling from vertical to horizontal.

Google Chrome does likewise, for page scrolling.

(But IE uses Shift-wheel to cycle the history list (URLs).  It doesn't seem to
have a wheel modifier for horizontal scrolling.)

> Shift and Control are already in use in mouse-wheel-scroll-amount,

That's the wrong place for such control, IMO.  I mean that it shouldn't be
hard-coded like that.  We should leave S- and C- open for use with the wheel,
and not hard-code them to representing a scroll amount.

> but Meta is available.  What about using Meta for horizontal
> scrolling?  

That just compounds the problem.

S-, C-, and M- should be left open wrt the mouse wheel.

In effect, you are describing _one_ possible option value:

bind S- to vertical-scroll   by amount P
bind C- to vertical-scroll   by amount Q
bind M- to horizontal-scroll by amount R

We should have a more general option whose values let the user choose any
scrolling combinations s?he wants.  We have 3 modifiers, 2 scrolling directions,
and the possibility of different scrolling amounts.  Let the user mix and match,
deciding what's important.

E.g. Some user might want horizontal and vertical, and give two amount settings
to horizontal (i.e. similar to what you proposed, but privileging horizontal,
not vertical).  Another user might want to not bind horizontal at all and just
give 3 amount-settings to vertical.  Etc.

What we should not do is decide once and for all that modifier X is for
direction A or that direction A gets two scroll amounts but direction B gets
only one.  Whatever we might choose at design time for this can instead be
chosen by the user.

And, as always, we should make it clear that such bindings of the wheel to
scrolling actions are only a convenience (default behavior) and the user and
3rd-party libraries are free to bind the wheel to any other commands, anywhere.

I mention that because too often we give the impression that because some keys
are already bound they are off limits for users/libraries.  We should make it
clear that this is just a default binding.  There is nothing sacred about window
scrolling - a mouse wheel can do lots more interesting things in Emacs than
scroll a window.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]