• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[APP][May 5 2009][WWE] TouchFlo Detacher 1.0.1.1 FINAL - Another TF3D/Today switcher!

Search This thread

thx1200

Inactive Recognized Developer
I have ceased development of this project because I don't use TouchFlo 3D anymore. All source code is available. If anybody wants to take over the CodePlex project, just PM me and it's yours for the taking! :)

Overview
TouchFlo Detacher is yet another way to simultaneously have TouchFlo 3D / 2D and the regular Today screen. Previous excellent solutions include SecondToday and ManilaControl.

CodePlex
TFD development is hosted at Microsoft CodePlex! http://www.codeplex.com/TFDetacher

Tip Jar
Like this app? Want more like it or quicker updates? Tip a buck (or Euro or Pound or whatever) or two to help the author out! Click here to make a safe donation via PayPal.

Description
So what makes mine different? Well, my app is actually very similar to MastSogo's ManilaControl. The main difference is that I plan to actively develop it now for a while, whereas ManilaControl has been a bit frozen in development for a few months. Mine is also open source, licensed under the Ms-RL. Mine is on CodePlex, so download speeds should be much better than the average rapidshare link. Finally, mine is in English and not Spanish. :) Other than that, it's just another solution for the same problem!

I must give a hearty thank you and bow to MastSogo for inspiring me to work on this.

I believe I am using a similar technical solution to his, but mine is written from the ground up, so it shares no source code with his!

See it in action on the YouTubes
http://www.youtube.com/watch?v=uk0xWm8PMGQ

Current features
- Free up your Today screen by hosting Manila outside of the Today screen! TouchFlo Detacher can launch/show/hide/close Manila independent of any other Today screen settings. Now you can have your TouchFlo cake and eat it too! The most obvious use is to assign a soft key to toggle between seeing TouchFlo and seeing the regular Today screen.
- Supports TouchFlo 3D and TouchFlo 2D.
- NO ANNOYING SPLASH SCREEN when application launches.
- Configuration application allows advanced customizations so that this utility can be used with non-standard or untested Manila versions.
- Configuration application can clean out the ManilaActivateToday.exe from the notification queue. (That app can interefere with TouchFlo Detacher's operation.)
- Shortcuts to start/show Manila, hide Manila, toggle (show/hide) Manila, and close Manila. These can be assigned to hardware buttons (if your device has them), to virtual hardware buttons through the use of 3rd party applications such as AE Button Plus, or to gestures using 3rd party applications such as FTouchSL.
- Configuration application can customize the softkeys in both Today and TouchFlo's Home tab. You can use it to not only assign TouchFlo Detacher operations (show/hide/close), but any other application on your device.
- Launch an application after TouchFlo launches... Such as SSMaHo. It's easy. Create an attach link in SSMaHo. Put the attach link in the config: \Windows\Start Menu\Programs\SSMaHo Attach.lnk

Known Issues
- On the Touch HD, the home hardware button does not return to the Manila "home" tab. This does not happen on the Pro or Diamond. Workaround: none. Scheduled fix: unknown.
- Sometimes the clock on the TouchFlo home page will stop and go out of sync with the real time. Workaround: hide and then show manila. I may need to create a scheduled task that can do that as an automatic workaround once per day for those experiencing the problem. Scheduled fix: unknown.

History
1.0.1.1 STABLE FINAL - Fixed bugs in 1.0.1.0; Added ability to launch an app after TouhcFlo launches.
1.0.1.0 BETA - The first version of TFD that no longer requires a pseudo-service. All functionality should be identical to 1.0.0.5, otherwise.
1.0.0.5 STABLE - The "hide then show" workaround wasn't working in some instances, so I put extra detection code in to determine the current state of Manila before issuing the hide/show commands. If this doesn't work, I can add customizable delays. Also added AppToDate support!
1.0.0.4 STABLE - First release I am considering stable! It is identical to the very tested 1.0.0.3 except for one new feature. When you start the TFDService you can now optionally have it hide and then show Manila immediately. It does this VERY quickly, so you may not even notice it happening on screen. This is done so as a workaround some users are having where they cannot access the phone until Manila is hidden at least one time. Very odd behavior. It is working perfectly in my tests, but please let me know if this workaround doesn't work for you.
1.0.0.3 Beta - TF2D support I think is finally complete! Please test! New layout for TFDConfig. Standard and advanced options are now in separate tabs. More advanced options for alternate Manila configurations. Fixed bug in config where a crash could happen when you tried removing ActivateManilaToday. Toggle TouchFlo command is now available (note: this toggles show/hide, NOT show/close).
1.0.0.2 Beta - New language-neutral detection of Manila process and window handles (no longer need to know titles!). Fixed (hopefully) bug where the softkeys sometimes didn't hide correctly. Window class "search" is no longer case sensitive. Optional delay when starting Manila at system start-up (attempting to work around issue where Manila won't launch on startup).
1.0.0.1 Beta - Confg app can now start the service. The service has better error reporting. Config app can remove TouchFlo today item. No need to soft reset! TouchFlo 2D support (maybe - I'm trying!). Some crappy icons ;-) ... Service detects if TouchFlo Today item is enabled. Link to start and stop the service. Fixed installer bugs. Bug fixes!
1.0.0.0 Beta (aka BETA1) - Initial release

Download
CAB Installer: http://www.codeplex.com/TFDetacher/Release/ProjectReleases.aspx
Source Code: http://www.codeplex.com/TFDetacher/SourceControl/ListDownloadableCommits.aspx

Installation
As explained on CodePlex...
1. Install the CAB
2. Run TFDConfig (important!!!)
3. Enable all the standard Today Items you want to use
4. Do not re-enable TouchFlo in the Today items (if you do, it will undo all your other Today plugins and your device might freeze up, requiring a soft reset)

Requirements
Windows Mobile 6.1
.Net Compact Framework 2.0
A device that runs TouchFlo3D (Manila) or TouchFlo2D (Manila2D).
 
Last edited:

thx1200

Inactive Recognized Developer
FAQ

FAQ

Q: I uninstalled TouchFlo Detacher but TouchFlo did not come back!

A: Changes made with TFDConfig will not automatically be undone when you uninstall TouchFlo Detacher. To get TouchFlo back, go into your phone's settings. Go into Today. Go to the "items" tab. Check in "TouchFlo 3D" (or 2D or whatever). Exit. TouchFlo will be back.



Q: I uninstalled TouchFlo Detacher but my softkeys did not go back to the way they were before!

A: Changes made with TFDConfig will not automatically be undone when you uninstall TouchFlo Detacher. Do not worry! Fixing this is very simple. Before uninstalling TFD, it's recommended you run TFDConfig one more time and reassign the softkeys to whatever you want them to be. For TouchFlo's softkeys, all you have to do is set them both to empty (as in, nothing) to get the default softkeys (phone/programs). For Today's softkeys, you can assign them to whatever you want -- calendar, phone, contacts, your choice!

If you have already uninstalled TFD, you will need to use a registry editor to reset the values. Here are the relevant keys:

Today left softkey:
HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\112
[Default] = Text on softkey
Open = Path to program to run

Today right softkey:
HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\113
[Default] = Text on softkey
Open = Path to program to run

TouchFlo 3D left softkey:
HKEY_LOCAL_MACHINE\Software\HTC\Manila
HomeLSKText = Text on softkey
HomeLSKPath = Path to program to run (or blank for default)

TouchFlo 3D right softkey:
HKEY_LOCAL_MACHINE\Software\HTC\Manila
HomeRSKText = Text on softkey
HomeRSKPath = Path to program to run (or blank for default)

TouchFlo 2D left softkey:
HKEY_LOCAL_MACHINE\Software\HTC\Manila2D\Home
SK1 = Text on softkey
SK1Cmd = Path to program to run (or blank for default)

TouchFlo 2D right softkey:
HKEY_LOCAL_MACHINE\Software\HTC\Manila2D\Home
SK2 = Text on softkey
SK2Cmd = Path to program to run (or blank for default)
 
Last edited:

motisu

Senior Member
Apr 2, 2006
1,279
97
66
Hi,

Is this a Manila3D only switcher or will it also work with Manila2D? I have been using Mastsogo's until now, but the lack of support is a bit worrying.
 

thx1200

Inactive Recognized Developer
Hi,

Is this a Manila3D only switcher or will it also work with Manila2D? I have been using Mastsogo's until now, but the lack of support is a bit worrying.

It may work with TF2D, I just have no way to test it since my device is TF3D. In the config, you can specify the location of the Manila EXE and the window class/titles. I'm assuming since MastSogo's did both, it's just a matter of tweaking those settings. As soon as somebody gets me that info, I can add it into the config app.
 

Uracil

Senior Member
Apr 21, 2007
72
0
Portland, OR
Installed on a Wizard (WM6.1 5.2.20273) running Manilla2D, set Today screen to use TodayAgenda 1.5 only. After soft reset, I get a Win32Exception with the following debugging information (see attached).

I'm checking the launch parameters in the config now (I started with the defaults).
 

Attachments

  • error.jpg
    error.jpg
    78.1 KB · Views: 705

Uracil

Senior Member
Apr 21, 2007
72
0
Portland, OR
Sheesh, I should have checked the parameters before going to the work of assembling that debugging jpeg. For Manila2D, the two references to Manila.exe need to be changed to Manila2D.exe. I still don't have it working, but at least it only throws one error message now. ;)

I don't have any more testing time today. Good luck with your app.
 

motisu

Senior Member
Apr 2, 2006
1,279
97
66
It may work with TF2D, I just have no way to test it since my device is TF3D. In the config, you can specify the location of the Manila EXE and the window class/titles. I'm assuming since MastSogo's did both, it's just a matter of tweaking those settings. As soon as somebody gets me that info, I can add it into the config app.

As Uracil said, the name of the executable for TF2D is Manila2D. That's why Manila control needs a config program. It asked which one you are using and sets the parameter accordingly.
 

NLS

Senior Member
May 27, 2005
2,493
62
Piraeus
www.ilogic.gr
I will try this for sure!

TWO THINGS!

1) anybody knows a safe way to uninstall Manila Control?

2) I am a bit affraid of this "resident" thing... this program (TFD let's call it) uses one of the very scarce 32 processes? if YES sorry it's not for me (I am already dangerously close to the limit - up to the point that some sync processes don't have where to run)
 

mrvanx

Retired Moderator
Aug 27, 2006
2,965
59
York
www.mrvanx.org
Ran through the steps to set it up, on soft reset the device hangs at the startup HTC animation, Hard reset time ;) , the manila im using has the following mods:
  • CFC Compression
  • Background 4 all tabs (mun rus)
  • Stocks tab
  • HD contacts

Will investigate further..

EDIT: Havent been able to replicate this issue after a hard reset, probably something else i installed.

Minor issue ive spotted though, set left softkey in TF3D to "Today" which hides TF3D....in the blank today screen i dont see the setting for the left softkey (Which is set to "TouchFlo 3D" and should show TF3D) i still see the softkey setting from when TF3D is visible. So the effect is i cant get back to TF3D after hiding it unless i literally run it from the start menu.
 
Last edited:

thx1200

Inactive Recognized Developer
I will try this for sure!

TWO THINGS!

1) anybody knows a safe way to uninstall Manila Control?

2) I am a bit affraid of this "resident" thing... this program (TFD let's call it) uses one of the very scarce 32 processes? if YES sorry it's not for me (I am already dangerously close to the limit - up to the point that some sync processes don't have where to run)

WM 6.x and newer raised the process limit to 32768, so you should be fine. :)

EDIT: I was wrong! Don't believe me! :) Keep reading below. (The short of it: WM6 is based on CE 5.0, NOT CE 6.0, which is the version of CE that doesn't have the 32 process limit.)
 
Last edited:

thx1200

Inactive Recognized Developer
Sheesh, I should have checked the parameters before going to the work of assembling that debugging jpeg. For Manila2D, the two references to Manila.exe need to be changed to Manila2D.exe. I still don't have it working, but at least it only throws one error message now. ;)

I don't have any more testing time today. Good luck with your app.

The exception you showed is the service not finding the EXE. There are two places you need to change it. The "EXE Only" config is just the name of the EXE (for finding it in the running process list). The "full path" is where the file is located in the file system (including the EXE name!). Did you change both?

Thanks for the info. I'm going to make that "file not found" error more friendly for beta2. Also, now that I know what I'm looking for, I can add a built-in way to switch from Manila3D to Manila2D.
 

thx1200

Inactive Recognized Developer
Ran through the steps to set it up, on soft reset the device hangs at the startup HTC animation, Hard reset time ;) , the manila im using has the following mods:
  • CFC Compression
  • Background 4 all tabs (mun rus)
  • Stocks tab
  • HD contacts

Will investigate further..

Does it get to the Today screen at all? The service is in the Startup folder. All it does is try to Launch manila.exe at startup (you can actually even disable that if you want to in the config), so it would be really weird if that froze the device. Not saying it's not possible, just really really weird!
 

mrvanx

Retired Moderator
Aug 27, 2006
2,965
59
York
www.mrvanx.org
Does it get to the Today screen at all? The service is in the Startup folder. All it does is try to Launch manila.exe at startup (you can actually even disable that if you want to in the config), so it would be really weird if that froze the device. Not saying it's not possible, just really really weird!

See my edit above ;)
 

NLS

Senior Member
May 27, 2005
2,493
62
Piraeus
www.ilogic.gr
WM 6.x and newer raised the process limit to 32768, so you should be fine. :)

No man you are wrong (100%).
In *my* WM6.1 at least, the limit is 32. Well in fact all WM6.1.
Only new WinCE (not the builds used in WM6.X) have lifted this limit.
WM7 is supposed to not have this limit (because uses different WinCE) and a very small possibility (like 5%) that WM6.5 will have this limit lifted.

With the help of Daniel Herrero (the guy that makes CommManagerPro) we even built a simple app that we run as much as we could, to test this.

Sure enough my device after 4-5 runs started killing other apps. After 1-2 more runs, I got a pop-up that said that I cannot run more apps because I reached the process limit. My device is a loaded Touch Pro.

His much lighter X1, sure enough came to the same result, but only after more runs, about 10 or something (since he had more process "slots" free).

So you probably have to (and please do) rethink your strategy (for example use a REAL service or handle things based on triggers) as processes ARE a scarce commodity in WM.
At least add a mode or something that doesn't use a process all the time (even with some extra delay). I will certainly NOT eat more of my processes.
 
Last edited:

abeery

Senior Member
Jun 12, 2007
135
0
Honeoye Falls, NY
I installed this on my Touch HD... ran config but chaned nothing, disabled TF3d and soft reset... now don't know what to do... seem to be missing a step... for example how to toggle between Today and TF3d... running hide and close tf3d in the utilities folderdoes nothing
 
Last edited:

thx1200

Inactive Recognized Developer
No man you are wrong (100%).
In *my* WM6.1 at least, the limit is 32. Well in fact all WM6.1.
Only new WinCE (not the builds used in WM6.X) have lifted this limit.
WM7 is supposed to not have this limit (because uses different WinCE) and a very small possibility (like 5%) that WM6.5 will have this limit lifted.

With the help of Daniel Herrero (the guy that makes CommManagerPro) we even built a simple app that we run as much as we could, to test this.

Sure enough my device after 4-5 runs started killing other apps. After 1-2 more runs, I got a pop-up that said that I cannot run more apps because I reached the process limit. My device is a loaded Touch Pro.

His much lighter X1, sure enough came to the same result, but only after more runs, about 10 or something (since he had more process "slots" free).

So you probably have to (and please do) rethink your strategy (for example use a REAL service or handle things based on triggers) as processes ARE a scarce commodity in WM.
At least add a mode or something that doesn't use a process all the time (even with some extra delay). I will certainly NOT eat more of my processes.

You are right. I was going on what I read on another website from a while back. I just did some research and, sure enough, WM6 is based on CE 5, which has the 32 process, 32MB limit still in place.

The strategy I am using will not change as there is no way (that I know of) to write a service DLL in the Compact Framework, but if somebody knows of a way, I will certainly look into it.

EDIT: I did a check and I'm only running 24 processes with my media app, Total Commander, TFD, 3 other "service" apps (dont forget, PocketShield, VistaHide Battery Bar). That leaves me with 6 more apps until WM6 gets nervous (it seems to close after going above 30). How are you so close? I'm not judging your mobile computing habits, I'm just curious! Also, I'm thinking of rolling the "service" code into stand alone EXEs for cases like yours, but it will be very slow switching back and forth. I tested that at first before deciding on the memory resident app and it took about 5 seconds to switch each time. But maybe you'll have better luck! :)
 
Last edited:

thx1200

Inactive Recognized Developer
I installed this on my Touch HD... ran config but chaned nothing, disabled TF3d and soft reset... now don't know what to do... seem to be missing a step... for example how to toggle between Today and TF3d... running hide and close tf3d in the utilities folderdoes nothing

It's possble the HD may have a slightly different Manila configuration than the Diamond/Pro. If you find the manila.exe and can scan the window classes and titles (such as with FDCsoft's Task manager) that will give you the info you need to configure it for the HD. If you figure it out, post it here so I can add it to the config app.
 

thx1200

Inactive Recognized Developer
EDIT: Havent been able to replicate this issue after a hard reset, probably something else i installed.

GOOD! Whew!

Minor issue ive spotted though, set left softkey in TF3D to "Today" which hides TF3D....in the blank today screen i dont see the setting for the left softkey (Which is set to "TouchFlo 3D" and should show TF3D) i still see the softkey setting from when TF3D is visible. So the effect is i cant get back to TF3D after hiding it unless i literally run it from the start menu.

Let me see if I am understanding you. The left soft key on the "real" Today screen says "TouchFlo" but it isn't launching TouchFlo? If you go into the configuration and set the Today left soft key using my quick drop down (Show TouchFlo 3D) this doesn't fix the issue? If so, can you post what the app path is that it is showing?