tag:blogger.com,1999:blog-8915503609164977342009-06-20T06:11:24.543-06:00T-Mobile Shadow Registry HacksRinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-891550360916497734.post-5680773579680349152008-04-24T14:11:00.002-06:002008-04-24T14:14:09.119-06:00Out of HibernationI have been in somewhat of a hibernation phase for some time now. I apologize to all those who commented or had a question posted on the blogs. The burden of school work is slightly relaxed now. I shall try to answer all queries one by one. Please do check back!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-568077357968034915?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com5tag:blogger.com,1999:blog-891550360916497734.post-46031278108463425382008-02-11T03:45:00.000-07:002008-02-11T03:56:24.359-07:00How to make a theme NeoDock compatible?Making a theme NeoDock compatible is easy. If you have read "<a href="http://shadowregistryhacks.blogspot.com/2008/02/how-to-make-neodock-manager-see-my.html">How to make NeoDock Manager see my Plugins?</a>", then you might have already figured it out. The Neo Dockstation is nothing but a layout switcher, using some markers on the theme XML file to figure out what to replace for what. So, you just need to set those markers on your theme layout file.<br /><br />Any theme file for the Neo interface has two plugin entries - one for the top status bar and the other for the Neo plugin. The markers are placed for the top status bar plugin - the first <plugin... entry in the XML file.<br /><br />1) Place the following line before the start of the plugin tag.<br /><br /><span style="font-weight: bold;"><!-- NeoDock Markup START - DONOT CHANGE THIS LINE!! --></span><br /><br />2) Place the following line after the end of the plugin tag, i.e. after </plugin><br /><br /><span style="font-weight: bold;"><!-- NeoDock Markup END - DONOT CHANGE THIS LINE!! --></span><br /><br />Since these lines are marker, you must place them in separate lines, with no spaces or tabs before or after them.<br /><br />With that, the switcher can now work with your theme. Do take a look at the <span style="font-weight: bold;">NeoDock.home.xml </span>file in \Application Data\Home for a complete example.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-4603127810846342538?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com4tag:blogger.com,1999:blog-891550360916497734.post-22277908967858100922008-02-10T18:09:00.000-07:002008-02-11T10:52:35.289-07:00How to make NeoDock Manager see my Plugins?The NeoDock Manager is an application to build the Neo Dockstation. It detects installed plugins and shows them up on the interface so that you can add it to the dockstation. This tutorial shows how you can make your other plugins show up on NeoDock Manager. To do this, you shall need 2 XML files, 1 DLL file and some cosmetics!!<br /><br />Let me start with how the Neo Dockstation works. There is nothing too tricky in it. The dockstation starts with the current theme XML file. Using two marker lines, it knows which plugin tag corresponds to the top portion of the Neo interface. The rest is simple. It creates a new layout file with the plugin tag from the current theme removed and inserts the plugin tag for the plugin to be loaded. After that it just loads this new layout!! Sometimes the most trivial is not the easiest to find - I went through the whole process of writing a plugin that loads other plugins before stumbling upon this method.<br /><br />So, back to NeoDock Manager. Lets say you want the default status bar plugin to be visible in NeoDock Manager.<br /><br />1) Create a folder in <span style="font-weight: bold;">\Program Files\NeoDock\Plugins</span>. You can name it anything. Say we call it "Shadow Status Bar".<br /><br />2) Inside the folder, you shall have to create two XML files - one must be named <span style="font-weight: bold;">setup.xml</span>, the other one your choice, say we name it <span style="font-style: italic;">monobar.xml</span>.<br /><br />3) The setup.xml is what the NeoDock Manager will parse to find information about a plugin. Here is how it looks for the Shadow iconbar:<br /><br /><blockquote><span style="font-weight: bold;"><?xml version="1.0" encoding="UTF-8" ?></span><span style="font-weight: bold;"><br /><br /><neodock></span><span style="font-weight: bold;"><br /><br /><plugin name="Shadow Iconbar" dllsource="\Windows\tpcutil.dll" clsid="</span><span style="font-weight: bold;">{837FC251-FE69-43ad-84E0-EBCEDEBA0884}</span><span style="font-weight: bold;">" xmlsource="\Program Files\NeoDock\Plugins\Shadow Status Bar\monobar.xml"></span><span style="font-weight: bold;"><br /><br /></span><span style="font-weight: bold;"> <config exe="" /><br /><br /></span><span style="font-weight: bold;"> <icon source="\Program Files\NeoDock\Plugins\Shadow Status Bar\iconbar.png" /><br /><br /></span><span style="font-weight: bold;"> <title text="Status Bar" /><br /><br /></span><span style="font-weight: bold;"> <description text="Default Icon Notifications" /></span><span style="font-weight: bold;"><br /><br /> </plugin><br /></span><span style="font-weight: bold;"><br /></neodock><br /><br /></span></blockquote>Lets take a look at these tags one by one.<br /><br /><span style="font-weight: bold;"></span><blockquote><span style="font-weight: bold;">neodock</span>: This tag is a must to indicate that you are writing a setup for a NeoDock plugin.<br /><br /><span style="font-weight: bold;">plugin:</span> This tag and all of its attributes is a must.<br /><br /><blockquote><br /><span style="font-style: italic;">name</span> = name that NeoDock Manager should display in its interface for this plugin.<br /><br /><span style="font-style: italic;">dllsource </span>= full path to the dll for this plugin.<br /><br /><span style="font-style: italic;">clsid</span> = GUID of this plugin.<br /><br /><span style="font-style: italic;">xmlsource</span> = full path to the xml file for this plugin. I shall explain what this file contains in a while.<br /></blockquote><br /><br />The following four entries are optional.<br /><br /><span style="font-weight: bold;">config:</span> <span style="font-style: italic;">exe</span> = full path to the executable that can be used to configure this plugin.<br /><span style="font-weight: bold;"><br />icon:</span> <span style="font-style: italic;">source</span> = full path to the image to display for this plugin in the dockstation.<br /><br /><span style="font-weight: bold;">title</span>: <span style="font-style: italic;">text</span> = a title for this plugin; used in the dockstation.<br /><br /><span style="font-weight: bold;">description</span>: <span style="font-style: italic;">text</span> = a description for the plugin; used in the dockstation.</blockquote><br />4) Now lets create the other XML file - <span style="font-style: italic;">monobar.xml.</span> This file contains the plugin tag that usually goes into the theme layout XML file. For the shadow status bar its something like this -<br /><br /><span style="font-weight: bold;"></span><blockquote><span style="font-weight: bold;"><plugin clsid="{837FC251-FE69-43ad-84E0-EBCEDEBA0884}" name="iconbar" height="20"></span><span style="font-weight: bold;"><br /><br /><iconbar fgcolor="COLOR_TRAYTEXT"/></span><span style="font-weight: bold;"><br /><br /><background bgimage="\windows\CHome_framework_status_bar_bg.png" halign="center" bgcolor="COLOR_TRAYGRADLEFT" b-border-color="COLOR_WINDOWFRAME"/></span><span style="font-weight: bold;"><br /><br /></plugin></span></blockquote>5) That's about it. The next time you run NeoDock Manager, it will scan through all folders in \Program Files\NeoDock\Plugins and will parse the setup.xml files in those folders. If everything is valid and relevant files do exist, the plugin would show up on the Manager. Thereafter you can add it to the dockstation.<br /><br />Validity checks are made for the attributes in the plugin tag, meaning, the dll and xml files must be present at the location specified and the CLSID should match with the one given in the second xml file (monobar.xml in this example) . Other tags have some default values if not present.<br /><br />The Manager attempts to create the required GUID entry in the registry for the dll. However, if an entry already exists with the given GUID, it shall not overwrite it. This is because, you might have made a mistake in specifying the right GUID for the plugin dll, in which case, overwriting the entry with the wrong information may crash some other program.<br /><br />Feel free to leave me a comment if you have a problem! And also, please let me know if you find cool non-selectable plugins perfect for the Neo Dockstation.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-2227790896785810092?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com6tag:blogger.com,1999:blog-891550360916497734.post-17414711060760726842008-02-10T17:27:00.001-07:002008-12-10T03:21:24.529-07:00Configuring the Weather DockThe Weather Dock is a plugin for WM6 Standard reading weather information from Yahoo! Weather feed. The plugin displays<br /><ul><li>Temperature and text description for current weather at a location provided as a US Zip Code or a Yahoo! Location ID.</li><li>Feels like temperature and wind speed.</li><li>Lows and highs forecast for today and tomorrow.<br /></li><li>Customizable units, update frequency and font colors.</li><li>Customizable background.</li></ul>Here are the steps to configure the plugin.<br /><br />1) The configure program is installed at <span style="font-weight: bold;">\Program Files\NeoDock\Plugins\Weather Dock </span>and is called <span style="font-weight: bold;">WeatherConfig.exe</span>. Alternatively, you can just click on the <span style="font-weight: bold;">Configure </span>button on the Neo Dockstation.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hoG1ZhFM_Mc/R6-YgJBJeMI/AAAAAAAAAC4/IJv78ebzyb4/s1600-h/sshot000.bmp"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_hoG1ZhFM_Mc/R6-YgJBJeMI/AAAAAAAAAC4/IJv78ebzyb4/s320/sshot000.bmp" alt="" id="BLOGGER_PHOTO_ID_5165514975561218242" border="0" /></a><br />2) Different items on the interface are as follows:<br /><br /><span style="font-weight: bold;"></span><blockquote><span style="font-weight: bold;">ID<span style="font-weight: bold;">: </span></span>The ID can be a <span style="font-style: italic;">US Zip Code</span> or a <span style="font-style: italic;">Yahoo! Location ID</span>. The Yahoo! Location ID can be retrieved from <a href="http://weather.yahoo.com/">http://weather.yahoo.com</a>. After you enter your location and the weather page is loaded, check the URL of the page. The Yahoo! Location ID is the name of the html page. For e.g., if the URL is http://weather.yahoo.com/forecast/XYZ.html, then the Yahoo! Location ID is XYZ.<br /><br /><span style="font-weight: bold;">Unit:</span> English shows temperature in Fahrenheit and speed in MPH. Metric shows it in Celcius and KmPH respectively.<br /><br /><span style="font-weight: bold;">Update every:</span> The frequency between updates. Weather data is updated from the server at this frequency.<br /><br /><span style="font-weight: bold;">Color codes:</span> Color codes means the color of the font on the plugin. "<span style="font-weight: bold;">Fresh</span>" indicates the color to use when displaying data that has been successfully updated the last time an update was tried. If an update fails, the "<span style="font-weight: bold;">Stale</span>" color is used. Use HTML coding to specify the color - #RRGGBB.<br /><br /></blockquote>3) Once you have entered all the information, press<span style="font-style: italic;"> Save</span>. Give the program some time to contact the server and resolve the ID.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R6-YgZBJeNI/AAAAAAAAADA/OdHsf2B6ZUM/s1600-h/sshot001.bmp"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R6-YgZBJeNI/AAAAAAAAADA/OdHsf2B6ZUM/s320/sshot001.bmp" alt="" id="BLOGGER_PHOTO_ID_5165514979856185554" border="0" /></a><br />4) Press OK. Once done, exit out. If you are using the plugin on the Neo Dockstation, reload the plugin.<br /><br />When the Weather Dock is first loaded, it tries to update the current weather. The Weather Dock then updates weather information at "Update every" intervals. If an update fails, the Weather Dock keeps trying every minute until it is able to do so. Once updated, it goes back to the "Update every" frequency.<br /><br /><span style="font-weight: bold;">NOTE: </span>I have noticed that the icon for the current weather is not changing since tomorrow. Even during the night, it shows the sun!!! I thought the plugin has malfunctioned. However that was not the case as it seems. The problem was rather with the RSS feed I was getting from Yahoo! Weather. If you find errors in the images displayed, please perform the following check first: open the URL <span style="font-style: italic;">http://weather.yahoo.com/forecastrss?p=</span><span style="font-weight: bold;"><span style="font-style: italic;">ID</span> </span>, where ID is your Location ID, and see the output of the page in a browser. For me, even this page has been displaying the same icon for a few days. It seems the condition code is not being updated in the server for some reason.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-1741471106076072684?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com2tag:blogger.com,1999:blog-891550360916497734.post-51774877069049986362008-02-09T04:16:00.000-07:002008-12-10T03:21:25.202-07:00Neo DockstationAfter successfully implementing the Iconbar plugin, I wanted to do more. Unfortunately, the way the Neo interface is designed, it does not leave much room to hook more than one plugin. The only way that remains is to go and edit the files and load different plugins in place of the top status bar...not a practical way!! So, here it is - the <span style="font-weight: bold;">Neo Dockstation</span>!!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hoG1ZhFM_Mc/R62d9JBJeLI/AAAAAAAAACw/fHuDRgGmZJs/s1600-h/sshot013.bmp"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_hoG1ZhFM_Mc/R62d9JBJeLI/AAAAAAAAACw/fHuDRgGmZJs/s320/sshot013.bmp" alt="" id="BLOGGER_PHOTO_ID_5164958021382142130" border="0" /></a><br />The Neo Dockstation is an assimilation of different aspects of the Neo interface (plugins, dynamic layouts and interface build up...) that finally enables one to load different plugins at the click of a button. It sits on the Neo interface like any other tab and shows the different plugins that can be loaded in the top 27 pixels of the home screen. I call it the "dockstation" because it lets you dock different plugins at the top. I won't pull it long and get to the details.<br /><br />As the Neo interface uses both up and down key strokes to explore the different tabs, non-selectable plugins are most useful on the dock. That does not mean selectable plugins are not loadable, but its just that pressing the up key on the D-pad will not take you to the tab above, but to the plugin. The down key is what you will only have at your disposal to move between tabs...tiresome if you are at say the second tab and want to go to the first one!!! Feel free to try it though!<br /><br />Currently, I have three custom made plugins bundled with the dockstation -<br /><ul><li>The Colored Iconbar - Most of you already know about this. Read <a href="http://shadowregistryhacks.blogspot.com/2008/01/colored-iconbar-plugin.html">this</a> if you don't!</li><li>A Windows Media Player "Now Playing" status bar<br /></li><ul><li>displays current track information (Song Title, Album Title, Original Artist), total and elapsed time, and a graphical elapsed status bar.</li></ul><li>A Weather dock powered by Yahoo! Weather<br /></li><ul><li>displays temperature, feels like and wind speed for a US Zip Code or Yahoo! Location ID, today and tomorrow forecast with lows and highs, customizable update frequency, color codes and units.</li></ul></ul>The bundle also includes the required files to incorporate the Shadow default status bar.<br /><br />Please note the dockstation is made specifically for the Neo interface. If you are using a theme other than Neo, then it would not make much sense to install it. Here's how to get started:<br /><br />1) Download this zip file - <a href="http://www.cs.colostate.edu/%7Erinku/forum/Rinku_Neo_Dockstation.zip"><span style="font-weight: bold;">Rinku Neo Dockstation</span></a>. Inside is a cab installer. Copy it over to your phone and open it. Install to the "Device". Reboot upon completion. No, you will not see any changes as yet!!!<br /><br />2) Once the device restarts, goto <span style="font-style: italic;">Start>Settings>Home Screen </span>and <span style="font-weight: bold;">change over to the NeoDock theme</span>. To begin with, this theme is same as the T-Mobile Default theme, but has some markers inside to make it compatible with the dockstation. Many of you are perhaps using Freddy's themes. Right now they are not compatible with the dockstation. You can start using them as soon as he makes them available. You do not have to go through this setup process again!!<br /><br />3) The bundle installs the NeoDock Manager and the aforementioned plugins on the system. The NeoDock Manager is the utility that lets you build the Neo Dockstation. So, lets do that next. From the Start menu, open <span style="font-weight: bold;">NeoDock</span> <span style="font-weight: bold;">Manager.<br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hoG1ZhFM_Mc/R62ZspBJeJI/AAAAAAAAACg/FzEnV-euC8w/s1600-h/sshot011.bmp"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_hoG1ZhFM_Mc/R62ZspBJeJI/AAAAAAAAACg/FzEnV-euC8w/s320/sshot011.bmp" alt="" id="BLOGGER_PHOTO_ID_5164953339867789458" border="0" /></a><br /><br />4) The Manager will search for available plugins (more on this later), and give you the options to add them to the dockstation. Play with it...its a simple utility! Once done adding the plugins, hit <span style="font-style: italic;">Options>Build NeoDock</span>. The Manager will ask what position do you want the dockstation to be placed in on the homescreen. Once done, and everything goes well, the Neo Dockstation will be created. Exit the program to load it on the homescreen. Do not panic if your screen turns white for a second or so!!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R62Zs5BJeKI/AAAAAAAAACo/Zetbp2UDIGc/s1600-h/sshot012.bmp"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R62Zs5BJeKI/AAAAAAAAACo/Zetbp2UDIGc/s320/sshot012.bmp" alt="" id="BLOGGER_PHOTO_ID_5164953344162756770" border="0" /></a><br />5) You should now see the plugins you just added on a tab on the home screen - Neo Dockstation tab. To load one at the top, hit the center button. If there is a configuration utility available for a particular plugin (for e.g. the Weather Dock), then you can access it from the right softkey.<br /><br />You can now switch back and forth the plugins at any time!!!!<br /><br />That is it!! Well, it is as far as what I am offering in the bundle. Read <span style="font-weight: bold;">"<a href="http://shadowregistryhacks.blogspot.com/2008/02/configuring-weather-dockstation.html">Configuring the Weather Dock</a>" </span>if you have questions on how to configure the weather plugin. As for those who want to add more plugins to the dockstation, read "<a href="http://shadowregistryhacks.blogspot.com/2008/02/how-to-make-neodock-manager-see-my.html"><span style="font-weight: bold;">How to make NeoDock Manager see my Plugins?</span></a>". To make your custom themes (Neo only) NeoDock compatible, see "<a href="http://shadowregistryhacks.blogspot.com/2008/02/how-to-make-theme-neodock-compatible.html"><span style="font-weight: bold;">How to make a theme NeoDock compatible?</span></a>".<br /><br /><span style="font-weight: bold;">WMP PLUGIN:</span> The Windows Media Player plugin requires frequent redrawing of the homescreen. This can make the response on the home screen somewhat slower than usual when the plugin is in use (a song is <span style="font-style: italic;">playing</span>). The color of the text is specified in the <span style="font-style: italic;">fontcolor</span> attribute in \Program Files\NeoDock\Plugins\WMP\wmpplugin.xml. The format is <span style="font-style: italic;">0xBBGGRR - </span>a little different than usual, but helps avoid an extra processing in the plugin. The color is current set to 0xFFFFFF - white.<br /><br /><span style="font-weight: bold;">COLORED ICONBAR: </span>The dockstation bundle includes all files required for the colored iconbar. You can remove earlier installs by deleting all files beginning with CHome_Iconbar_ and the iconbarplugin.dll file in \Windows. If you have made changes to the icons then copy the CHome_Iconbar_*.png files over to \Program Files\NeoDock\Plugins\Rinku Iconbar\Icons before deleting. Do not copy the dll.<br /><br /><span style="font-weight: bold;">PLUGIN BACKGROUND</span>: The background for the plugins bundled with the dockstation is customizable in the xml files. Each plugin has a folder of its own in \Program Files\NeoDock\Plugins. You can see two .<span style="font-style: italic;">xml</span> files in there - one of them is always named <span style="font-style: italic;">setup.xml</span>. The other filename varies. You can edit this other file to specify a background for the corresponding plugin. Just change <span style="font-style: italic;"><span style="font-style: italic;"><span style="font-weight: bold;">bgimage </span></span></span>to the full path of the image you want to use as the background for the plugin. Currently, all plugins included use \windows\CHome_framework_status_bar_bg.png as the background.<br /><br />I am very excited with this work since it opens up all the avenues to develop more and more custom plugins for Neo. But as always, this is no professional quality code. So, errors might come up. Please do let me know if you happen to come across a weird situation while using the bundle. It would help me polish things better. Until then, Happy Docking!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-5177487706904998636?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com37tag:blogger.com,1999:blog-891550360916497734.post-20289586971735702412008-01-30T21:27:00.000-07:002008-12-10T03:21:25.307-07:00Iconbar Plugin Update 2Its here!! For those who are not happy with the black background on the Iconbar plugin, or are willing to have their own notification icons, this update to the plugin is just meant for that. I have finally completed detaching the icons from the dll. All icons, including the background, are now read from .png files, meaning, if you don't like an icon, just change the file.<br /><br />Make sure you have a running version of the plugin. If not, then see <a href="http://shadowregistryhacks.blogspot.com/2008/01/colored-iconbar-plugin.html">Colored Iconbar Plugin</a> for instructions and then head back here to perform the update.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hoG1ZhFM_Mc/R6FN5vNf7KI/AAAAAAAAACY/tovYfymMH2M/s1600-h/plugincolor.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_hoG1ZhFM_Mc/R6FN5vNf7KI/AAAAAAAAACY/tovYfymMH2M/s320/plugincolor.JPG" alt="" id="BLOGGER_PHOTO_ID_5161492302264265890" border="0" /></a><br />1. Change over to a different theme, one not using the plugin. <span style="font-weight: bold;">Reboot<span style="font-weight: bold;">.<br /><br /></span></span>2. Download this zip file - <a href="http://www.cs.colostate.edu/%7Erinku/forum/Rinku_Iconbar_Plugin_Update_2.zip">Rinku Iconbar Plugin Update 2</a>. Using ActiveSync, copy the contents of the <span style="font-weight: bold;">Iconbar</span> folder in the zip file to <span style="font-weight: bold;">\Windows</span> on your phone.<br /><br />3. Change back to the original theme.<br /><br />The icon file names are self explanatory. Each file begins with the prefix <span style="font-weight: bold;">CHome_Iconbar_. </span> Just change the appropriate file to change an icon, or the background. The background image in the zip file is for the T-Mobile Default theme. Note that all icons are 20x20 32-bpp PNG files, except for the background image which is 240x27 and four other files which are 6x5. I had to restrict any changes to the battery meter icon since its drawn dynamically depending on the battery strength left.<br /><br /><span style="font-weight: bold;">TIP:</span> If you want your icons to appear the same on any background, make sure you set the proper transparency levels on the pixels on the edges of the icons. Use the alpha channel!!<br /><br />So let your creativity loose and please do let me know what you come up with.<br /><span style="font-weight: bold;"><span style="font-weight: bold;"></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-2028958697173570241?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com44tag:blogger.com,1999:blog-891550360916497734.post-16390666833282733522008-01-21T15:38:00.000-07:002008-12-10T03:21:25.434-07:00myFaves RevisitedAfter the initial bug found in the my5Notifier, I decided to redo the whole project. Here is what I have now -<br /><ul><li>A Contacts editor<br /></li><li>A light weight replacement for My5MsgCenter to facilitate the notifications</li><li>Disabling the NoLog generation<br /></li><li>Missed calls, Unread SMS, Birthday and Anniversary reminders</li></ul>I also have a cab installer to ease out the setup process. However, there are still a few things that needs to be done in the order strictly described here. Remember, the installation will reset all you current myFaves entries. After the installation you will have to open the My5 contacts editor and reenter them. This process is done so that all required registry entries are updated as is required by the My5MsgCenter. The steps are as follows.<br /><br />1. First, you need to have the myFaves interface enabled on the homescreen. If you already have it, then skip to Step 2. You can enable the interface using a simple registry edit.<br />In <span style="font-weight: bold;">HKLM\Software\Microsoft\CHome\CMyFaves</span>, change the REG_DWORD entry named <span style="font-weight: bold;">Disabled</span> value to <span style="font-weight: bold;">0.</span> Also, under <span style="font-weight: bold;">HKLM\Software\Microsoft\CHome</span>, the <span style="font-weight: bold;">Plugins</span> string value entry should have CMyFaves in the semi-colon separated list.<br /><br />2. Using a 3rd party Task Manager (a free one is available <a href="http://www.smartphone-freeware.com/download-wm5-task-manager.html">here</a>), delete any running processes that goes by the names - <span style="font-weight: bold;">My5MsgCenter.exe</span> and <span style="font-weight: bold;">myFavesService.exe</span>. These processes are started by the myFaves interface and are of no use if you do not have a myFaves account.<br /><br />3. Now, download this cab file - <a href="http://www.cs.colostate.edu/%7Erinku/forum/My5.cab">Rinku's My5 Bundle</a>. Copy it to your phone using ActiveSync. Open the file from your phone. Choose "Device" as your installation destination. The installation will start. Once again, after the installation, your current myFaves contacts will be erased!!! Let the phone reboot.<br /><br />4. The installer places the following files in your phone:<br /><span style="font-weight: bold;">My5.exe </span>in \Program Files\My5<br /><span style="font-weight: bold;">My5MsgCenter.exe </span>in \Windows<br /><span style="font-weight: bold;">my5MAPI.dll</span> in \Windows<br /><span style="font-weight: bold;">My5 </span>shortcut in the Start menu<br /><br />5. The first thing you should do after the installation is to open the editor from Start>My5 and enter your contacts.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hoG1ZhFM_Mc/R5UjEJ3_38I/AAAAAAAAACQ/FR62Vej_Zlg/s1600-h/sshot012.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_hoG1ZhFM_Mc/R5UjEJ3_38I/AAAAAAAAACQ/FR62Vej_Zlg/s320/sshot012.JPG" alt="" id="BLOGGER_PHOTO_ID_5158067502500011970" border="0" /></a><br />The editor lets you enter the name, phone number, image source and reminder settings for the contact. You do not have to type the entire image path; just delete whatever is there and a file explorer will open to help you choose the file you want. Save the information when done.<br /><br />6. Once done entering the contact information, exit out of My5 and go back to the home screen. The interface should now be updated with your contacts. Reload the home screen if you do not see them there.<br /><br />You can go back to the editor anytime and change your contacts. Missed call and unread message notifications are retained if you just make changes to the name, image or reminder settings of a contact. However, if you change the number of the contact, these notifications are reset.<br /><br />Please do leave your feedback.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-1639066683328273352?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com50tag:blogger.com,1999:blog-891550360916497734.post-7863228322431850562008-01-17T18:29:00.000-07:002008-01-17T18:44:55.478-07:00Your favorite application on the Shortcut KeyPaul from <a href="http://juno.modaco.com/">Modaco</a> has already released an <a href="http://www.modaco.com/content/HTC-Juno-Phoebus-Juno-MoDaCo-com/262011/Tweak-utility-shadowShortcutKeyRebuild-sSKR-/">utility</a> that adds all your applications in the start menu to the Shortcut Key configuration program. If you have not tried the utility, and just want to access you favorite application using the Shortcut key, here is what is to be done.<br /><br />1. See <span style="font-weight: bold;">HKEY_LOCAL_MACHINE\Software\HTC\HTCSideButton</span>. You will see these string value entries named '0', '1', '2', and so on. Well, those are the programs that appear in the configuration program. Create the following string value (REG_SZ) key -<br /><br /><span style="font-weight: bold;">Name = </span>the next number in the list, if you have numbers upto '4', then name this key '5'<br /><span style="font-weight: bold;">Data = </span>path to your favorite program; for example, \Windows\Start Menu\Task Manager.lnk<br /><br />2. If you now go to Start>Settings>Shortcut Key, the application you just added (Task Manager for the example) would be an option listed for "Short Press" and "Press and hold". Select it the way you like it.<br /><br />Repeat Step 1 if you want more applications to show up on the list.<br /><br /><span style="font-style: italic;">Note:</span> The name that appears on the list is extracted from the path that you entered as part of the registry key. For example, if I give the path as \Windows\Start Menu\Task Manager.lnk, then I shall see the name Task Manager in the list. Task Manager.lnk is actually a shortcut that points to \Windows\IA_Task_Manager.exe. I can as well give the path as \Windows\IA_Task_Manager.exe, but in this case the name would appear as IA_Task_Manager in the list...not so nice!! So, I used the shortcut.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-786322832243185056?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com4tag:blogger.com,1999:blog-891550360916497734.post-22900105398608351072008-01-15T17:33:00.000-07:002008-12-10T03:21:25.762-07:00Iconbar Plugin Update<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R41RiZ3_37I/AAAAAAAAACI/4YzzcTi8qyE/s1600-h/sshot002.bmp"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R41RiZ3_37I/AAAAAAAAACI/4YzzcTi8qyE/s320/sshot002.bmp" alt="" id="BLOGGER_PHOTO_ID_5155866799912247218" border="0" /></a><br />I added some more notifications to the iconbar. Notifications now include -<br /><ul><li>missed calls</li><li>new message</li><li>new voicemail</li><li>bluetooth status (on/off)</li><li>wifi status (off/on/networks available/connecting/connected)</li><li>signal strength (with EDGE and GPRS detection and "in use" indicator)</li><li>radio off (no signal bars)<br /></li><li>battery meter fixed (read details below)</li><li>battery fault or no battery<br /></li><li>ringer off</li><li>vibrate on (precedence over ringer off)<br /></li><li>bluetooth handsfree</li><li>headset present (more precedence over bluetooth hansfree)</li><li>calls forwarded</li><li>SIM status (not present/invalid/blocked)</li></ul><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hoG1ZhFM_Mc/R41RJp3_35I/AAAAAAAAAB4/1B9WytThuYM/s1600-h/icons.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_hoG1ZhFM_Mc/R41RJp3_35I/AAAAAAAAAB4/1B9WytThuYM/s400/icons.jpg" alt="" id="BLOGGER_PHOTO_ID_5155866374710484882" border="0" /></a><br /><span style="font-weight: bold;">Battery Meter:<br /><br /></span>The battery meter has been fixed from the previous release. I did not offset the value by 19% but used a different API to get the remaining battery strength. The battery meter now has a "15 pixel high" level indicator. The number of bars filling up the battery = Battery Life Percent/6.66. Besides that the usual color code is maintained: Green(>75%), Yellow(>50%), Orange (>25%) and Red (<25%). style="font-weight: bold;">Priority ordering:<br /><br />Due to the limited spacing, I had to impose some priority ordering on the icons. A headset present notification overrides a bluetooth handsfree present notification. Remeber, a bluetooth handsfree icon will not appear if you have bluetooth turned off!! A vibrate on notification overrides a ringer off notification.<br /><br /><span style="font-weight: bold;">Signal strength:<br /><br /></span>If you turn off the phone radio, no signal bars will appear. The signal bars now show a dim "E" and a "G" at the top, if the EDGE and GPRS networks are available in your area. The letter glows if you are actually using one. SIM notifications appear in this region.<br /><br />Okay then, how to get the new <span style="font-weight: bold;">dll</span> and replace the existing one. If you have not installed the plugin yet, then follow the instructions <a href="http://shadowregistryhacks.blogspot.com/2008/01/colored-iconbar-plugin.html">here</a>. The dll file over there is the new one...so, no need for update!! If you just want to install the new dll, then follow these instructions.<br /><br />1. Change over to a different theme, one not running the plugin. <span style="font-weight: bold;">Reboot.</span><br />2. Download the new dll from <a href="http://www.cs.colostate.edu/%7Erinku/forum/iconbarplugin.dll">here</a> and with ActiveSync copy it over to \Windows.<br />3. Change over to your original theme. If asked for confirmation, say "Yes".<br />4. Reboot.<br /><br />I think I am done with most of the notifications. What remains are the "in call" ones, but that will be handy after I am able to overwrite window titlebar icons. This might take some time (school starts in 5 days), but hang on!!<br /><br /><span style="font-style: italic;">Idea: </span>I was thinking over the idea of turning this whole "iconbar" concept to a "dockstation". The idea is to have a tab on your home screen that lets you choose what "dock" (perhaps like a notification dock or an instant message dock) you want currently visible on the iconbar space. Just an idea...feedback on design will be appreciated!<br /><br />Good Day.<br /><br /><span style="font-weight: bold;">UPDATE:</span> Please see <a href="http://shadowregistryhacks.blogspot.com/2008/01/iconbar-plugin-v20.html">Iconbar plugin update 2</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-2290010539860835107?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com14tag:blogger.com,1999:blog-891550360916497734.post-80483029860103893152008-01-14T13:23:00.002-07:002008-03-23T19:24:02.987-06:00Iconbar Cab InstallerFreddy Reyes developed a cab installer for the iconbar plugin - Thanks Freddy!! Use it for easy installation - <a href="http://freddyreyes.com/forums/index.php?topic=287.0">CAB</a>. He also updated his themes with required changes to the xml files. So, check his website for the new installers.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-8048302986010389315?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com0tag:blogger.com,1999:blog-891550360916497734.post-78363984405696516862008-01-13T00:24:00.000-07:002008-12-10T03:21:25.903-07:00Colored Iconbar Plugin<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R4nQxZ3_33I/AAAAAAAAABo/uvTS7pmGdnk/s1600-h/plugin2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R4nQxZ3_33I/AAAAAAAAABo/uvTS7pmGdnk/s320/plugin2.jpg" alt="" id="BLOGGER_PHOTO_ID_5154880795680169842" border="0" /></a><br />I developed this plugin because I got tired of those monochrome icons at the top of the colorful home screen. With this plugin I have been able to replace most of the basic icons that appear on the iconbar. If you intend to install this plugin, then let me tell you that the plugin does not implement all possible notifications available in the original iconbar. The things I have implemented for now are as follows.<br /><br /><ul><li>missed call(s)</li><li>unread message(s)</li><li>new voicemail</li><li>bluetooth status (on/off)</li><li>wifi status (off/on/networks available/connecting/connected)</li><li>signal strength</li><li>battery meter (green-yellow-orange-red)</li><li>ringer off</li><li>bluetooth handsfree</li><li>headset present (more precedence over bluetooth hansfree)<br /></li></ul>So, if you can live with these basic notifications then please try the plugin. If not then please check back later...I am in the process of adding the other notifications. Also, the plugin is intended to work only with the homescreen (for now), meaning when you open an application with a window title bar, you would still have to bear with the old icons. That will change in due time!!!<br /><br />Here are the steps to adding this plugin.<br /><br />1. Using ActiveSync, browse down to <span style="font-weight: bold;">\Windows</span> of your phone. Copy the file <span style="font-weight: bold;">cmhome.home.xml</span> to your Desktop. This file describes the <span style="font-weight: bold;">T-Mobile Default</span> theme. If you are trying this on other themes then you need to find the appropriate <span style="font-style: italic;">.xml</span> file describing the theme. It would either be in \Windows or \Application Data\Home. Create a copy of this file and keep it as a backup. Right click on the file on your desktop and select Properties. Make sure the <span style="font-weight: bold;">Read Only</span> property is <span style="font-weight: bold;">unchecked</span>.<br /><br />2. Open the file in Notepad. Look for the following block of code towards the end.<br /><br /><span style="font-weight: bold;"><plugin clsid="{837FC251-FE69-43ad-84E0-EBCEDEBA0884}" name="iconbar" height="20"><br /><iconbar fgcolor="COLOR_TRAYTEXT"/><br /><background bgimage="\windows\CHome_framework_status_bar_bg.png" halign="center" bgcolor="COLOR_TRAYGRADLEFT" b-border-color="COLOR_WINDOWFRAME"/><br /></plugin></span><br /><br />Remove it and put the following block.<br /><br /><span style="font-weight: bold;"><plugin clsid="{B06A8DAB-E148-40d5-BE8F-3C494ABF3046}" name="iconbar" height="27"><br /></plugin></span><br /><br />3. Save the file. Overwrite cmhome.home.xml in <span style="font-weight: bold;">\Windows</span> and <span style="font-weight: bold;">\Application Data\Home </span>with the file on your desktop.<br /><br />4. Open CeRegistryEditor (or a registry editor of your choice). Right click on <span style="font-weight: bold;">\HKEY_CLASSES_ROOT\CLSID </span>and create the new key<span style="font-weight: bold;"> {B06A8DAB-E148-40d5-BE8F-3C494ABF3046}</span>.<br /><br />5. Right click on <span style="font-weight: bold;">HKEY_CLASSES_ROOT\CLSID\{B06A8DAB-E148-40d5-BE8F-3C494ABF3046}</span> and create the new key <span style="font-weight: bold;">InProcServer32</span>.<br /><br />6. Click on <span style="font-weight: bold;">HKEY_CLASSES_ROOT\CLSID\{B06A8DAB-E148-40d5-BE8F-3C494ABF3046}\InProcServer32<br /></span> and create a new string value (REG_SZ) entry: <span style="font-weight: bold;">Value = iconbarplugin.dll </span>. Check "Set as default key's value". The name of the key would automatically appear as <span style="font-weight: bold;">Default</span>.<br /><br />7. Now download this plugin file - <a href="http://www.cs.colostate.edu/%7Erinku/forum/iconbarplugin.dll"><span style="font-weight: bold;">iconbarplugin.dll</span></a> and copy it over to <span style="font-weight: bold;">\Windows </span>on your phone.<br /><br />8. Go to Start>Setting>Home Screen and change the "Home Screen Layout" to something other than "T-Mobile Default". Once the change takes place, go and change it back. If the phone asks for confirmation about running iconbarplugin.dll, say Yes.<br /><br />9. Turn off your phone and switch it back on. The new plugin should now be active.<br /><br />You should be able to figure out what the icons mean. But here are a few pointers.<br /><br />Wifi:<br />Red: On but no network available.<br />Orange: Network(s) available.<br />Orange/Green: Connecting to a network.<br />Green: Connected.<br /><br />Signal Strength:<br />5 green bar: >90%<br />4 green bar: >70%<br />3 green bar: >50%<br />2 green bar: >20%<br />1 green bar: >0%<br />5 grey bar: No signal!!<br /><br />Battery meter:<br />Green: >75% remaining<br />Yellow: >50% remaining<br />Orange: >25% remaining<br />Red: <25%<br /><br /><span style="font-weight: bold;">UPDATE: </span>Please see <a href="http://shadowregistryhacks.blogspot.com/2008/01/iconbar-plugin-update.html">Iconbar plugin update</a> for updated information on the features of the plugin. You do not have to perform the steps there if you just installed the plugin.<br /><br /><span style="font-weight: bold;">UPDATE:</span> Please see <a href="http://shadowregistryhacks.blogspot.com/2008/01/iconbar-plugin-v20.html">Iconbar plugin update 2</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-7836398440569651686?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com116tag:blogger.com,1999:blog-891550360916497734.post-14772463811663413982008-01-06T13:28:00.000-07:002008-12-10T03:21:26.155-07:00Enabling Notifications in the myFaves Interface<span style="font-weight: bold;"><span style="font-size:130%;">This article is outdated. Please see <a href="http://shadowregistryhacks.blogspot.com/2008/01/myfaves-revisted.html">myFaves Revisited</a> for updated instructions.</span><br /><br /><span style="color: rgb(192, 192, 192);">After enabling myFaves on my Shadow, I found that the notifications were not working, like missed calls, messages, and reminders. Besides, myFaves adds your five favorite numbers to the no-log list, which essentially stops you from receiving notifications from these numbers in the usual notifications tab. This is because (as I think), the my5 service starts doing that for you, intercepting calls and messages and giving the proper notifications on the myFaves interface. Without a myFaves account, the my5 service does not work, and so, although I managed to enable the interface, much of its benefits are not present.<br /><br />Fortunately, I managed to gather some understanding of the registry entries that are changed by the my5 service in order to facilitate the notifications. I ended up writing my own my5Notifier, which while running in the background, makes the appropriate changes to the registry and triggers the myFaves interface to read from.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R4HN-Z3_32I/AAAAAAAAABg/H7YwkZ-Xyt0/s1600-h/my5N.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_hoG1ZhFM_Mc/R4HN-Z3_32I/AAAAAAAAABg/H7YwkZ-Xyt0/s320/my5N.gif" alt="" id="BLOGGER_PHOTO_ID_5152625920669900642" border="0" /></a><br />This tutorial shall require deleting your call history as of now and installing the my5Notifier I shall provide. So, if you are not keen on doing that, then perhaps, I cannot yet tell you how to enable the notifications. Also, the notifier can currently handle only missed calls and reminders. As my development proceeds, I shall release updates to the my5Notifier and am hoping that at some point in time the application will grow up enough to enable contacts modifications without entering the registry.<br /><br />So, here we go!!<br /><br />1. Enable the myFaves interface as shown in the <a href="http://shadowregistryhacks.blogspot.com/2008/01/enabling-myfaves-interface.html">previous post</a> and make sure it is working as a dialer. Then backup your registry.<br /><br />2. Open up CeRegistryEditor and make the following changes to the entries you just made in Step 1.<br /><br />In <span style="font-weight: bold;">HKLM/Software/HTC/My5/My5App/Contact_0</span>, change the format of the phone number in the <span style="font-weight: bold;">PhoneDash</span> entry to (XXX) XXX-XXXX.<br /><br />In <span style="font-weight: bold;">HKLM/Software/HTC/My5/My5App/Contact_0</span>, change the value of the <span style="font-weight: bold;">State</span> string value entry to <span style="font-weight: bold;">2</span>.<br /><br />In <span style="font-weight: bold;">HKLM/Software/Microsoft/CHome/CMyFaves/0</span>, change the format of the phone number in the <span style="font-weight: bold;">Phone</span> entry to (XXX) XXX-XXXX.<br /><br />Do these two changes for the other contacts as well, 1 through 4.<br /><br />3. In <span style="font-weight: bold;">HKLM/Security/Phone/NoLog</span>, make sure that the <span style="font-weight: bold;">List </span>entry is empty. If there is something in there, remove them and enter a blank space.<br /><br />4. On your phone, go to Start > Call History. From the Menu, select "Delete List" to clear up the call history. Then reboot the phone.<br /><br />5. In <span style="font-weight: bold;">HKLM/Security/Phone/NoLog, </span>check the <span style="font-weight: bold;">List </span>entry. Your myFaves numbers should have come up there.<br /><br />6. In <span style="font-weight: bold;">HKLM/Software/Microsoft/CHome/CMyFaves/0, </span>make sure the following entries exist besides Image, Name and Phone. The entries below are DWORD (Type REG_DWORD). If they do not exist, create them.<br /><br /><span style="font-weight: bold;">AnniversaryDaysCount = 0<br />BirthdayDaysCount = 0<br />MessageCount = 0<br />MissedCallCount = 0<br />Notifications = 0<span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"></span></span></span><br /></span></span><br />Now for some custom data about this contact. In<span style="font-weight: bold;"> HKLM/Software/HTC/My5/My5App/Contact_0/Data,</span> change the following:<br /><br /><span style="font-weight: bold;">AnniversaryDate = </span>the anniversary date. I shall show you how to input this date in a while.<br /><span style="font-weight: bold;">AnniversaryDaysCount = </span>number of days prior to the anniversary date you want notifications to begin.<br /><span style="font-weight: bold;">BirthDayDate </span>= the birthday date.<br /><span style="font-weight: bold;">BirthdayDaysCount = </span>number of days prior to the birthday date you want notifications to begin.<span style="font-weight: bold;"><br /><br /></span>The AnniversaryDaysCount and BirthdayDaysCount are REG_SZ entries. Create them if they do not exist. The AnniversaryDate and BirthDayDate are REG_BINARY entries. Create them if they do no exist.<br /><br />Okay, here's how the date is to be entered. Lets do it for 2008 January Sunday 6, 14:20:23:00<br /><br />Conversion:<br />Year 2008: In hex it is 07D8. Swap the bytes (first and second halves), you get D807.<br />Month January=1: Hex=0001. After swap = 0100.<br />Day Sunday=0: Hex=0000. After swap = 0000.<br />Date 6: Hex=0006. After swap = 0600.<br />Hour 14: Hex=000E. After swap = 0E00.<br />Min 20: Hex=0014. After swap = 1400.<br />Sec 23: Hex=0017. After swap = 1700.<br />Millisec 00: Hex=0000. After swap = 0000.<br /><br />So, the entry you would make is <span style="font-weight: bold;">D8070100000006000E00140017000000</span>. If you do not know how to convert decimal to hex, use the calculator on your PC. Also, please enter a valid date. I am not over-burdening the notifier to check for date validity.<span style="font-weight: bold;"></span><br /><br />7. Repeat Step 6 for the other contacts.<br /><br />8. Now download this application - <a href="http://www.cs.colostate.edu/%7Erinku/forum/my5Notifier.zip">my5Notifier</a>. Copy the application to a folder of your choice. Create a shortcut to it, and move the shortcut to \Windows\Start up. This would start the notifier as soon as you reboot.<br /><br />9. Reboot the phone. Upon start, the my5Notifier will begin execution. Press the Home key to go back to your usual home screen. Sorry for this extra key press!! I shall soon create a service dll for it.<br /><br />That should do it!! Sorry for the registry tweaks you have to do to enter simple information. The my5Notifier is currently being improved and I intend to add the following improvements to it.<br /><br />-SMS notifications<br />-Change contact information in the application<br />-Convert the application into a service dll<br /><br /><span style="font-style: italic;">Known bug:</span> If the phone keypad locks while at the myFaves Interface, then the next time you unlock the keypad, only the last shown notification is displayed (meaning it does not change over to a different type, as in the image above). A workaround to this is to press the start key, and then the home key. I do not know yet if the problem is from the myFaves interface or the notifier.<br /><br />Besides, I did my part of the testing with the notifier, but there will always be some bug I might have missed. So please do let me know if you find one. I will release the source code after development.<br /><br />Please read "<a href="http://shadowregistryhacks.blogspot.com/2008/01/quick-follow-up.html">A Quick Follow-Up</a>".</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-1477246381166341398?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com5tag:blogger.com,1999:blog-891550360916497734.post-56293066967114285772008-01-03T21:35:00.000-07:002008-12-10T03:21:26.354-07:00Enabling the myFaves Interface<span style="font-size:130%;"><span style="font-weight: bold;">This article is outdated. Please see <a href="http://shadowregistryhacks.blogspot.com/2008/01/myfaves-revisted.html">myFaves Revisted</a> for updated instructions.</span></span><br /><br /><br /><span style="color: rgb(192, 192, 192);">The tutorial here shows the steps required to enable the myFaves interface for those who do not have a myFaves account with T-Mobile. The interface acts as a fast dialer for five of your favorite numbers.</span><br /><br /><a style="color: rgb(192, 192, 192);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hoG1ZhFM_Mc/R326i53_31I/AAAAAAAAABY/FlFV3MKufGo/s1600-h/sshot001.bmp"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_hoG1ZhFM_Mc/R326i53_31I/AAAAAAAAABY/FlFV3MKufGo/s320/sshot001.bmp" alt="" id="BLOGGER_PHOTO_ID_5151478657595727698" border="0" /></a><br /><span style="color: rgb(192, 192, 192);">1. Connect your Shadow to the PC. App-Unlock your phone - I used </span><span style="font-style: italic; color: rgb(192, 192, 192);"><a href="http://www.elims.org/downloads/HTC-Tmobile/SDA_ApplicationUnlock/">SDA_ApplicationUnlock</a>. </span><span style="color: rgb(192, 192, 192);">Download the exe and run it from your PC while keeping the phone connected and ActiveSync running. Once done, start CeRegistryEditor.</span><br /><br /><span style="color: rgb(192, 192, 192);">2. Go to </span><span style="font-weight: bold; color: rgb(192, 192, 192);">HKLM/Software/Microsoft/CHome/CMyFaves</span><span style="color: rgb(192, 192, 192);">. Change the data value of the REG_DWORD entry </span><span style="font-weight: bold; color: rgb(192, 192, 192);">Disabled</span><span style="color: rgb(192, 192, 192);"> from </span><span style="font-weight: bold; color: rgb(192, 192, 192);">1</span><span style="color: rgb(192, 192, 192);"> to </span><span style="font-weight: bold; color: rgb(192, 192, 192);">0</span><span style="color: rgb(192, 192, 192);">.</span><br /><br /><span style="color: rgb(192, 192, 192);">3. Click on </span><span style="font-weight: bold; color: rgb(192, 192, 192);">HKLM/Software/Microsoft/CHome/CMyFaves/0</span><span style="color: rgb(192, 192, 192);">. Make the following changes to the entries there.</span><br /><br /><span style="font-weight: bold; color: rgb(192, 192, 192);">Image = </span><span style="color: rgb(192, 192, 192);">full image path to the picture you want to show for this contact, e.g. \windows\myFaves_silhouette_0.jpg</span><br /><span style="font-weight: bold; color: rgb(192, 192, 192);">Name</span><span style="color: rgb(192, 192, 192);"> = name of the contact</span><br /><span style="font-weight: bold; color: rgb(192, 192, 192);">Phone</span><span style="color: rgb(192, 192, 192);"> = phone number of the contact in the format XXX-XXX-XXXX, e.g. 123-45-6789</span><br /><br /><span style="color: rgb(192, 192, 192);">4. Click on </span><span style="font-weight: bold; color: rgb(192, 192, 192);">HKLM/Software/HTC/My5/My5App</span><span style="color: rgb(192, 192, 192);">. Collapse the tree by clicking on the '+' sign .</span><br /><br /><span style="color: rgb(192, 192, 192);">5. Click on </span><span style="font-weight: bold; color: rgb(192, 192, 192);">Contact_0</span><span style="color: rgb(192, 192, 192);">. Edit the following entries for this key.</span><br /><br /><span style="font-weight: bold; color: rgb(192, 192, 192);">ImageSrc</span><span style="color: rgb(192, 192, 192);"> = same image path as you gave on Step 3.</span><br /><span style="font-weight: bold; color: rgb(192, 192, 192);">Name</span><span style="color: rgb(192, 192, 192);"> = same name you gave on Step 3.</span><br /><span style="font-weight: bold; color: rgb(192, 192, 192);">PhoneDash</span><span style="color: rgb(192, 192, 192);"> = same phone number you entered for Phone in Step 3.</span><br /><span style="font-weight: bold; color: rgb(192, 192, 192);">PhoneNumber = </span><span style="color: rgb(192, 192, 192);">same phone number but without the dashes.</span><br /><br /><span style="color: rgb(192, 192, 192);">6. Now perform Step 3 to 5 for the other contacts - 1 through 4.</span><br /><br /><span style="color: rgb(192, 192, 192);">7. Click on </span><span style="font-weight: bold; color: rgb(192, 192, 192);">HKLM/Software/Microsoft/CHome</span><span style="color: rgb(192, 192, 192);">. For the </span><span style="font-weight: bold; color: rgb(192, 192, 192);">Plugins</span><span style="color: rgb(192, 192, 192);"> entry in the key, make sure you have CMyFaves in the semicolon separated list. If not, add it.</span><br /><br /><span style="color: rgb(192, 192, 192);">8. Reboot your phone and you should now have the myFaves dialer on the home screen.</span><br /><br /><span style="color: rgb(192, 192, 192);">The actual functionality of the myFaves interface is revealed when you enable the notifications for the contacts. You can essentially set reminders for anniversaries, birthdays and all. I shall soon talk about enabling those in the interface.</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-5629306696711428577?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com9tag:blogger.com,1999:blog-891550360916497734.post-31849951622287970512008-01-03T00:13:00.000-07:002008-01-03T01:44:25.495-07:00Removing Contacts from Home ScreenIf you do not want your Contacts to map on to the Right SOFT key on the home screen (when the clock in showing), then there is small hack that lets you map it to anything else you want.<br /><br />Goto <span style="font-weight: bold;">HKLM/Software/Microsoft/CHome</span> and click on <span style="font-weight: bold;">CClock</span>. Note the <span style="font-weight: bold;">SK2TEXT</span> and <span style="font-weight: bold;">SK2URL</span> string value entries. Change the data value of SK2TEXT to whatever you want to appear in place of "Contacts" and change the data value of SK2URL to the path of the application you want to open when the right SOFT key is pressed.<br /><br />For example, setting SK2TEXT = Task Manager and SK2URL=\windows\tasks.exe will show "Task Manager" in place of "Contacts" and will open it when the right SOFT key is pressed.<br /><br />By the way, its a good customization to do because you often feel the need to open the Task Manager. Besides, the contacts can always be reached via the call button.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-3184995162228797051?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com5tag:blogger.com,1999:blog-891550360916497734.post-71593116763052387572008-01-02T22:49:00.000-07:002008-01-03T18:04:37.332-07:00Removing (or changing) the T-Mobile Shadow Splash ScreensThe T-Mobile Shadow splash is the animated sequence showing "T-Mobile Shadow". It appears during startup and shutdown. To change (or remove) the startup splash:<br /><br />click on <span style="font-weight: bold;">HKLM/Software/HTC/Startup</span>. Notice the <span style="font-weight: bold;">Image</span> string value entry. Remove the data "\windows\TMO_shadow.gif" with a blank space to get rid of the splash, or change the path to an image you want to see. TMO_shadow.gif is itself an animated GIF, so yes, you can have custom animated GIFs. Try to make your custom GIF specifications same as that of TMO_shadow.gif - 240x320, 96dpi, 32-bit color. I could not make 8-bit static GIFs work!!<br /><br />The same can be done for the shutdown at <span style="font-weight: bold;">HKLM/Software/HTC/Shutdown. </span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-7159311676305238757?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com0tag:blogger.com,1999:blog-891550360916497734.post-61549427159017256092008-01-02T22:37:00.000-07:002008-01-04T01:22:42.890-07:00Removing an Item from the Home ScreenFor people without data plans, the t-zones item is not desired on the home screen. Removing it, or for that matter, any item from the home screen follows from our previous tutorials.<br /><br />Goto <span style="font-weight: bold;">HKLM/Software/Microsoft/</span> and click on <span style="font-weight: bold;">CHome</span>. Notice the <span style="font-weight: bold;">Plugins</span> string value, a list of items separated by semicolon. These items are what appears on the home screen. To remove t-zones, remove CLinks from the list. To remove anything else (for e.g. Photos), remove the corresponding entry (CMyPhotos for Photos).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-6154942715901725609?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com0tag:blogger.com,1999:blog-891550360916497734.post-91513127088401895412008-01-02T22:35:00.000-07:002008-01-02T22:36:16.648-07:00Changing the Order of the Items on the Home ScreenThis one follows from the previous tutorial we went through.<br /><br />Goto <span style="font-weight: bold;">HKLM/Software/Microsoft/</span> and click on <span style="font-weight: bold;">CHome</span>. Notice the <span style="font-weight: bold;">Plugins</span> string value, a list of items separated by semicolon. The order of these items determine the order of the tabs (icons) on the home screen. So, change it to the way you like it.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-9151312708840189541?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com2tag:blogger.com,1999:blog-891550360916497734.post-48993786412355000052008-01-02T21:55:00.000-07:002008-01-02T22:10:42.383-07:00Shortcuts to your Favorite ProgramsThis one will be a little long, but it shows the power of what you can do with these hacks. So, I am posting it soon. The instructions here are to add a "My Programs" tab to the home screen. It enables an user to add a set of frequently used programs to the home screen.<br /><br /><center><img src="http://www.cs.colostate.edu/%7Erinku/forum/sshot003.JPG" alt="Image" /></center><br /><br />Here are some images that I have used in this tutorial - <a href="http://www.cs.colostate.edu/%7Erinku/forum/MyProgramsImages.zip">Download</a>!<br /><br />STEPS<br />=====<br /><br />1. Connect your Shadow to the PC. Download the images in the attachment and place them in \Windows on your Shadow. You can use the Explore feature in ActiveSync to do this.<br /><br />2. Start CeRegistryEditor. Press F1 to load the registry. Perform a backup of the registry (just in case). You can do this by pressing F2 and following the instructions. Also, unlock the registry by doing <span style="font-style: italic;">Tools > Unlock Registry</span>.<br /><br />3. Create the key <span style="font-weight: bold;">CProgs</span> in <span style="font-weight: bold;">HKLM/Software/Microsoft/CHome</span>.<br /><br />4. In HKLM/Software/Microsoft/ click on CHome. Notice the Plugins string value. Append CProgs to the data value of Plugins. I have it as-<span style="font-style: italic;"> Plugins = CClock;CHome;CMessage;CAppointments;CMusic;CMyPhotos;CProgs;Settings</span><br /><br />The order of these items determine the order of the tabs on the home screen. So, change it if you want to.<br /><br />5. Click on HKLM/Software/Microsoft/CHome/CProgs. Create a new string value entry as-<br /><span style="font-weight: bold;">Name = GUID</span><br /><span style="font-weight: bold;">Type = REG_SZ</span><br /><span style="font-weight: bold;">Data = {C5A51777-B837-447d-8947-FAF3FF9D570B}</span><br /><br />6. Create the key <span style="font-weight: bold;">CProgs</span> in <span style="font-weight: bold;">HKLM/Security/cHome</span> .<br /><br />7. Create the key <span style="font-weight: bold;">Page1</span> in <span style="font-weight: bold;">HKLM/Security/cHome/CProgs</span> .<br /><br />8. Click on HKLM/Security/cHome/CProgs/Page1. We now need to create the following string value (REG_SZ) entries.<br /><br /><center><img src="http://www.cs.colostate.edu/%7Erinku/forum/sshot000.JPG" alt="Image" /></center><br /><br />ACTIONURL = path to the program that runs when the CENTER SELECT key is pressed<br />GUID = {2F710F22-9F19-43fa-8F35-9927D246B078}<br />PICTURES = path to image that appears...see above image<br />SK2TEXT = text for right SOFT key....see above image<br />SK2URL = what happens when right SOFT key is pressed<br />TEXT1 = text on screen...see above image<br />TEXT2 = text on screen...see above image<br />TITLETEXT = text on screen...see above image<br /><br />Just for a walkthrough, here is what I have for the Word Program in these entries.<br /><br /><span style="font-weight: bold;">ACTIONURL = \windows\pword.exe</span><br /><span style="font-weight: bold;">GUID = {2F710F22-9F19-43fa-8F35-9927D246B078}</span><br /><span style="font-weight: bold;">PICTURES = \windows\CHome_MyProgs_Word.png</span><br /><span style="font-weight: bold;">SK2TEXT = New</span><br /><span style="font-weight: bold;">SK2URL = \windows\pword.exe; \My Documents\Templates\New Word Document.doc<br /><br /></span>I created an empty word doc and placed it there.<br /><br /><span style="font-weight: bold;">TEXT1 = Word Mobile</span><br /><span style="font-weight: bold;">TEXT2 = Edit Word Documents</span><br /><span style="font-weight: bold;">TITLETEXT = My Programs</span><br /><br />9. For more programs, create a Page2, Page3...and so on, and follow the instructions on Step 8. I have 3 programs, so I have Page1, Page2 and Page3.<br /><br />10. Click on HKLM/Security/cHome/CProgs and create the following string value (REG_SZ) entries.<br /><span style="font-weight: bold;">GUID = {C5A51777-B837-447d-8947-FAF3FF9D570B}</span><br /><span style="font-weight: bold;">ICONPATHS = \CHome_MyProgs_sat_active.png;\CHome_MyProgs_sat_active.png;\CHome_MyProgs_desat_inactive.png</span><br /><span style="font-weight: bold;">LocName = Internet</span><br /><span style="font-weight: bold;">Pages = Page1;Page2;Page3</span><br /><br />The order in which you place the Pages will be the order in which the programs shall appear.<br /><br />11. The changes are saved to the registry on the Shadow as you make changes. To see the changes on the home screen, change it to something else (let the change take place) and then change it back to the T-Mobile Default.<br /><br />If all went all, you should now have your favorite programs on the home screen. For the images, the Vista Icon packs are great...resize them to 150X150 and it shows up well. If you got it right, then perhaps it is not difficult to see that "My Programs" is not the only thing you can do with this process.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-4899378641235500005?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com33tag:blogger.com,1999:blog-891550360916497734.post-20576071169694167852008-01-02T21:51:00.001-07:002008-01-02T21:54:27.619-07:00Changing IE Default HomepageI shall begin with a very easy one - changing the default homepage for IE.<br /><br />Click on<br /> <span style="font-weight: bold;">HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\AboutURLs<br /><br /></span>Change<br /> the string value <span style="font-weight: bold;">home_0409</span> data to the URL you want.<br /><br />E.g. home_0409 = http://www.google.com/m/products<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-2057607116969416785?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com3tag:blogger.com,1999:blog-891550360916497734.post-79106011993149790252008-01-02T21:35:00.000-07:002008-01-03T15:30:10.824-07:00ToolsThe tool I am using to edit the registry of my Shadow is CeRegistryEditor. All tutorials in this blog will assume that you have it installed and know how to work with it. In case any other tool is required to perform a hack, I shall point it out at the appropriate post.<br /><br />Also, you will need to have ActiveSync installed on your PC to work the tutorials here.<br /><br /><span style="font-weight: bold;">ADVICE:</span> Every time you are about to work on one of the tutorials here, perform a backup of the current registry. In CeRegistryEditor, you can do this by pressing F2 and following the instructions.<br /><br />Lets start!!!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-7910601199314979025?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com0tag:blogger.com,1999:blog-891550360916497734.post-13150131333374308252008-01-02T21:17:00.000-07:002008-01-02T21:20:55.532-07:00First PostI am trying here to assemble as many registry hacks as I can find for the T-Mobile Shadow. There are a couple I have done myself and am also constantly on the lookout for more on the Internet. Hopefully, with time, the blog will have quite a handful of the hacks.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/891550360916497734-1315013133337430825?l=shadowregistryhacks.blogspot.com'/></div>Rinkuhttp://www.blogger.com/profile/03586936728549690319noreply@blogger.com3