Home > quickscrollplus

quickscrollplus

Quickscrollplus is a project mainly written in OBJECTIVE-C and SHELL, it's free.

Quickly scroll through anything on your iPhone. PDF paging. Initiate with two-finger or triple tap. Extended with 'tilt' scrolling feature.

h1. QuickScrollPlus

h3. - an extension of QuickScroll2 by KennyTM~, developed by Nathan Broadbent (www.f-77.com)

This is a fork of QuickScroll2, including bug fixes and 'tilt' scrolling using the iPhone accelerometer. It is tested and working on iOS 4.1. However, it is compiled with the 3.2 SDK, so it should work on >= 3.2 iPhones. If someone is able to confirm this, please let me know.

Please Note: This application will only ever work on a jailbroken iPhone.

See here for the original QuickScroll2 project wiki: http://code.google.com/p/networkpx/wiki/Using_QuickScroll

h2. Is known to work with..

  • Safari
  • Twitter
  • Facebook
  • Bible (YouVersion)
  • Wikipedia
  • iOctocat
  • MobileRSS

.. and it should just work with any app that uses standard tables or views (most apps do).

h2. Is known to NOT work with..

  • Dropbox ** PDF viewer already has a kind of 'QuickScroll' thing going on, and forces out QuickScrollPlus.
  • Evernote ** Uses a very custom UIView for the notes table, causes weird behavior when using QuickScrollPlus.
  • Contacts App ** Apple already has their own 'A-Z' scrolling system.

Also note that tilt scrolling is hard-coded as disabled on SpringBoard.

h2. Changes / Bug fixes

  • Fixed preferences bug where the 'disabled apps' page just crashed.
  • Fixed 'disabled apps' controller bug, where the state of the toggles was only saved on suspension, not deallocation.
  • Springboard app can now be disabled (was previously not showing because it had no icon and no localized title could be found).
  • Increased minimum size of scrollbar buttons (double the height / width of the circle.)
  • 'Tilt' scrolling. (double tap the scrollbar to activate.)
  • Horizontal (x-axis) tilt scrolling in portrait mode.
  • Landscape orientation scrolling.
  • Some fixes for stability and memory leaks.

h2. TODO

  • Fix whatever bug is causing the iPhone to freeze periodically. I'm not sure if it is due to my modifications, or if the original code also has this problem.
  • Fix 'disabled apps' settings page: Work out how to get icons showing for about half of the apps. Work out how to use the PS groups properly in the apps table without causing a crash.

h2. Installation

QuickScrollPlus will automatically uninstall QuickScroll2 if present, so you will need to reconfigure your settings.

The deb package will hopefully be hosted on a public repo soon. Until then:

  • Download the .deb package from the 'Downloads' section on this page.
  • SCP the package to your iPhone.
  • SSH into your iPhone, and run: ** $ dpkg -i hk.ndb.quickscrollplus*****.deb (where **** is the current version)

h2. Application Usage

To use the tilt scrolling feature:

Position your iPhone at a 45 degree angle.

Activate the grey scrollbars with your prefered method (double tap, triple tap, automatic, etc).

Quickly double tap the vertical scroll bars. They will turn blue to indicate that tilt scrolling is now enabled.

Tilt your iPhone towards you, and the page will start to scroll. You can control or reverse the speed by adjusting the tilt angle.

When reading, you may prefer your phone in landscape orientation. Tilt scrolling will detect this and switch to the appropriate accelerometer axis.

To turn off the tilt scroll feature, tap the scroll bar once.

  • You can use tilt scrolling on both the horizontal and vertical bars at the same time, but you will need to activate/deactivate them separately.

h2. Compiling and installing from source

Note: Compiling from source is not necessary. The instructions below are just for anyone who is interested in contributing.

In order to compile and install this application, you must have the following files on your Mac:

  • iOS 4.1 SDK or higher (including iPhone 3.2 SDK) ** Sign up for a free apple developer account to download.
  • networkpx repository (the original QuickScroll2 source code, and other required files) - check it out in a neighboring directory ** $ svn checkout http://networkpx.googlecode.com/svn/trunk/ networkpx-read-only
  • iPhone Private Frameworks repository - also check these out in a neighboring directory $ git clone git://github.com/kennytm/iphone-private-frameworks.git # You must then copy IOSurfaceAPI.h from your system into ./include/IOSurface (we can't distribute this file, as per the Apple license) ** $ cd iphone-private-frameworks && cp /System/Library/Frameworks/IOSurface.framework/Headers/IOSurfaceAPI.h include/IOSurface/
  • ldid in /usr/local/bin/ ** It was a bit tricky to find, so I've included it in the repository. Run the following from the repo directory: *** $ sudo cp ldid /usr/local/bin/ && sudo chmod 755 /usr/local/bin/ldid

See here for the original wiki that these requirements are based on: http://code.google.com/p/networkpx/wiki/Compiling_networkpx

h3. Modify the paths in ./src/Makefile if necessary.

iPhonePrivateFrameworksPath=../../iphone-private-frameworks networkpxPath=../../networkpx-read-only

h3. Compile and package

$ ./makedeb.sh

h3. SSH and install on iPhone

$ scp hk.ndb.quickscrollplus-0.3-1a.deb root@{{iPhone IP}}:/tmp $ ssh root@{{iPhone IP}} $ cd /tmp && dpkg -i hk.ndb.quickscrollplus-0.3-1a.deb

Reboot your iPhone, and you're done!

If you are experience crashing or bugs, please install Crash Reporter on your iphone and post the syslog output as an issue.