[Touch GSM ROM Development] sndance:
Hey peeps,

Here's a nice way of saving about 5 megs of memory without loosing functionality, and gaining much more configuration freedom to your hearts content.

The HTC Touch has a service running in the background that controls finger-friendly kinetic scrolling and launches the Cube when you swipe up from the bottom. The biggest memory hogger of this process is the Cube itself that once it's launched stays in memory and eats about 5 megs of precious RAM.

Stopping the Cube from launching is easy enough but you will also loose functionality this way that you may not want to do without so I was looking for some alternatives.

Alternative 1:

I tried fTouchFlo (available on this forum somewhere), a gestures based application launcher, but found it takes up about 1.2 megs of RAM just for the launcher (you won't use the fTouchFlo scrolling on a Touch) and does not react entirely the way I want it to, ie. I only want it to detect gestures when I start swiping away from a screen edge, not when the swipe starts in the middle of the screen. I also have not found a way to completely remove the service that controls the Cube launch (think this would also kill finger scrolling) so fTouchFlo just eats more RAM then I would like it to on a HTC Touch that has the basic gesture functionality built-in already anyway.

Alternative 2:

I also looked long and hard for a finger friendly task manager but to no avail, until I discovered MortButtons. Not only does this tool contain the only finger-friendly task manager around, it's main features also allows it to be an excellent and easy to configure Cube alternative. Combine this with the default gesture based Cube launcher in the HTC Touch and you save a big chunk of RAM without loosing functionality!

So here's how it goes:

Download VJBrisk from

http://www.vijay555.com/?Releases:VJVolubilis

GSFinder (may also work with TotalCommander but I haven't tried) from

http://www.google.de/search?q=gsfinder

MortButtons from

http://www.sto-helit.de/

Install the tools:

- Install GSFinder (you could also use TotalCommander if you prefer)

- Install MortButtons and play a bit with the options and configuration

For the next steps I will assume that you have made yourself familiar with the above tools already. These steps described are for Windows Mobile 6 and above, yet they may also work for WM5 (here the Biotouch startup link is located in \Windows\Startup if I am not mistaken):

- Using GSFinder go into the View|Options... menu, uncheck all checkboxes in the Hide section

- Browse to \Windows and find LaunchStartupApp.lst (could also be called StartupApp on some OS versions), copy this in some other folder and open it on your desktop PC in notepad. My version looks like this:

#\Windows\WiFiInit.exe#
#\windows\startkey.exe#
#\Windows\StartUPBioTouch.exe#

Delete the line with StartUPBioTouch.exe and save, then copy back to your Touch

(Note: I deleted all entries and copied back an empty file, am not missing anthing, WiFi, BT, GPRS, ActiveSync all still works and saved even some extra memory)

- Using GSFinder, copy your new LaunchStartupApp.lst and paste it into \Windows, you will be asked to confirm to overwrite, do so

- Restart your Touch, it will now start without the Cube in memory, DO NOT use the Cube until you finish all steps described here

- Use GSFinder to show the properties of \Windows\Biotouch.exe, remove the read only check

- Create a shortcut to \Program Files\MortButtons\MBRunner.exe (or wherever you installed it) and rename it to VJTarget.lnk

- Edit the shortcut (with GSFinder or use notepad on your computer) and change it as such:

41#"\Program Files\MortButtons\MBRunner.exe" "\Program Files\MortButtons\Button1.mbi"

- Run the shortcut by clicking on it, Mortbuttons should start, if it didn't than you need to double-check the shortcut and make sure it points to MBRunner.exe and has the correct path to Button1.mbi

- Put the shortcut into \Windows

- Now, using GSFinder, browse to where you have stored VJBrisk.exe, rename it to Biotouch.exe and copy and past it into \Windows, you will be asked to overwrite, choose Yes.

That's it. Now, swipe up, like you would when starting the Cube et voila, instead of the Cube you now get Mortbuttons, fully configurable with loads of animations and gesture shortcuts to choose from.

I have shortcuts on my home screen for most of the applications the Cube has (Internet, Music, Photos, Communication etc) so I never really needed the Cube except for the quick-dial contacts page and communications manager. So, I have set up MortButtons to show a list of contacts with pictures (this is just as easy to configure with MB as with the Cube quick-dial) on Button1.mbi, then when I swipe to the left it switches to TaskList.mbi (fantastic finger-friendly big button task manager included with MB). I've set up the gestures to exit MB when I swipe down, just like the Cube does. MB is fully skinnable even allows a transparent background, can do transition animations between the panels etc. Up to 5 button pages + task manager can be configured by default but you can always add more.

Have fun with this!

Cheers and special thanks to Mort for MB!

Sndance

Ps: the more pages you have in MB, the more memory it will take up, 2 pages eats up about 500kb (the Cube used almost 6 Megs remember ;) ) but you can also set it so it does not stay in memory after closing (MortButtons, not the Cube).

PPS: attached MortButtons (check Morts site for newer releases), GSFinder, and all files to copy into \Windows (includes VJBrisk already renamed to Biotouch, a shortcut to MB installed on the device - not storage card - and an empty LaunchStartupApp.lst)

PPS: screenshots attached, if you are wondering what is on my Today screen: Ultimate Launch (www.ultimatelaunch.de) and RLToday (www.rotlaus-software.de) for iLook buttons and functionality. These give me the freedom not to have to use the Cube and offers tons of functionality. psnap000.jpg is the Today screen, swipe to the left gives me psnap001.jpg (settings and such) and swipe to the right psnap002.jpg (calendar+)