Today screen replacement - Windows Mobile Development and Hacking General

Hey everybody, I've got a HTC Wizard phone running Wm5 and I would like to write a different today screen application (not a new plugin, but replace entirely the today app - plugins host).
I search the net for informations about the application, but I could only find out that is called host.exe.
Does any one know what kind of restrictions are for this type of application?
Does it need to respond to some specific things?
And how can I replace it with my exe?
Or at least where can I find such information?
Thanks

It seems to me that the today app doesn't need to meet any special requirements. You can replace it with any app. However you will lose the start menu and the clock bar if the new application doesn't provide such functionality.
There is one thing I could not find: how can you specify the application that will be started as today screen.. I assume this would be a reg key but i could not find it yet.

Related

Mysterious disappearance of a today plugin

I installed a few softwares on my PDA (imate a.k.a. XDA II) yesterday. Some of them had today plugins so they created entries in the today plugin list.
One strange thing that happened is that my Inbox today plugin has disappeared from the today plugin list.
Any idea where it went and how to get it back? And what controls what shows up on the today plugin list?
Limited number of today plugins
First off, I am assuming that you have gone to your settings - Today and made sure that it's not just a problem with checking/unchecking the plug-ins listed. Secondly you will need a registry editing program like PHM RegEdit or Resco Explorer Registration add-in. Find your way to HKEY_LOCAL_MACHINE then SOFTWARE then Microsoft then Today then Items. Delete any keys you are not currently using to bring the list below 13 (If memory serves me it's 13). Whether or not you actually are displaying the plugin or even use the software, as soon as the key is loaded it takes a "slot" on the list and once you reash the limit the OS just remove one to make room for another on the Today screen. To make matters more annoying, it seems that, at least for me, the inbox is the first to go instead of 3rd party plugins. Hope this solves your problem - if not post more details and we'll see where to go next.
Yes an OS problem that a few of us have faced and discussed previously.
If you install too many today plug ins for the OS to handle the InBox is the first to disappear.
If you require additional info there are existing threads dealing with the same issue.
Ed

TodayPlus on wizard?

Has anyone got TodayPlus http://www.pocketpcfreeware.com/en/index.php?soft=843
up an running on the wizard. It is/was the best todayscreen plugin on my old Ipaq. I can get it to run as a stand alone app. but not to integrate as a plugin.
Al
Hmm.. I reviving this threat after 'discovering' something called 'TodayPlus'. I did a google to it and it seems to be a very powerful program. From the looks of it, it seems to have the potential to cover both PocketBreeze and PocketPlus.. and yet it seems to be not often being discussed here. It seems to be able to do everything, by scripting (feels to be like the PPC version of Samurize.com)
I'm bound to give it a go this weekend.
Those who are interested, take a look at this MASSIVE forum just for this today plugin/application.
http://forums.jhollin1138.com/
French version http://www.todayplus.fr.tc/
You may able to download the software from the link above (post by `wizzzard`).
Note that, there are a lot of software named TodayPlus, which includes a Palm based software that tries to emulate PPC Today. So, it is rather confusing to do a google for it. Anyway, the 'head' of TodayPlus seems to be at this site
http://www.dark-mojo.com/
But it seems to be currently down.. interesting...
i got it working
http://forum.xda-developers.com/viewtopic.php?p=360201#360201
but i couldn't get it to update weather, rss,radar
attaching the program
Todayplus is/was the best plugin I found. It worked perfectly on my WM2003 Ipaq2210 and works on my WM5 Wizard. It was designed for WM2003 and does not support landscape correctly. There is no support available from the author but remains for me the most adaptable today screen plugin.
Don't work for me...
I got only a blank screen. Any suggestion?
Ciao
blank screen
i have given edited dll also in that archive.
Skip the steps for editing it and you have to follow these steps
phuntum (05-27-2005) - v0.11.0
On your PPC use a file explorer that will allow you to see extensions and hidden files to find the file “todayplus.dll” in \Program Files\TodayPlus and copy it to your PC. On your PPC turn off the TodayPlus plugin (uncheck in the Settings/Today screen), soft reset, and move “todayplus.dll” from \Program Files\TodayPlus to \My Documents. On your PC use a hexeditor to open the “todayplus.dll” and search for “7D 1E A0 E3 03 08 A0 E1”; replace “7D” with “8D”; save the edited “todayplus .dll” and copy it back to \Program Files\TodayPlus on your PPC. Delete” todayplus.dll” from \My Documents and reset your PPC. On your PPC turn on the TodayPlus plugin (check in the Settings/Today screen) and soft reset.
phuntum (05-28-2005) - v0.11.0
The above fix is permanent. Save the new todayplus.dll in a safe place so that if you have to reinstall (e.g., after a hard reset) all you need do is install, disable, and replace as per above. You might want to save the instructions just in case. Free hexeditors are abundantly available. Do a web search for one. It's a great program and the effort is worth it. When you're ready, surf over to http://www.jhollin1138.com for a goldmine of help. There is a great debate as to whether the fix should be shared--somewhat hypocritical in my estimation, since those who were lucky enough to get it before it disappeared are using it.
these are the directions from ppcfreewares i followed
after doing this go to this thread http://forums.jhollin1138.com/viewtopic.php?t=1292
and start with no 6 in instructions
good luck
I still need to reinstall this plugin after upgrading my ROM.
There are loads of diferent skins available my favourite is attached.
The Dark Mojo forum closed ages ago but discussions particularly on the "Hammerskin" skin are ongoing on http://forums.jhollin1138.com/
Hammerskin is awesome but it was too much of a resource hog last time I tried it.
Sorry for the double post
updates?
did u get weather and rss updated?
I have tried it twice on my Kjam. Used the modified dll provided. however, I can only see a white screen when trying to access the settings! :S Does anybody know what I am doing wrong? Thanks
Ok, I found it! I was missing the .net!
Very nice application with beautifull skins! Only drawback is that it does not auto refresh when you add a new apointment or task!
Apart from that its a really nice application!
Arrgghh,
Reinstalled on my Wizard after upgrading to Molski's ROM. I can get it working as a plugin rather than as a stand alone program, which previously was my stumbling block. Now I can't get the config utility to remember my location or get weather and rss feeds updated. This did work on my old ROM. I think it is just some reg settings that need creating but why it worked before and not now I do not know.
Hi Guys,
Im a newbie to this plugin but so far I understand that its able to make short cuts on the "desktop" just like a normal pc....and thats what Im looking for.
Ive followed the instructions carefully and the first time it went okay....i.e I got the slider.txt in the skin box. However I didnt find the "okay" button on the top.
Well I followed the instructions but it didnt show up on my desktop....strange so I uninstalled.
Now Ive been reading a bit further and read that the reason why it might not have workd could be the date so I decided to set back the clock 2 years and reinstall it.
2nd time around I dont get the slider.txt option, it has saved my settings from my first install....and it still doesnt work.
help help help
Well after som struggle I managed to get the slider.txt into the "Select Skin (DLL)"
But its still not working on my today screen. I can choose it as the only item on the today screen however its just blank.
Is this because I use a special black screen (tsk file) for my back ground ?
Also its seems to forget my location (Lat/Long)
Any help so that I can get it working ??
Im using a Qtek 9100 with WM 5 OS 5.1.195 Build 14847.2.0.0
Oh I'm happy again
I finally got Todayplus running properly again. Weather and RSS are updating correctly.
This is what I did.
1 install Todayplus cab
2 Disable Todayplus from Settings/Today/items
3 Soft reset. Or power cycle the phone.
4 Overwrite todayplus.dll with the modded one
5 create directory \program files\todayplus\Buffer
6 Connect to internet and verify connection with PIE, minimise
7 Run todayplus config
6 Tab to Weather/RSS add new weather cities and rss feeds
7 Tab to Time/Storage add new timezone and set storage path to \Storage Card (case sensitive and device specific for Wizard?
8 Close Todayplus config
The config utility would not save my location coordinates on the owner info tab so I manually entered the values into HKCU\Software\SRSSoft\TodayPlus\coords\1 (string value of the form 53.483,-2.053) You can get your city coords from http://www.heavens-above.com/
9 Disable all other today screen plugins and enable todayplus. Close the settings program.
On returning to the today screen after a short wait Todayplus should be working. This worked for me but there is loads of information at http://forums.jhollin1138.com/viewtopic.php?t=1292 if you need further help.

[New release] Registry display plugin

Ok, most of you may find this totally useless as a plugin, but it was a combination of a request by user Treo_newb and a desire to create a sample plugin project that could be used as a base / example for plugin writers (I plan on doing an article on codeproject.com and this will be the source for it).
What does it do?
This plugin displays a string stored in registry.
The path is:
HKEY_CURRENT_USER\Software\RegDispPlugin
Value name: DisplayString
It checks if this string has changed several times per second when today screen is shown (as the system sends refresh message to all plugins) and displays the updated message if a change occurred.
What is it good for?
First, if you write apps using mortscript or similar like the user who requested this it will let your script display stuff on today screen.
Alternatively it could be used to mark your device today with a string that isn't as easily changed as user info.
The source is basically a skeleton plugin you can use to build your own plugin on (no license / copyright to limit you) and it already has several tricks needed for the plugin to display correctly:
VGA compatibility
Text size matching system settings
Proper header in settings dialog (like on system plugins)
Proper text color when selected (according to theme)
No blinking all today screen on change
Proper resize when switching between landscape and portrait
When I was writing my first plugin I could not find all these little fixes concentrated in a single article so I had to fish for each one as the bug reports came in.
Hope you will find this little project useful.
The plugin:View attachment RegDisplay.CAB
The source (eVC 4 project): View attachment RegDisplay.zip
Thanks for this!
Thank You Lev.
Thanks, Thanks, Thanks,
You are a legend.
I was almost through with my today plugin and was trying to figure out reading registry values and all of a sudden I get a PM from u about the plugin !!!
Very Cool !!!
OK a few questions,
1. I know that WM_TODAYCUSTOM_QUERYREFRESHCACHE is called for refreshing the today plugin, any ideas about when is it called.
I read somewhere that it was 2 seconds. Is it true?
2. I saw ur code and u have exposed CustomItemOptionsDlgProc in RegDisplay.def, but when I installed the cab file the 'options' is not enabled.
I manually changed the resistry and changed options to dword = 1 and saw ur name and email address.
u might want to enable that by default so that people can notice ur work.
I am planing a commercial release of a new project on basis of this.
Thanks again,
Shailesh
First, you're welcome.
shaileshashar:
1) I ran a debug print on this message once on an iPaq 1710 and it seems to be sent several times per second. This could differ from OS to OS or even from device to device, I am not sure.
If you need specifically timed refresh, or you have an event triggered on new data, I suggest using a timer or maybe a thread that will wait on an event. You can refresh your plugin from anywhere in code by calling InvalidateRect with your window handle.
2) I messed up the cab at first, forgetting to add the Options reg value. Then when I went to upload the fix, I couldn't access the site for about an hour (no idea why, I even rebooted the PC to Ubuntu). Should be fixed now, but I will check it later again (I have to go back to XP for that).
Good luck with your program.
Suggestion
levenum said:
First, you're welcome.
shaileshashar:
1) I ran a debug print on this message once on an iPaq 1710 and it seems to be sent several times per second. This could differ from OS to OS or even from device to device, I am not sure.
If you need specifically timed refresh, or you have an event triggered on new data, I suggest using a timer or maybe a thread that will wait on an event. You can refresh your plugin from anywhere in code by calling InvalidateRect with your window handle.
2) I messed up the cab at first, forgetting to add the Options reg value. Then when I went to upload the fix, I couldn't access the site for about an hour (no idea why, I even rebooted the PC to Ubuntu). Should be fixed now, but I will check it later again (I have to go back to XP for that).
Good luck with your program.
Click to expand...
Click to collapse
Thanks for the help, will check the fixed cab.
Also a suggestion:
A custom icon could also be incorporated. You can give a option to load a custom icon next to the text in the today plugin.
I know anybody can modify ur code and do it but still.
Actually, I probably should have mentioned this in the original post but I have no intention of adding options to this thing.
This would only complicate the code and turn it in to an actual app instead of a sample project.
But by all means feel free to make suggestions. If this thing does become popular, when I am done with my other projects (like LVMTopBat) which won't be any time soon (unfortunately) I will release a separate version of this plugin with all kinds of options that can be controlled both by user (form the options dialog) and by other apps through registry.
Maybe things like text alignment, size, bold / Italic / underlined.
P.S.
The reason I put the string this plugin loads under HKEY_CURRENT_USER instead of the HKLM where the rest of the plugin registry resides is because by default the HKEY_LOCAL_MACHINE on WM 5 and higher has a security restriction. For example you can not write to it using RAPI, only by authorized (or signed) app on the device. The HKEY_CURRENT_USER on the other hand is open for all.
levenum said:
P.S.
The reason I put the string this plugin loads under HKEY_CURRENT_USER instead of the HKLM where the rest of the plugin registry resides is because by default the HKEY_LOCAL_MACHINE on WM 5 and higher has a security restriction. For example you can not write to it using RAPI, only by authorized (or signed) app on the device. The HKEY_CURRENT_USER on the other hand is open for all.
Click to expand...
Click to collapse
Thanks for the info, I never knew that.
Thank you so much! This was exactly what I was looking for!
levenum said:
...But by all means feel free to make suggestions.
Click to expand...
Click to collapse
As a frequent mortscript user I think, this great app might be even more usefull, if the string was shown in an "allways on top" message box instead of the today screen. The Today screen might be obscured by other active windows during the scripts runtime and the plugin eats precious today screen estate also while being unused, doesn't it?
In that case (of a standalone application) I would furthermore introduce some kind of termination string (or reg. value) to end the display application.
Code:
- start mortscript
- writes first string to registry
- starts display application (run)
- updates string in registry whenever appropriate
- ...
- writes termination string to registry
-> display applications self-terminates
- ...
- end of mortscript
Honestly, I already do use something comparable with mortscript (employing a conditioned sleepmessage loop and reading from the registry too), but this could be much nicer and more elegant.
Just my 2 cents... What do you think?
I think something like that would be better implemented by the mortsrit program it self.
It could be a function like MessageBox API in windows which you could then command on and off. Having it built in would save precious resources on the device that would be wasted by having an extra app run constantly in background.
This is just my thought though.
I'd suggest contacting the developer of mortscript and discussing it with him.
levenum said:
I think something like that would be better implemented by the mortsrit program it self.
...
I'd suggest contacting the developer of mortscript and discussing it with him.
Click to expand...
Click to collapse
Mort knew about that request and by chance just announced to so.
Thanks anyway.
Hello levenum,
I just joined the community. Reason being, I found your RegDisplay plug-in
You call it a sample project, but the impact is that of an awesome solution.
Great for MortScript, but equally useful in BASIC applications that write
messages to the registry which is show upon screen minimization.
I regret not being a C programmer (mainly BASIC), else I'd love to further
develop this jewel.
Your plug-in runs flawlessly in an iPAQ 210 under WM6 Classic.
Cheers and Respectful Greetings
Robert
CLSID for registry display plugin
What is the CLSID for the Registry Display Plugin? I am going to have to edit the XML file that defines my home screen in order to get the plugin to show up. I am using Facade to control my home screen, and the only plugins that it will show in its list are those currently in use in one of the XML files in the Application Data\Home folder. All other new plugins require editing the XML. Thanks for your help.
levenum said:
Ok, most of you may find this totally useless as a plugin, but it was a combination of a request by user Treo_newb and a desire to create a sample plugin project that could be used as a base / example for plugin writers (I plan on doing an article on codeproject.com and this will be the source for it).
What does it do?
This plugin displays a string stored in registry.
The path is:
HKEY_CURRENT_USER\Software\RegDispPlugin
Value name: DisplayString
It checks if this string has changed several times per second when today screen is shown (as the system sends refresh message to all plugins) and displays the updated message if a change occurred.
What is it good for?
First, if you write apps using mortscript or similar like the user who requested this it will let your script display stuff on today screen.
Alternatively it could be used to mark your device today with a string that isn't as easily changed as user info.
The source is basically a skeleton plugin you can use to build your own plugin on (no license / copyright to limit you) and it already has several tricks needed for the plugin to display correctly:
VGA compatibility
Text size matching system settings
Proper header in settings dialog (like on system plugins)
Proper text color when selected (according to theme)
No blinking all today screen on change
Proper resize when switching between landscape and portrait
When I was writing my first plugin I could not find all these little fixes concentrated in a single article so I had to fish for each one as the bug reports came in.
Hope you will find this little project useful.
The plugin:View attachment 41592
The source (eVC 4 project): View attachment 41583
Click to expand...
Click to collapse
This is great! I was asked if I could write a today screen plug-in for my weather application (http://forum.xda-developers.com/showthread.php?t=445576) - I couldn't since I don't have the skills and I'm writing .NET code - but this is exactly what I needed.
I'm adding support for this plug-in and will of course give credits to you.

".exe-wrapper" for today plugin?

hi,
i am about to start my first developing project as i am looking for a way to either replace the complete today screen by startup with "cprog.exe" (which is the builtin phone-app) or embed the phone app's dialpad (3g kaiser style) as a plugin in the today screen.
before starting i was thinking as to why to develop a today-plugin and somehow rewriting the whole phone-app.
as the phone-app already exists i am thinking about kind of wrapping the exe so that it can be used as a plugin. or in other words, to write a plugin which runs the app in a specified frame within the today screen.
do you think that this would work?
do you have some more thoughts or other ideas on this?
does there already exists such a wrapper?
do you have a good source to start from as this would be my first project?
galaxys already sent me this link http://forum.xda-developers.com/showthread.php?t=332800
but maybe there is for my purposes a more specific one.
thanksfor your help
oliver

Today Screen Item Disabler

Ok,
So after digging around and reading a lot on MSDN, I found no way to disable all plugins on the today screen. I also discovered that XML provisioning does not like certian kinds of characters even if you use HTML coding
so... that being said, allow me to introduce my first (and very basic) application to the XDA forums.
TodayDisabler.
What it does is it opens the protected registry keys that control what items appear on the today screen and sets them all to enable = 0
I purposefully wrote this app with no interface so that you can use it in your provisioning to disable all items on your today screen no matter what items are currently enabled.
How To Use:
Place the item on your storage card wherever you want
Use the XML: or CPY1:/CPY2: (SDCondig.txt) commands to copy the file to a location without spaces (maybe \windows)
Use the EXEC: (SDCondig.txt) command to launch the file
I would recomend using XML to delete the file afterwards so its not wasting space on your device (a whopping 9k) or maybe so you dont run it accidentally and disable all of your plugins
Now that all of your plugins are disabled, you can use WAP provisioning, CAB files, or reg files to enable just the ones you want!
I know I am still reletively new compared to others. so if any of you are a bit unsure about running any of my app, I would be more than happy to post the source code to this application
thanks I try..coming soon
So if I understand this correctly once I run TDY Disabler all of my plugins are disabled and won't show in the Today Settings list, so I would have to use something such as SKTools to re-enable the plugin so I can check it off in Today Settings????
Sorry to appear thick, but... why?
I mean, apart from the instructional value writing it, why would someone use it?
NICE
little app
So if I understand this correctly once I run TDY Disabler all of my plugins are disabled and won't show in the Today Settings list, so I would have to use something such as SKTools to re-enable the plugin so I can check it off in Today Settings????
Click to expand...
Click to collapse
No thats not the case, all of your plugins do show in the today plugins list, so you can enable them at any time
Sorry to appear thick, but... why?
I mean, apart from the instructional value writing it, why would someone use it?
Click to expand...
Click to collapse
The point of the app is for those of us who constantly flash and use provisoning scripts. Each rom has different plugins enabled on the today screen. While its not much to just go into the today applet to disable them, it is an extra step to do so.
Running this application simply disables all of them (same thing as unchecking them in the Items tab on the Today settings screen.) This way a frequent flasher can run a cab or XML file to enable only the plugins they use
RickoT said:
The point of the app is for those of us who constantly flash and use provisoning scripts. Each rom has different plugins enabled on the today screen. While its not much to just go into the today applet to disable them, it is an extra step to do so.
Click to expand...
Click to collapse
Oh, got it - thanks for the explanation.
Thanks for the clarification, would have been great if it actually gave you a list and the ones you did not want would be removed from the list entirely.
iggy said:
Thanks for the clarification, would have been great if it actually gave you a list and the ones you did not want would be removed from the list entirely.
Click to expand...
Click to collapse
I was thinking about doing something like that, but all it would do is remove the registry entries, not necessarially the application from your device.
No I did not want the application removed, just the today item disabled and removed from the today settings list. Their is a bunch of today items for installed apps and apps that are standard in the ROM that I do not use at all but they are all listed in the Today Settings. Right now I have to use SKtools and remove the registery entry 1 at a time.
True, I will put something together for you today
Here ya go
http://forum.xda-developers.com/showthread.php?t=404662
Today Item Remover

Categories

Resources