SmoothWheel - Home page
Install Feedback/Comments/Contact Screenshots Changelog
Some usability Bookmarklets
Post Feedback, bug reports and other commentsTo contact me privately, use this email address: (Spam protection: type it manually - cannot be copied)
The old comments system is still available.
[Jump to most recent post]
| By: kno on 2008-05-11 - 16:38:59|
|First off thanks for developing SmoothWheel! The acceleration feature makes scrolling long pages so much more enjoyable... but now for a problem: |
I'm using SmoothWheel with Firefox 3 Beta 5 and it seems like the zoom function (ctrl-mousewheel) only works sporadically when SmoothWheel is enabled. Most of the time when I hold down the ctrl key and rotate the mouse wheel, Firefox just scrolls - sometimes though, it zooms. Zooming works fine when SmoothWheel is disabled, be it via the options screen or by entirely disabling the extension.
| By: avih on 2008-05-11 - 16:39:26|
Oops. You're right. For some reason I considered it to be a Firefox bug.. but now that I'm trying again, it's clearly related to smoothwheel.
| By: avada on 2008-05-11 - 16:39:52|
|Smoothwheel has some bugs. Smooth scrolling doesn't work on this page: http://www.pcx.hu/eger_billentyuzet/billentyuzet . Also if I type in the searchbox on wikipedia and I press down to select one of the suggestions the page scrolls down.|
There are some ff3 specific problems too. On a wikipedia page if the references are in two columns smooth scrolling doesn't work. ( e.g.: http://en.wikipedia.org/wiki/Lost_(TV_series)#References )
On this ( http://www.fincher.org/tips/Languages/csharp.shtml ) page if I scroll the cpu usage jumps to maximum and scrolling really slows down.
| By: avih on 2008-05-11 - 16:40:14|
|@avada: Thank you very much for the detailed feedback.|
Regarding the two examples where smoothwheel doesn't work, I have a feeling they're related to the same issue and I'll have a look at it.
Regarding the the CPU usage on the 3rd URL, it's a known issue of firefox which happens on pages with fixed CSS background, and also happens in any other scroll, with or without smoothwheel, while dragging the scrollbar, etc.
The issue is that Gecko renders these pages very slowly (in more than one pass) and therefore, it's especially noticeable in smooth scroll implementations, including smoothwheel. If you think it's still a smoothwheel issue, I'd very much appreciate an example for page where it only consumes high CPU in smoothwheel but not while dragging the scrollbar or using Firefox's built in smooth scroll.
Thank you very much for your comments again.
| By: Recall on 2008-05-12 - 13:30:07|
|Hi, avih I have been using yet another smooth scrolling, since you had not updated this in a long time. Well the one thing this has over YASS is fps lock, which stops the horrible tearing!|
However I find the scrolling is much more reliable on YASS and works on all pages including http://www.pcx.hu/eger_billentyuzet/billentyuzet whereas yours does not.
The issue with the high cpu usage as you may know will be fixed in the next version of FF with compositor.
What I would ask is that I feel YASS has a better implementation of smooth scrolling for me, maybe you guys should get together to make the ultimate smooth scrolling extension? Either that or swap codes as it open source, dunno? Nice to see ya back!
| By: avih on 2008-05-12 - 17:27:33|
SmoothWheel, as well as YASS, are both composed of distinct 2 sections:
1. Scroll/Smoothness algorithms and their options.
2. target detection.
Both extensions use target detection code borrowed from AIO extension, but each tweaked a bit differently. Although quite similar in most cases, the different tweaks is what's causing these extensions to apply differently to different pages and to different sections within a page.
The reason SmoothWheel wasn't updated too frequently is that I've felt that it's quite rare that the target detection fails. Other than that, it's working well and always has been, so no need to update except minor bug fixes and enhancements, which happened occasionally.
However, with Firefox 3 it seems as if more pages are "missed" by the target detection code, and as I've told avada on my previous post here, it's being looked at. Hopefully a new version will be released soon with better target detection, either re-borrowed from AIO or re-tweaked by myself or re-tweaked according to YASS.
cheers and thanks for your comment
| By: GCG on 2008-05-13 - 06:07:06|
|Works like silk on my Mac with FF3b5. Thanks for bringing SW back to the present.|
| By: rm on 2008-05-15 - 09:55:50|
|Hi. Great extension, thanks for your hard work. I'm running FF3b5 (tete009 build) on win2k. The last two times I have updated smoothwheel (via FF's builtin addon manager update capability) I have had all my smoothwheel options reset to default. you can contact me at (remove all the dashes and parentheses) (c-u-b-en-s--is) (AT) (f-l-as---h-ma-il) (dot) (com) if you need any further info.|
| By: avih on 2008-05-15 - 12:50:01|
Smoothwheel is currently defined to reset all options when it updates to a new version. This is by design to prevent incompatible options between versions. I'll consider not resetting the options on future releases if there is no danger of incompatibility.
| By: steven on 2008-05-16 - 15:57:11|
|hi. love smoothwheel. thanks so much for it.|
but... most recent update just dl'd to FF 126.96.36.199 (win xp pro) and said there was a problem with the dl. and now my profile is corrupted. couldn't start ff at all. and just had to restore it. thoughts on that?
| By: avih on 2008-05-16 - 16:08:46|
Glad you like it :)
Did you download from AMO or from here?
If there was a problem with the download then it probably is an issue with firefox itself since smoothwheel didn't have the chance to start working. It failed during the download.
Regardless though, Smoothwheel has NO specific install/uninstall procedures. It's just standard xml files that tell firefox how smoothwheel should be initialized etc. Just like any other extension or theme. Firefox itself takes care of install/uninstall according to the user. Even further, smoothwheel doesn't read or write any file on the profile folder or outside of it.
The only place where smoothwheel executes any kind of code is when it's triggered either by a mouse wheel event or by keyboard arrows events, and then it does its magic.
It does absolutely nothing besides that. The source code is available for inspection by anyone just in case someone is suspecting that smoothwheel behaves badly.
Could it be that your problem is unrelated to smoothwheel? Does it reproduce? does it always fail to install?
I'd appreciate any further info you may have.
| By: steven on 2008-05-16 - 19:15:03|
thanks for your speedy reply! i think the problem must have been from the dl? as soon as i got the msg that there was a problem with it (i wish i had taken a screen shot of it), i pressed the 'continue' button and ff quit right away, before even starting up. every time i clicked on ff to start, i got an xp msg saying ff had a problem. even when i restarted, got the same thing. so i restored to a profile on another machine and it's fine. it even has the update from that machine of the latest version of smooth wheel. so i think it must have been a problem w/ the download... maybe it got corrupted or something? i don't know enough to say for sure. but anyway... it looks like things are ok.
| By: avih on 2008-05-16 - 22:13:02|
|Thanks for the info steven. If anything similar happens again, or you think that you know why it happened, I'd appreciate if you could post it here.|
| By: Tim on 2008-05-21 - 14:32:37|
|Love smoothwheel, thanks for a great add-on.|
| By: Max on 2008-05-31 - 19:02:35|
|I'm using the last version, and the fix for horizontal scroll doesn't work for me, I'm using a Microsoft Wireless Laser Mouse 5000.|
| By: avih on 2008-06-01 - 10:34:58|
|@max: thanks for the info.|
I couldn't reproduce the horizontal issue myself since I don't have a horizontal scroll mouse, and the horizontal scroll of my touchpad doesn't work regardless of smoothwheel (although the vertical scroll does work there). Therefore, the fix is added into the code without being tested to work (but it can't harm either), and that's why it's described "experimental".
Few questions if you don't mind:
1. Did u check the "Horizontal wheel fix" box on the "advanced" tab of the smoothwheel options panel?
2. Does your horizontal wheel work when you check the "disable smoothwheel" box on the main tab of the options panel? Does it work if you completely disable smoothwheel?
| By: Geo Mealer on 2008-06-04 - 00:51:07|
Great extension! It really cleans things up on Firefox 3 for Mac. I'm in the same boat, re: horizontal fix. Doesn't work for me on Mac, using either touchpad or Logitech tilt-scroll.
What does the bitmask correspond to? Is it something I could work out via some utility? Assuming your code works, I assume the bitmask is what needs to be switched up.
| By: avih on 2008-06-04 - 06:29:07|
|To all those with horizontal scroll issue.|
First, let me describe what problem it tries to fix. The issue was that when smoothwheel is enabled, the horizontal scroll STOPPED working. That is, not that it isn't smoothed by smoothwheel, but that it broke completely.
The fix tries to overcome this issue by trying to ignore mouse events which relate to horizontal wheel scroll.
THIS EXPERIMENTAL FIX ISN'T ON BY DEFAULT and has to be selected from the advanced configuration panel.
So, when you relate to this issue, I'd appreciate if you could describe the following (which is the expected result if all works well):
1. That with smoothwheel disabled or not installed, your horizontal wheel/touchpad scroll IS working.
2. That with smoothwheel installed and enabled, and the horizontal scroll fix is NOT checked, that the H scroll is indeed broken.
3. Same as 2 but the H scroll fix IS checked, hopefully it will H scroll as it did before installing smoothwheel (that means the fix works).
Unfortunately, on my DELL D630 laptop (Win XP SP2), the touchpad's horizontal scroll works only in MS apps such as explorer and office, but doesn't work with Firefox at all (even when smoothwheel is not installed). The vertical scroll of the touchpad, OTOH, is working everywhere. So I can't personally reproduce the issue because I just don't have a working horizontal scroll for Firefox.
As far as I know, Firefox (Gecko?) doesn't have a consistent method to indicate a horizontal wheel event, and that's why I had to resort to "black magic". The mask value is the event.detail value of events which smoothwheel captures. I found over the web that if smoothweel ignores event where the 15th bis is set (32768) then it ignores H scroll and that's what I've applied. The value can be changed from about:config if you know that H scroll is represented by a different bit.
Any help by people who have followed me thus far and know better than me would be appreciated.
| By: Geo Mealer on 2008-06-04 - 13:46:47|
Sorry, meant to include that and neglected to do so.
1a. Yes, works without SmoothWheel.
1b. Yes, works with SmoothWheel disabled from add-ons.
1c. Yes, works with SmoothWheel disabled from prefs.
2. Yes, broken with the box unchecked.
3. No, broken with the box checked.
With SmoothWheel enabled, all hscroll events are interpreted as vscroll events, left is up, right is down.
Unfortunately, this makes SW very flaky when you happen to scroll down and to the left. Keep in mind that on the Macbook Pro, scroll is a completely freeform two-finger gesture that moves you around the page, so this is a common scenario.
On Mac, horizontal scroll works fairly universally. It's probably a somewhat different API than Windows.
Perhaps you could put a quick debug mode in that makes SmoothWheel log and display mouse events? Then I could possibly see the event.detail of the horizontal scroll that SmoothWheel is catching and give you the bitmask back for your docs.
Hopefully that's enough info for you. Let me know what else you need in the way of duplication, steps, logs, etc. :)
| By: avih on 2008-06-05 - 07:32:47|
|Geo Mealer, you're the man (?) ;)|
Ok, your description is a very good starting point for me. Thank you very much.
First, if you don't mind, few more questions:
1. What's the main scenario at which the bug annoys? i.e. when only vertical scroll bar appears? when both H and V scroll bars appear? when only H scroll bar appears?
2. In what scenarios (same scenarios as above) does the bug appear at all?
3. is it the same kind of annoyance in each of the scenarios at which the bug appear?
After you've answered those, make sure the "horizontal fix" checkbox is checked and then please set the mask value from the about:config page to the following values, in this order (no need to restart firefox or anything. you can change them on one tab and immediately test if it worked on another tab) and test if the bug reappears after every change:
32768 (obviously isn't working)
Please post the values which caused ANY kind of change, and what that change was for each of them.
| By: Geo Mealer on 2008-06-05 - 15:27:34|
Well, the bug's two-pronged, right?
a) Horizontal scrolling doesn't work, so when a h-bar is there, you can't scroll it via mouse scroll.
b) It reinterprets as v-scroll, so when you scroll diagonally (no matter whether a bar's there or not) you can get simultaneous scroll-up/scroll-down events and the scroll jitters in place.
So, to answer your questions:
1) The bug potentially annoys all the time. a) is only an issue when I want to scroll horizontally, but b) is an issue always, if I'm not careful to scroll very straight up and down.
2) and 3) really have the same answer.
I'll cycle through the mask bits tonight, when I have a little more time, and will give you back a matrix or summary, as appropriate.
Thanks for your attention on this. It's nice when the devs actually keep track. :)
| By: Geo Mealer on 2008-06-05 - 15:53:56|
|Actually, that was a quick test.|
OK, mask bits down to 16 inclusive did nothing different. Left was up, right was down, smooth scroll active.
This page is the test page, compressed horizontally to maybe 300 px so the scrollbar appears.
Bitmask 8 made horizontal scroll work, but very chunky, like a third of the bar at a time. v-scroll is still smooth.
Bitmask 4 made horizontal scroll work, less chunky (sixth of a bar or so?) but still nowhere near as granular as SW disabled. v-scroll is strangely jerky. I don't think it's reverting back to pre-SmoothWheel behavior, but it scrolls with little jumps here in there.
Any chance it's not as simple as a single bit? These masks look like they're walking through a 16-bit value, one bit at a time, from left to right.
| By: avih on 2008-06-06 - 00:06:05|
|First of all, thanks for your tests.|
Yes, it seems as if 1 bit is not enough, and maybe the solution should be a more correct one instead of trying to mask arbitrary bits. I'll have to think about it...
Would it be ok if I send you test/debug versions of smoothwheel for you to test? You can find my email on the "members" section of this page. Or you could post yours here.
| By: Geo Mealer on 2008-06-06 - 00:47:46|
Sure, no problem.
My email is firstname.lastname@example.org.
I use gmail as my primary, but I don't -think- it'd call an .xpi file an executable. If you get a nastygram back from their attachment filter, rename the extension and resend.
| By: avih on 2008-06-06 - 06:50:44|
|Geo Mealer and everyone else having issues with horizontal scroll, your help is needed.|
Please head over to this test page: http://smoothwheel.mozdev.org/test_events.html
Use your horizontal and vertical scrolls, and please let me know what values change, and how (and specifically, the relevant values for up scroll, down scroll, left scroll and right scroll).
Thanks in advance.
| By: avih on 2008-06-06 - 14:48:35|
|Also, regarding my previous post, if you follow it, then please also state your operating system and firefox version.|
| By: Geo Mealer on 2008-06-10 - 13:18:33|
Sorry for the delay! I tested with SmoothWheel disabled from SW's preferences. When I get a moment, I'll try with SmoothWheel completely removed.
OS: Mac OS 10.5.3 (Leopard)
So, this may not be helpful.
The only two values changing are the timestamp and detail.
However, they change identically for horizontal and vertical.
Detail ranges from -N