D9857: Smooth Scrolling

Ronald Macmaster noreply at phabricator.kde.org
Fri Feb 16 04:43:51 UTC 2018


rmacmaster abandoned this revision.
rmacmaster added a comment.


  Sorry, I sort of abandoned this patch because I got caught up in other things.
  
    * Smooth scrolling: Scrolling using the scroll wheel, arrow keys, PageUp/PageDown keys, or the spacebar will results in an animated transition effect rather than the view "jumping" to the new location 
    * Pixel scrolling: Doing a two-finger scroll gesture on a touchpad scrolls scroll pixel-by pixel proportionally with your fingers' movement, rather than the movement being interpreted as a scroll wheel and advancing the view by a fixed or user-configurable number of lines
  
  Originally, I was going for the first implementation, where users have the option to enable / disable the animation.
  I was inspired by the Mozilla Firefox UI, which allows users to toggle "smooth scrolling" in their preferences with a checkbox option.
  
  Smooth scrolling seems to be a controversial feature. Some people love it, but others really hate it and don't understand why others love it.
  I'm one of those people who's addicted to his phone, so I've grown spoiled by mobile scrolling.
  On a phone,  you can hold your finger on the screen and drag the text line-by-line smoothly.
  Okular's instant scrolling is a little hard on my eyes when I read text at different zoom levels. 
  Sometimes I need to hit the arrow key multiple times to feed a single line of text. 
  Sometimes one keystroke is too little, but two keystrokes is too much.
  
  The patch I wrote is basic and filled with bugs.
  It does two things poorly (controlling step size and animating the scroll).
  This could possibly be solved by experimenting with the timers built into Okular, but a better approach is probably more along the lines of what you mentioned.
  I think the responsibility of enabling smooth scrolling should fall on the Qt widgets rather than the Okular scroll event processing functions.
  Qt has a QScrollBar widget. Perhaps a QSmoothScrollBar or an instance method with a boolean option to enable smooth scrolling could be added.
  I'm running KDE on Debian, so I don't have a system setting I can change to universally enable smooth scrolling like those on Ubuntu might.
  
  - Step Size
  
  Changing the step size might be a nice feature to add on its own. 
  It's simple and can be added as a configuration parameter with a default value of 20. 
  This would allow users to fiddle with the step size so that it works comfortably at their desired zoom level.
  A step size of 20 may work well for 100% zoom, but what about 150%, 80%, full screen?
  
  Here are some links showing demand for a smooth scrolling feature:
  http://okular-devel.kde.narkive.com/ZM0xtQx4/okular-bug-319870-new-add-smooth-scrolling
  https://askubuntu.com/questions/66489/is-there-a-way-to-enable-smooth-scrolling-for-pdfs

REPOSITORY
  R223 Okular

REVISION DETAIL
  https://phabricator.kde.org/D9857

To: rmacmaster, okular-devel, #okular, ngraham
Cc: ngraham, #okular, michaelweghorn, simgunz, aacid
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20180216/edeecc39/attachment-0001.html>


More information about the Okular-devel mailing list