Last Comment Bug 71464 - Using the scrollwheel above the horizontal scrollbar should scroll horizontal, not vertical
: Using the scrollwheel above the horizontal scrollbar should scroll horizontal...
Status: NEW
:
Product: Core
Classification: Components
Component: XUL (show other bugs)
: Trunk
: x86 All
: P5 enhancement with 16 votes (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
: Neil Deakin
Mentors:
: 129384 176458 346244 413144 417305 507597 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2001-03-09 11:05 PST by Daniel Borgmann
Modified: 2016-11-15 03:58 PST (History)
20 users (show)
mbeltzner: blocking1.9-
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description Daniel Borgmann 2001-03-09 11:05:10 PST
As said in summary, it would be need to be able to scroll the windows horizontal
using the mousewheel above the horizontal scrollbar. I guess there as no
disadvantage in doing so and all good toolkits that I know (i.e. Gtk and Qt) do
it this way. I don't know about the Win32 Toolkit.
Comment 1 Peter Trudelle 2001-03-09 14:56:28 PST
->bryner/p5/future
Comment 2 Dean Tessman 2001-03-20 17:12:28 PST
Haven't been able to find anything in Win2000 that does this.  Native scrollbars 
definitely don't.  But that's not to say it's a bad idea.
Comment 3 Brian Ryner (not reading) 2001-03-24 17:22:17 PST
Would be nice, but strikes me as somewhat difficult compared to the benefit.
Comment 4 Claude Gohier 2001-03-27 13:05:09 PST
TextPad 4.4 on windows 2000 does just that.
Comment 5 Shotaro Kamio 2001-04-02 09:04:19 PDT
I want this feature even if using a modifier key.
e.g. shift + mouse wheel
Comment 6 Skewer 2001-04-26 14:31:04 PDT
I'd like both. Optionally (because in some cases it can be annoying) scroll
horizontally while hovering over a horizontal scrollbar, and option to scroll
horizontally as mousewheel action in prefs. The usual behavior is up=right,
down=left (think X, Y values from algebra).

I will note that this behavior is not expected of Windows programs, it is only
supported in apps that have adaptive code written in. Not even IE5.5 appears to
support this; this would be a great place to have the advantage.
Comment 7 Skewer 2001-04-26 17:18:08 PDT
Actually, the behavior in Textpad seems to be the opposite of what I thought.
Maybe this should be an option too. Something like "reverse horizontal action"
with the default being the same as Textpad.
Comment 8 Ben Ruppel 2001-10-22 20:02:46 PDT
Seems to me that it would make more sense for scrolling down on the wheel to
move right on the page; page content goes left to right, as they do up to down.
 That way, scrolling down always progresses further into your content and up
always takes you back.
Comment 9 Shotaro Kamio 2002-03-06 21:00:38 PST
*** Bug 129384 has been marked as a duplicate of this bug. ***
Comment 10 Skewer 2002-06-23 09:17:37 PDT
Related, but different bug: Bug 143038 (using a modifier key instead of hover).
Comment 11 Troodon 2004-11-26 17:10:05 PST
(In reply to comment #2)
> Haven't been able to find anything in Win2000 that does this.  Native scrollbars 
> definitely don't.  But that's not to say it's a bad idea.

Opera 7 is a good example. I would like to see this added as an option, together
with bug 143038.

Comment 12 Igor Levicki 2004-11-27 10:07:37 PST
(In reply to comment #3)
> Would be nice, but strikes me as somewhat difficult compared to the benefit.
> 

Actually it is not difficult at all, you need something like this:

-- begin code snippet #1 --
	if (uMsg == WM_NCHITTEST) { // test for non-client window area hit
		// allow default window procedure to handle it first
		LRESULT rv = DefWindowProc(hWnd, uMsg, wParam, lParam);
		if (rv == HTHSCROLL) { // if horizontal scroll bar hit
			// set some global variable accordingly
			g_WheelDirection = WHEEL_HORIZONTAL;
		} else {
			g_WheelDirection = WHEEL_VERTICAL;
		}

		return rv;
	}
-- end code snippet #1 --

And also something like this (note that the code can be simpler, this handles
Ctrl key as a modifier for the scroll amount as well):

-- begin code snippet #2 --
	if (uMsg == WM_MOUSEWHEEL) {
		WORD Keys = GET_KEYSTATE_WPARAM(wParam);
		int zDelta = GET_WHEEL_DELTA_WPARAM(wParam);
		int Lines = abs(zDelta / WHEEL_DELTA);
		WORD wScrollNotify = 0xFFFF;
		UINT uMessage;
		// test the above mentioned global variable
		if (g_WheelDirection == WHEEL_VERTICAL) {
			uMessage = WM_VSCROLL;
			if (zDelta > 0) {
				if (Keys == MK_CONTROL) {
					wScrollNotify = SB_PAGEUP;
				} else {
					wScrollNotify = SB_LINEUP;
				}
			} else {
				if (Keys == MK_CONTROL) {
					wScrollNotify = SB_PAGEDOWN;
				} else {
					wScrollNotify = SB_LINEDOWN;
				}
			}
		} else {
			uMessage = WM_HSCROLL;
			if (zDelta > 0) {
				if (Keys == MK_CONTROL) {
					wScrollNotify = SB_PAGELEFT;
				} else {
					wScrollNotify = SB_LINELEFT;
				}
			} else {
				if (Keys == MK_CONTROL) {
					wScrollNotify = SB_PAGERIGHT;
				} else {
					wScrollNotify = SB_LINERIGHT;
				}
			}
		}

		// send yourself the right message
		if (wScrollNotify != 0xFFFF) {
			for (int i = 0; i < Lines; i++) {
				SendMessage(g_hWndView, uMessage, MAKELONG(wScrollNotify, 0), 0L);
			}
		}

		return 0;
	}
-- end code snippet #2 --

If you need any additional info let me know by email.
Igor
Comment 13 Gummi 2004-11-28 05:47:12 PST
Gtk behaviour is down scrolls to the right, which is consistent with reading
order. This bug is a problem of feeling native, too.

See bug 176548, which seems to be the same with the only difference that
proposed solution is to use gtk widgets.
Comment 14 Igor Levicki 2004-11-28 13:56:10 PST
(In reply to comment #13)
> Gtk behaviour is down scrolls to the right, which is consistent with reading
> order. This bug is a problem of feeling native, too.

That would be fine with me. Opera also does this (down scrolls to the right). I
just gave quick code example how it should be done natively in Windows. Just
reverse the condition.

> See bug 176548, which seems to be the same with the only difference that
> proposed solution is to use gtk widgets.

I have seen it -- seems to me that you have accidentaly posted the wrong number.
To me it doesn't seem related to this bug.

Moreover, related to bug #143038 I agree about having Ctrl+wheel shortcut for
Zoom +/- like in Photoshop and Opera, but I believe that having modifier keys
for changing scroll direction is somehow inconsistent with good UI design. Hover
is more intuitive and if you already reach to press additional key you may as
well use left/right arrow for horizontal scrolling instead of wheel.

Please someone enlighten me -- why use gtk under windows for this feature if
native solution is so simple?
Comment 15 Gummi 2004-11-28 14:36:28 PST
(In reply to comment #14)
> > See bug 176548, which seems to be the same with the only difference that
> > proposed solution is to use gtk widgets.
> I have seen it -- seems to me that you have accidentaly posted the wrong number.
> To me it doesn't seem related to this bug.
Sorry, I meant bug 176458.

> Please someone enlighten me -- why use gtk under windows for this feature if
> native solution is so simple?
I had linux in mind. As far as linux is concerned default builds use gtk2 so
this should not be a problem - only events seem to be hijacked by mozilla.
I think bug 176458 is about fixing the bug for linux, and this one is about a
cross platform enhancement. I'm voting for both.
Comment 16 Igor Levicki 2004-11-29 13:20:43 PST
(In reply to comment #15)
> Sorry, I meant bug 176458.

No problem. I wasn't aware that this issue exists in Linux version of Firefox too.

> I had linux in mind. As far as linux is concerned default builds use gtk2 so
> this should not be a problem - only events seem to be hijacked by mozilla.
> I think bug 176458 is about fixing the bug for linux, and this one is about a
> cross platform enhancement. I'm voting for both.

If I understand correctly this bug # is about making the feature available for
Winodws version of the browser. I have tried to contribute native solution but
it seems that the developers do not care too much (please correct me I am being
overly mild in expressing myself).
Comment 17 Peter Weilbacher 2004-12-11 04:13:21 PST
*** Bug 176458 has been marked as a duplicate of this bug. ***
Comment 18 Wayne Mery (:wsmwk, NI for questions) 2005-09-12 09:53:22 PDT
(In reply to comment #16)
>...
> 
> If I understand correctly this bug # is about making the feature available for
> Winodws version of the browser. I have tried to contribute native solution but
> it seems that the developers do not care too much 

I don't see anything in this bug that supports this conclusion.

In any event, team up with Ryner or assign the bug to yourself, attach a patch
and mark it for review - see what happens with it.  

Comment 19 Teune van Steeg 2008-02-01 17:05:11 PST
*** Bug 413144 has been marked as a duplicate of this bug. ***
Comment 20 Teune van Steeg 2008-02-01 17:06:48 PST
*** Bug 346244 has been marked as a duplicate of this bug. ***
Comment 21 Elmar Ludwig 2008-02-14 04:26:34 PST
*** Bug 417305 has been marked as a duplicate of this bug. ***
Comment 22 Andrés Delfino 2008-02-14 05:01:41 PST
This is the behavior of various GTK+ applications, don't know if it is an actual behavior of GTK+ itself.
Comment 23 Jakub 'Livio' Rusinek 2008-02-14 05:05:25 PST
I'll not agree with you.

EVERY horizontal scrollbar can be used with scrollwheel.
Comment 24 Chris Lord [:cwiiis] 2008-04-01 04:59:37 PDT
Has there been any progress on this? Scrolling above any scroll-bar should activate that scroll-bar under GTK, so scrolling over a horizontal scroll-bar should scroll horizontally.

Current behaviour is inconsistent with all other GTK2 applications.
Comment 25 Elmar Ludwig 2009-07-31 10:53:20 PDT
*** Bug 507597 has been marked as a duplicate of this bug. ***
Comment 26 ffux 2009-08-02 02:03:24 PDT
This is clearly a bug since the scroll bar is not catching events when mouse is over it. Even clicking on the scroll bar does not make it catch mouse scroll events afterwards.

This bug is now old enough to be wearing long trousers , any chance of something like the code posted in #12 getting applied?
Comment 27 Turson 2011-10-10 12:53:14 PDT
Hello Bugzilla.
My issue is happening since Firefox 4.0, OS: windows xp.
Optical 4D Mouse A4Tech WOP-35: [url]http://www.a4tech.com/product.asp?cid=1&scid=8&id=22[/url]

Since Firefox 4, the Horizontal wheel doesn't works properly, this duplicates the function of the vertical wheel; ie, the Horizontal wheel scrolls vertically, although "horizontal navigation bar" appears on screen.
Nevertheless, the horizontal-wheel worked properly until FF3.6.x.

But, not only that. The horizontal wheel no longer works to navigate through facebook pictures, iimmgg.com images (on galleries), or similar web, how it worked before, until FF3.6  :cry: 

I have enabled: the enhanced dual wheel mode, in the last driver installed (v7.80).
And I tried with a new firefox profile, and its safe mode. But the issue persists.
Comment 28 Turson 2011-10-10 13:01:38 PDT
Mozillazine forum, unsolved topic:
http://forums.mozillazine.org/viewtopic.php?p=10762037#p10762037
Comment 29 Filipe Azevedo 2012-04-27 06:08:30 PDT
This is still not working on firefox 12 Linux version
Comment 30 cousteau 2015-07-15 01:49:11 PDT
So this bug is already 14 years old and nobody has fixed it nor stated a reason to close it.

This behavior is specially annoying for mouse users because in addition to not being able to scroll on the horizontal scrollbar, shift+scroll doesn't work for this as it does in most programs, so the only way to scroll horizontally is either clicking on the bar or using the auto-scroll, which doesn't give you as much control and precision as the scrollwheel provides.

Is there any reason this behavior shouldn't be implemented?  If so, would it be possible to get it as an addon?

PS: Could someone please develop this as an addon (if possible)?  I'm not a developer.
Comment 31 Turson 2016-07-29 22:36:17 PDT
Hi cousteau and blog.
The extension or addon to Firefox, that improves the performance without being automatic scrolling is: "Scrollbar Anywhere".

Since Gnu/Linux distros if working my horizontal whell as expected. Nevertheless, not the Automatic Scrolling on whole system.
Comment 32 cousteau 2016-11-15 03:40:28 PST
(In reply to Turson from comment #31)
> "Scrollbar Anywhere".

Not exactly what I wanted.  Nevertheless, I've found another extension, "Horizontal Scroll", that does exactly what is being requested.  Finally!
Comment 33 ffux 2016-11-15 03:58:49 PST
thanks Cousteau ! 

That finally provides a workaround to fix this bug and got it noticed here. Many thanks for the heads up. 

Maybe one day it will be integrated in FFx.

Note You need to log in before you can comment on or make changes to this bug.