Bug 107484 - Smooth scrolling cannot be disabled in the user list (patch included)
Summary: Smooth scrolling cannot be disabled in the user list (patch included)
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR wishlist
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-15 18:52 UTC by Luciano Montanaro
Modified: 2006-07-12 22:41 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
Check if the user prefers no smooth scrolling (538 bytes, patch)
2005-06-15 18:54 UTC, Luciano Montanaro
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Luciano Montanaro 2005-06-15 18:52:43 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

The SVN version of Kopete uses smooth scrolling in the contact view.
I am sure most people finds this kind of eye candy entertaining, but I'd really like to turn it off myself.

There should be a global setting used to enable or disable this feature,
Lubos Lunak suggested the setting should be:

kdeglobals, [KDE], SmoothScrolling=false

I just implemented reading the global configuration file to disable the feature if the user prefers so.
Comment 1 Luciano Montanaro 2005-06-15 18:54:21 UTC
Created attachment 11466 [details]
Check if the user prefers no smooth scrolling
Comment 2 Engin AYDOGAN 2005-06-15 18:56:49 UTC
With current implementation on SVN, unfortunetely it is not possible to disable smooth scrolling except completely removing it. It's optional in the new implementation but it's not in the SVN yet. Please bear with us.
Also, tell me what you don't like about it.
Comment 3 Luciano Montanaro 2005-06-15 19:21:04 UTC
Uh, very quick answer!

Well, I can wait for the correct implementation. Especially since my 10 minutes hack seem to do the job for me, for now.

As to why I do not like it, well, it's a number of reasons.

First, it feels slow. When I drag the scroll bar, I expect it to move solidly together with the cursor and with the panel content.

This does not happen with smooth scrolling, the content moves to its palce after a while.

The effect is worse if the machine is loaded with background tasks.
Finally, on slower machines, smooth scrolling is not going toi be enjoyable at all, so I tink a way to disable it should be provided anyway.

By the way, I hope smooth scrolling will be controlled by a kdeglobal setting,
Having to change thing like this in every application would be annoying.

Thanks again,
Luciano
Comment 4 Engin AYDOGAN 2005-06-15 20:10:54 UTC
> ------- Uh, very quick answer!

Oh, I am quick </Kramer>

> First, it feels slow. When I drag the scroll bar, I expect it to move
> solidly together with the cursor and with the panel content.
> This does not happen with smooth scrolling, the content moves to its palce
> after a while.

A lot of effort has been put for doing that ;)

> The effect is worse if the machine is loaded with background tasks.
> Finally, on slower machines, smooth scrolling is not going toi be enjoyable
> at all, so I tink a way to disable it should be provided anyway.

I have experienced no performense problems at all. Though there should be a 
way to disable it, of course.

> By the way, I hope smooth scrolling will be controlled by a kdeglobal
> setting, Having to change thing like this in every application would be
> annoying.

That is not a KDE wide implementationi just Kopete list views have that at the 
very moment.

If you would like to hack on next generation smooth scrolling ( which I have 
left developing it for more than two months, I simply don't have time atm ) 
check out this http://engin.bzzzt.biz/stuff/smoothscroll.tar.bz2

Best regards,

Engin AYDOGAN
Comment 5 Luciano Montanaro 2005-06-16 10:37:59 UTC
El Miércoles 15 Junio 2005 20:10, Engin AYDOGAN escribió:

>
> Oh, I am quick </Kramer>
>
> > First, it feels slow. When I drag the scroll bar, I expect it to move
> > solidly together with the cursor and with the panel content.
> > This does not happen with smooth scrolling, the content moves to its
> > palce after a while.
>
> A lot of effort has been put for doing that ;)
>
> > The effect is worse if the machine is loaded with background tasks.
> > Finally, on slower machines, smooth scrolling is not going toi be
> > enjoyable at all, so I tink a way to disable it should be provided
> > anyway.
>
> I have experienced no performense problems at all. Though there should be
> a way to disable it, of course.
>


Well, I find running configure makes smooth scrolling in khtml quite 
unresponsive on my main machine - An AthlonXP 2200, for your reference.
How would this work on a remote X session?

Besides, I just prefer lists to scroll stepwise. I turn off most eyecandy in 
KDE anyway: no animations, no contents in moving windows...
Maybe I'm just old fashioned :) 

Anyway, since we agree there should be a way to disable the feature, I think 
it's all right to provide it. 

> > By the way, I hope smooth scrolling will be controlled by a kdeglobal
> > setting, Having to change thing like this in every application would be
> > annoying.
>
> That is not a KDE wide implementationi just Kopete list views have that
> at the very moment.
>


Actually, SuSE seem to have patched khtml - maybe even KListView to enable 
smooth scrolling. Lubos wrote in a message to kde-devel that to disable it 
the flag was the one I mentioned.

Here is his message, for reference:
 
http://lists.kde.org/?l=kde-devel&m=111597294904795&w=2

I think maybe you could have a chat with Lubos - or with other implementors 
of smooth scrolling in KDE, and decide on what to do. As I said, I think 
one flag to enable or disable smooth scrolling throughout KDE would be 
best.

I brosed the kopete list and I've found your patch for the feature - it's 
quite big. 

Can I ask why did you implement it for the KopeteListView class instead of 
making it general? I did not study the patch at all, but either the feature 
is used throughout KDE, or not at all, in my view.

Luciano
Comment 6 Engin AYDOGAN 2005-06-16 11:18:06 UTC
On Thursday 16 June 2005 11:38, Luciano Montanaro wrote:

> Well, I find running configure makes smooth scrolling in khtml quite
> unresponsive on my main machine - An AthlonXP 2200, for your reference.
> How would this work on a remote X session?

Yes, it can such with remote sessions. But many features probably have their 
drawbacks in a way or other unfortunetely.

> Besides, I just prefer lists to scroll stepwise. I turn off most eyecandy
> in KDE anyway: no animations, no contents in moving windows...
> Maybe I'm just old fashioned :)

Stepwise scrolling has it's drawbacks, like one couldn't keep track of where 
he left, etc. It's obviously a matter of taste.

> Anyway, since we agree there should be a way to disable the feature, I
> think it's all right to provide it.

Yes but I don't have time atm, you are welcome to provide such a patch.

> Actually, SuSE seem to have patched khtml - maybe even KListView to enable
> smooth scrolling. Lubos wrote in a message to kde-devel that to disable it
> the flag was the one I mentioned.
>
> Here is his message, for reference:
>
> http://lists.kde.org/?l=kde-devel&m=111597294904795&w=2

Yeah, I remember reading that.

> I think maybe you could have a chat with Lubos - or with other implementors
> of smooth scrolling in KDE, and decide on what to do. As I said, I think
> one flag to enable or disable smooth scrolling throughout KDE would be
> best.

To make a kde wide configuration for that, first we should implement a smooth 
scrolling in kdelibs I believe.

> I brosed the kopete list and I've found your patch for the feature - it's
> quite big.
>
> Can I ask why did you implement it for the KopeteListView class instead of
> making it general? I did not study the patch at all, but either the feature
> is used throughout KDE, or not at all, in my view.

I was hacking on kopetes contact list, idea flashed in my mind, and I just 
started hacking on kopete's contact list, that's how it happened ;)

In the url mentioned above, is a generic smooth scrolling which is virtually 
applicable for all classes derived from QScrollView which is... well, many 
many things.
Comment 7 Matt Rogers 2005-06-16 14:01:30 UTC
On Thursday 16 June 2005 03:38 am, Luciano Montanaro wrote:
[bugs.kde.org quoted mail]

sure, it should probably be in KDE libs, but if it's implemented and proven 
working outside of kdelibs, it has a better chance of getting into kdelibs 
later.

my two cents,
Matt
Comment 8 Jason Keirstead 2005-06-16 16:32:36 UTC
Engin - is there any lines I can comment out in the current SVN to disable it?

I really dislike smooth scrolling as well - it makes the list scroll too slowly, and it makes me queasy. I turn it off in any app I encounter it in.
Comment 9 Engin AYDOGAN 2005-06-16 16:48:55 UTC
On Thursday 16 June 2005 17:32, Jason Keirstead wrote:
[bugs.kde.org quoted mail]
kopete/libkopete/ui/kopetelistview.cpp:232:        setSmoothScrolling( true );

Luciano's patch should do the trick too, it reads kdeglobals, which I find 
inappropriate for now because this is a kopete feature atm.

> I really dislike smooth scrolling as well - it makes the list scroll too
> slowly, and it makes me queasy. I turn it off in any app I encounter it in.

BTW, you might like to play with constants in the file mentioned above to make 
the speed fit your needs. I think smooth scrolling is easy on eyes.
Comment 10 Engin AYDOGAN 2005-06-17 10:24:24 UTC
> ------- Uh, very quick answer!

Oh, I am quick </Kramer>

> First, it feels slow. When I drag the scroll bar, I expect it to move
> solidly together with the cursor and with the panel content.
> This does not happen with smooth scrolling, the content moves to its palce
> after a while.

A lot of effort has been put for doing that ;)

> The effect is worse if the machine is loaded with background tasks.
> Finally, on slower machines, smooth scrolling is not going toi be enjoyable
> at all, so I tink a way to disable it should be provided anyway.

I have experienced no performense problems at all. Though there should be a 
way to disable it, of course.

> By the way, I hope smooth scrolling will be controlled by a kdeglobal
> setting, Having to change thing like this in every application would be
> annoying.

That is not a KDE wide implementationi just Kopete list views have that at the 
very moment.

If you would like to hack on next generation smooth scrolling ( which I have 
left developing it for more than two months, I simply don't have time atm ) 
check out this http://engin.bzzzt.biz/stuff/smoothscroll.tar.bz2

Best regards,

Engin AYDOGAN
Comment 11 Engin AYDOGAN 2005-09-27 05:19:22 UTC
Since KDE 3.5 will be released soon, I made a quick hack to disable smoothscrolling through ~/.kde/share/config/kopeterc, set SmoothScrolling parameter to false in ContactList section, next time you start kopete smooth scrolling will be disabled. Keep in mind that mouse navigation won't work when smooth scrolling is disabled since it uses smooth scrollings infrastructure.
The reason I didn't add a configuration dialog option is that we are in string freeze now.

~/.kde/share/config/kopeterc should look like;

[ContactList]
SmoothScrolling=false
Comment 12 Casey Allen Shobe 2005-11-22 18:27:26 UTC
> Keep in mind that mouse navigation won't work when smooth scrolling is
> disabled since it uses smooth scrollings infrastructure.

What exactly does that mean?  Could you kindly just disable this functionality entirely by default for 3.5?

It's bloody annoying, and slower than poo even on a fairly good/modern machine.  I would hate to see what happened if I ran this on my Ultra 2 or remotely.

Reasons it should go away and not come back until it's in kdelibs and disabled by default:
* It's annoying.
* It reminds me of Microsoft.
* It's slow.
* It's resource-intensive.
* It increases KDE system requirements.
* It's inconsistant.  kopete is not an experiment ground for new kdelibs features.

And while on the subject, why in the **** is there an option to disable the vertical scrollbar?  Yes, I'm aware that you can still scroll (with bloody annoying smooth scrolling) using the arrow keys or scroll wheel (if you have one)), but exactly what is the point of removing it?  In the case that the bottom of a contact lines up with the bottom of the visible area, you cannot tell whether you are viewing a full or partial list of contacts, without attempting to scroll.  This option makes no sense.
Comment 13 Engin AYDOGAN 2005-11-22 18:57:47 UTC
On Tuesday 22 November 2005 19:27, Casey Allen Shobe wrote:

> > Keep in mind that mouse navigation won't work when smooth scrolling is
> > disabled since it uses smooth scrollings infrastructure.
>
> What exactly does that mean?  Could you kindly just disable this
> functionality entirely by default for 3.5?

It means that you won't be able to scroll up/down by just moving your mouse 
over the contact list. You could check "what is" of mouse navigation but I'm 
telling you anyway;

When "mouse navigation" option is checked in "Behaviour" section you can 
scroll up/down your contact list by just moving your mouse. If you move your 
mouse upwards the list will scroll down, if you move your mouse downwards the 
list will move upwards. Every meta contact will intersect with your mouse 
cursor once when you move your cursor from top to bottom of the contact list 
view. 

This saves click+drag on vertical scrollbar, I personally use it. Disable, if 
you don't like it.

> It's bloody annoying, and slower than poo even on a fairly good/modern
> machine.  I would hate to see what happened if I ran this on my Ultra 2 or
> remotely.

It's not slow.

> Reasons it should go away and not come back until it's in kdelibs and
> disabled by default: * It's annoying.

It might be for you.

> * It reminds me of Microsoft.

MS doesn't have this, it has a crappy implementation in combo-boxes and that's 
it.

> * It's slow.

It is not.

> * It's resource-intensive.

It is not.

> * It increases KDE system requirements.

It does not.

> * It's inconsistant.  kopete is not an experiment ground for new kdelibs
> features.

You're obviously not the one to make that decision. (BTW, it's funny that I 
just got someone telling me the smoothscroll is great, as I'm writing this 
reply ;)

>
> And while on the subject, why in the **** is there an option to disable the
> vertical scrollbar?  

Because it always occupies space even when it's not necessary. And with mouse 
navigation you can do without vertical scrollbar.

> Yes, I'm aware that you can still scroll (with bloody 
> annoying smooth scrolling) using the arrow keys or scroll wheel (if you
> have one)), but exactly what is the point of removing it?  In the case that
> the bottom of a contact lines up with the bottom of the visible area, you
> cannot tell whether you are viewing a full or partial list of contacts,
> without attempting to scroll. 

That's true, and that's why it's optional. And you're free to implement or 
suggest a visual feedback method for notifying user about this.

>  This option makes no sense. 

It's you opinion.

Bottom line; disable it if you don't like it. The reason we don't have an 
option in the configuration dialog for disabling smooth scrolling is we were 
(and still are) in string freeze by the time I implemented disabling it.