Ubuntu QA:
BlogBrainstormPackage status
Log in
Ubuntu QA
The Ubuntu community has contributed 21986 ideas, 135057 comments, 2615221 votes
Idea sandbox Idea sandbox
Popular ideas Popular ideas
Ideas in development Ideas in development
Implemented ideas Implemented ideas
Idea #4849: Smooth scrolling in Gtk applications

Written by erlend the 16 Mar 08 at 18:31. Category: Look and Feel. Related project: Nothing/Others. Status: New
Rationale
One of the first things new users comment on when trying linux is the lack of "smooth-scroll" in applications. Although it is a relatively minor point - smooth scrolling has come to be expected these days. Some of the advantages of it are,

* Looks more modern and professional,
* Allows the user to read while they scroll with the mouse wheel,
* In (for example) a Pidgin chat window the motion of a smooth scroll when you receive a message draws you eye: our brains are configured to respond to movement,
* Smooth movement is natural - jerky movement is not,
* Everyone else is doing it!

What would be required is for enough Ubuntu devs to discuss this on the Gtk mailing list, to show there is a demand for it. Once implemented this would include all Gtk applications, including Nautilus, Firefox and Pidgin.

396
votes
up equal down
Solution #1: Auto-generated solution of idea #4849
Written by erlend the 16 Mar 08 at 18:31.
Ubuntu Brainstorm was updated in January 2009. Since the idea #4849 was submitted before this update, its rationale and solution are not separated. Please vote accordingly, and if you have the necessary rights, please separate the rationale from the solution. Thanks!
39
votes
up equal down
Solution #2: Implement pixel-based scrolling for touchpads, instead of virtual button events
Written by elephant-face the 13 Apr 10 at 03:11.
"Scroll Wheels" are not all created equal; different input devices should handle scrolling differently. For example, there are at least two very different input devices commonly used to scroll this webpage:

1. A mouse with a scroll wheel. When the wheel is turned, it "clicks".

2. A laptop touchpad with either edge-scrolling or two-finger-scrolling enabled. When the finger is moved down the side of the touchpad (or two fingers are moved, anywhere), the page scrolls. There is no "click", or any other feedback.


Right now, both these types of scrolling (the discrete "clicks" of type 1, and the continuous motion of type 2) are handled the same way -- I'm on a laptop, and according to xev when I use two-finger scrolling on the touchpad, events are being sent for buttons 4, 5, 6, and 7. This "virtual button" metaphor / behavior doesn't make much sense, and the amount of motion required to trigger a press of the virtual scroll button is seemingly arbitrary.

Anyone on a laptop who would like to emulate what I believe is the "correct" behavior, can try clicking and holding on the scrollbar on the right side of the browser window. Now dragging the mouse cursor up and down will "smooth scroll" the window, in the sense that mouse movements correspond to pixel-accurate scrolling. My laptop is from 2005, does not have any 3d driver support, and is generally quite slow, yet this is not even remotely "laggy".

SUMMARY: My solution would be to have an option for scrolling which emulates dragging the scroll bar on devices which do not have a physical "scroll button". Mouses with "clicky wheels" could stay as-is.
1
votes
up equal down
Solution #3: Implement Via Desktop Effects
Written by whalogreg the 15 Oct 10 at 06:21.
Maybe a Compiz plugin could be developed to achieve this.
4
votes
up equal down
Solution #4: Add natural and elastic-scroll option for both Mouse and Touchpad
Written by brk0_0 the 16 May 12 at 18:33.
Users may be frustated when coming from other systems (like tablets or even MacOS) with not having these options in the menus. Adding a checkbox for both these options in mouse and touchpad menus would solve this.

Natural-scroll:
When scrolling down with the touchpad (or mouse), the page go up. The racional is that you are moving the page down, so your view goes up. With the tradicional scroll you move your view, so, when going down in the touchpad your view goes down too.

Elastic-scroll:
Easy video explaining (on MacOS X Lion)
http://www.youtube.com/watch?v=KMKd5ZFFBwM

Propose your solution

Attachments
No attachments.


Duplicates


Comments
AndrewC wrote on the 16 Mar 08 at 19:22
Honestly, I hate smooth scrolling. It feels laggy and weird.

erlend wrote on the 16 Mar 08 at 19:29
It only feels laggy if it's poorly implemented. Firefox has smooth-scrolling, and it's fine.

Perhaps there would need to be a way to turn it off, say for slower machines.

ubunteando wrote on the 16 Mar 08 at 20:11
Hell yeah... I really hate the sucky scrolling system of ubuntu... In firefox is just the way its supposed to be!!

oliver@schinagl.nl wrote on the 16 Mar 08 at 23:31
Heh, years ago, when I was still using windos, I always turned off smooth scroll. The smooth scroll there was an annoying, slowdwoning hogging thing, with slow ups and speed ups. It was horrid. However normal scrolling is clean and works.

in GTK+ however, scrolling seems to be something that's not smooth at all. I scroll, and I don't get any screenupdates until it stops again (Unless the scrolling is really slow). If that's your sense of smooth scrolling, then I think you mean just scrolling has to be fixed.

If you really are thinking of the slow down, speed up thing when scrolling is initiated, Let's wait till they fix the normal scrolling first, and then have an option added for smooth scroll :)

gaspard.leon wrote on the 17 Mar 08 at 00:02
GTK / GNOME window redraw is too slow for smooth scrolling.. once it's quicker, I would vote for this...

erlend wrote on the 17 Mar 08 at 01:14
Do the two previous poster have really slow systems? Admittedly I have quite a fast system (Core 2 Duo) and scrolling is fine for me (I also use Compiz).

Even a few years ago, I used Gentoo and they have a patch to add smooth-scrolling to Gtk. I had a Pentium 4 then and I honestly noticed no slow down from the patch.

pt123 wrote on the 17 Mar 08 at 01:45
Smooth scrolling is great if you could change the number of lines scrolled by the mouse wheel. But Gnome doesn't support this just the ridiculous 1 line.

The only escape is KDE, Windows or to use a Mozilla product as like Firefox and Thunderbird.

Muunsyr wrote on the 17 Mar 08 at 03:54
I like this idea also. For those who feel smooth scroll is 'laggy', slow or im-precise, please consider the information below.

For reference I am currently on an XP machine with firefox 2.0.0.12. I have not tested this on my Ubuntu machine at home - I assume it will be the same.

Smooth scrolling is good in this version for the reasons below.

Turning smooth scrolling on does not slow down the rate of scroll. Nor does the page keep scrolling when you stop moving the scroll wheel. With one scroll wheel click the text will slide up the screen in a way that your eyes can follow it (for 4 lines of text). With smooth scrolling dis-abled the text 'jumps' 4 lines at a time - much harder to follow.

I don't think this nice sort of smooth scrolling should be confused with the horrible experiences one can have with other applications - before firefox, smooth scrolling in internet explorer made the webpage feel like it was attached to a rubberband. I hope that makes sense, but it was definately something to disable.

Magnes wrote on the 17 Mar 08 at 09:18
smooth-scrolling looks very bad on some (most? only slower ones?) LCDs

dm-ig wrote on the 17 Mar 08 at 12:27
Best way of implementing smooth scrolling is use of Xorg composite extension to draw prerendered window contents.

How do you think windows apps do that? They don't render every time!

Auzy wrote on the 17 Mar 08 at 12:42
I don't see any reason why it couldn't be added to the code anyway, and only enabled with a compiler flag



jrusinek wrote on the 20 May 08 at 14:26
> Firefox has smooth-scrolling, and it's fine.

Turn Compiz with nVidia/AIGLX on. Smooth means "jerky".

erlend wrote on the 22 May 08 at 16:26
> Turn Compiz with nVidia/AIGLX on. Smooth means "jerky".


If you're going to use unstable software (Compiz) you have to expect some problems with it.


PS: you can actually mitigate the jerkiness of Compiz in Ubuntu by installing CCSM, starting it, going into General settings then turning off "Detect Refresh Rate" and putting the refresh rate to 200 - though I'm not entirely sure why this actually works.

natenewz wrote on the 18 Jul 08 at 14:47
It seems like there are some mis communications here. On my Ubuntu system (not windows xp) in firefox 3, you cannot smooth scroll. By smooth scrolling I mean the increments that the window moves is very extremely small (almost infinitesimle--what a calculus idea :-)). My friend who has an apple used my computer the other day, and he is the kind of guy who just wants a computer to work, so he can surf the web, and check his email. I asked him what he thought of Ubuntu. He replied, "I hate it because it doesn't scroll right. I can't stand that it's not smooth."
On my laptop, when using the mousepad to scroll, it will often keep scrolling after you have removed your finger from the pad, in addition to being jerky. I'm running a very new computer, and there is no reason, with good programming we couldn't make the scrolling work on a slower computer. I also checked out scrolling in Evolution, and it moves close to one line at a time. By one line I mean while scrolling through the list of messages, if you drag the scroll bar on the side, the minimum resolution is about 1 message. Why is it so wide?
If gtk could store what isn't being shown all in a buffer, up to a certain limit I suppose, it seems like it could have much better scrolling, at the same speed as moving a window around.
This is a serious problem with Ubuntu, because it's such an untidy cornerstone.

natenewz wrote on the 18 Jul 08 at 14:49
There is a difference in Firefox between dragging the scroll bar and using my mouse pad. It's a lot worse when using my mouse pad scroller. I'm guessing my computer is an anomaly.

erlend wrote on the 7 Aug 08 at 12:12
There are discussion about it on the gtk developers mailing list:

http://lists-archives.org/gtk-devel/07312-smooooth-scrolling-gtk.html

scientus wrote on the 17 Oct 08 at 18:59
actually hate smooth scrolling, but am strongly for scrolling that is smooth.

n add/remove programs the scrolling IS HORRIBLE, it draws the new part evey time you scrool a little, and while your scrolling, IT TOTALLY SUCKS. however i do not think scroling should be slowed down to not be jumpy, but there needs to be a suitable bufer or drawn scroll so that you can ACTUALLY FRIGGEN SCROLL IN SOME OF THE SHITTY SCROLLS LIKE ADD/REMOVE.

/rant

Nattgew wrote on the 27 Nov 08 at 21:08
I'm totally for this plan. I always turn smooth scrolling on in Firefox, whether it's Windows or Linux, whatever the machine. It almost always makes things easier to follow.
I also added an Add-On called SmoothWheel. The default scroll in Firefox animates the scroll at one speed. This Add-On makes the speed more smooth. It reminds me of the scrolling in Opera or Safari.
So it would be really nice to see this kind of scrolling in GTK apps. Nautilus would be amazing, and Gedit, Rhythmbox, and Synaptic would also benefit.

Vertumnus wrote on the 3 Jun 10 at 15:24
This is a very good idea. It would make Gnome a much better experience for laptop users.

Rhumba wrote on the 13 Nov 10 at 22:31
Something exactly like SmoothWheel would be the best. Being able to slowly scroll to read the content of a window while also moving through it is a great usability feature. Plus with all the eye candy people like to add to their desktops nowadays scrolling through and seeing things jump around like it is 1998 is a lot more noticeable.

jobr wrote on the 23 Aug 11 at 10:33
I agree with most of you. Comming from OSX Lion i miss the smooth experience. I think it would be really nice to implement this feature so it applies to the whole system. That + a more "clean look" Unity dock layout would in my opinion make Ubuntu/linux a very very attractive look and feel :)

eren.tantekin wrote on the 8 Nov 11 at 19:03
Jumpy scrolling with a mouse wheel may be tolerated, but when scrolling with a touchpad, smooth scrolling is a must. Especially when you consider that GTK scroll rate is about 3 lines and uncustomizable. Even the tiniest move made with a finger results in 3 lines being scrolled. Definitely a terrible experience.

b3nstones wrote on the 27 Mar 12 at 13:01
I have to agree. Tolerable with a mouse but not so much using a touchpad.


Post your comment