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).
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)
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.
motisu said:
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.
Click to expand...
Click to collapse
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.
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).
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.
thx1200 said:
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.
Click to expand...
Click to collapse
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.
Fantastic. Loaded this onto my AT&T Stock, fully bloated Fuze. Works like a champ! Great app, thanks!
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)
nice app! well done
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.
NLS said:
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)
Click to expand...
Click to collapse
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.)
Uracil said:
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.
Click to expand...
Click to collapse
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.
mrvanx said:
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..
Click to expand...
Click to collapse
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!
thx1200 said:
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!
Click to expand...
Click to collapse
See my edit above
thx1200 said:
WM 6.x and newer raised the process limit to 32768, so you should be fine.
Click to expand...
Click to collapse
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.
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
NLS said:
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.
Click to expand...
Click to collapse
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!
abeery said:
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
Click to expand...
Click to collapse
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.
mrvanx said:
EDIT: Havent been able to replicate this issue after a hard reset, probably something else i installed.
Click to expand...
Click to collapse
GOOD! Whew!
mrvanx said:
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.
Click to expand...
Click to collapse
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?
Hi,
What is the best Task Manager application for HTC Kaiser?
I am looking for a good task manager that I can assign it to a hardware button.
Which it can list all running applications , processes , memory usage , CPU.
It is able to kill process, etc.
At this moment, I am using DinnarSoft "Handy Switcher".
But, I am looking for a better alternative.
Thank you.
You could try QuickMenu or WK Task, both of them are free and very, very good.
Hello all!
I really need your help, searched through this and other sources for 2 days now without any solution.
I usually set <Input Panel> to a hardware button on my devices,
so i can open the software keyboard (sip) inside fullscreen applications.
On my diamond i did this setting:
Button 1 (Hold) -> Input Panel.
For example in java fullscreen applications, like TibiaME,
i usually open the input panel by holding the "green" button.
Using this method, i was able to type inside java apps/games/midlets.
This worked perfectly on my HTC Prophet and on some ROMs on Touch Diamond.
But since i flashed my preferred ROM (BsB 6.5.1G), the software keyboard directly
closes again, if i open it inside some fullscreen applications.
For example, if i run a fullscreen java game on jbed, or Resco Snake,
the keyboard shows up like expected if i long-press the call button,
but directly disappears again.
The java apps also resize if i try to open the software keyboard,
leaving a gap where the keyboard should be, showing the application in the background (usually my homescreen).
The keyboard shows up, but directly closes again.
I never expierenced that problem before.
In some other applications, that problem doesnt appear.
For example in teeter the keyboard shows up and
stays in position like it should.
If anyone out there has an idea or a small hint,
it would be very nice if you could post your thoughts here.
Also, if you could test that behaviour on your device and post your
result here could be very helpful.
Im really stuck at this point and flashing another ROM
is not an option for me at the moment.
I already asked for that inside the ROMs thread,
but since it appeared on another ROM too, its not only ROM-related.
ROM-Thread: http://forum.xda-developers.com/showthread.php?t=506533&page=687
Edit:
For java midlets, i now use the following workaround:
-JBlend for "windowed" midlets, windows-bars visible, any SIP working.
(TibiaME update from 1.7 to current version fails, maybe someone could proof that?)
-Esmertec Jbed 20090506.2.1 for midlets that don´t need a SIP, like Final Fantasy.
For me, only swype works in fullscreen-mode.
-JRebeiro_Esmertec_Jbed_-_Build_20071119.3.1 for online games that need SIP and fullscreen-mode.
Any SIP working in fullscreen mode. Build is outdated, but allows SIP to stay in foreground.
I´m still looking for volunteers to check this on different devices / ROMs.
Still no solution for windows native applications and latest JBed builds.
Thank you very much for any help!
Best regards,
xumx
How can i receive the hardware key button event On Windows phone 8 App?
I have many problem,
I developed the WP8 App in the WP Device OEM Manufacturers.
So I can access to "OS, Device Driver, App".
But there are various MS documents, By First Time,
The developement is too hard.
The WP 8 is available features are very limited. The Windows CE / WM is a very different behavior.
I want to access the OS Layer by the API (Funtion)
Back button : Success. I found this key event.
Home button : ??? (I don't know)
Search button : ??? (I don't know)
Volume Up / Down : Just working volume.
Camera Key : Can i change the default camera app?
Power Key : Can i optionally lock the power key?
OEM Key (Barcode Key) : Push the button, I want to execute the My App?
Have you ever used these methods can I?
- Named Event
- SendMessage / PostMessage
- Other Communication
I guess the Key-Point "How can i communicate Device driver <-> App"
I am studying now the following Function.
- Service Agent
- IPC
Please help me any infomation the you think good... Have a nice day.
Whoa... you're writing a driver for WP8 and trying to have it talk to an app? Or are you writing an app that you want to have talk to some existing driver? Sorry, it's not really clear.
From an app, itself, there's no public API to see any hardware button keypress except Back, maybe Focus (half-press on camera), and maybe Shutter (full-press on camera). The OS handles everything, and intentionally doesn't let apps interfere.
Now, if you're writing something that isn't a traditional "app" - for example, if you're an OEM - then that's a different story.
I will study the more infomation on side by WP8 OS Driver.
Thanks a lot for your comment.
I will be studying the more knowledge from WP8 OS Position.
and I will share the more good information.
[1st Goal]
1. Click the HW key button (OEM Button).
2. The device driver will catch the HW key intrrupt (Event).
3. [It is not clear] And Set the event.
4. [It is not clear] If i can use the native code like a Win32 API, I use it or other api.
5. If i can the catching The event notification, Do Sometiong!!!
A) Execute the alternertive App.
B) Work the Something on the background App(Service).
GoodDayToDie said:
Whoa...
you're writing a driver for WP8 and trying to have it talk to an app?
-> this is the other engineer's task.
Or are you writing an app that you want to have talk to some existing driver?
-> this is my task. But we are on Team. So we are being cross-checked.
Sorry, it's not really clear.
From an app, itself
, there's no public API to see any hardware button keypress except Back
-> I could catched by the below method.
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
, maybe Focus (half-press on camera)
, and maybe Shutter (full-press on camera).
-> I found this document about camera on MSDN.
but I was not yet confirmed.
The OS handles everything, and intentionally doesn't let apps interfere.
Now, if you're writing something that isn't a traditional "app"
- for example, if you're an OEM - then that's a different story.
-> As you think, we are onI think found this document about camera on MSDN.
but I was not yet confirmed.
Click to expand...
Click to collapse
What do you mean by "OEM Button"?
If you are developing for an OEM, you have access to APIs which mare mortals like the rest of us do not have access to(not "legally" at least). There are internal documents specifying on how to use such APIs. You should probably consult the documentation Microsoft gives you on the matter, rather than asking here...
and btw, i would be more careful on shouting out infos about the OEM i work with...
Thank you for quick answer every time.
I understand what you're talking about "OEM & legally".
That's important part of project.
I don't want to confuse somebody by this question.
but i just have my lack about the WP8 knowledge.
I will try to consult on Microsoft.
Once again thank you.