[Windows Mobile Development and Hacking General] meltwater:
Project Open

Compiled Cab file attached to this post.

Code-Plex Page (source available):

http://senseutil.codeplex.com

======================

Project Status

======================

Initial development is completed.

The application does all the items defined in the Manifest!

Ideas and feedback are very welcome, particularly for the GUI (which is more functional than anything else).

Graphics etc are welcome, then I can add graphical controls etc and state icons.

Added example shortcuts

Shortcuts for use with installing and uninstalling tabs. See Shortcuts section of the manual below.

Release 10th Aug 2011 (meltwater_SenseUtil (9433).cab) - Thanks to mike2nl for gathering the extra tab details and corrections!

+Added (shortcuts & resource files):

1a9fc010_manila	\windows\HTC\today.mode9

2c417551_manila \windows\HTC\GGorizont\GGorizont.mode9

04ca8df7_manila \windows\HTC\GPSTracker\GPSTracker.mode9

34C172FA_manila \windows\HTC\Manilatv\favorites.mode9

037D6881_manila \windows\HTC\GameFifteen\GameFifteen.mode9

0C3A0700_manila \windows\HTC\programlauncher.mode9

2CAADFCD_manila \windows\HTC\manilaradio\manilaradio.mode9

+Corrected document tab shortcut

+Language title files (6f286a05_manila_en-us_titlefixed.txt is template for others)

+Language title files added to cab (although most require translations etc)

[B]Release 22nd Feb 2011 (meltwater_SenseUtil (6952).cab) - 680views[/B]
+ Added fix for "Unable to update file"
+ Using Release instead of Debug build

[B]Release 26th Jan 2011 (meltwater_SenseUtil (6328).cab) - 189views[/B]
Code is the same, but added CabFile to package (with Shortcuts) and HQ icon for application.
- Cab will always install to Device "\windows\SenseUtil" regardless of user selection.

[B]19 Jan 2010 (SenseUtil_6026.zip)[/B]
Changed default position to after home tab.
Added shortcuts for more tabs.

[B]18 Jan 2010 (SenseUtil_6007.zip)[/B]
Updated softreset message for commandline updates.

[B]17 Jan 2010 (SenseUtil_5973.zip)[/B]
------------------
Added shortcuts.
Added option to reset device following command-line modification of tab control file (with prompt so user can wait to see if sense restarts without reset).

[B]2 Dec 2010 (SenseUtil_5021.zip) - 246+140views[/B]
------------------
Initial Release
Cab (thanks to Captain_Throwback).

======================

Additional Work

======================

Missing Available Tabs:

===============

If there are any missing tabs from the available tabs list, then send me the details so I can generate a resource file.

Extra Features (To Do):

==========

At some point I will update the app to read the configuration keys (if available) and generate the file using the order defined there (plus re-generate the keys to keep disabled tabs disabled).

Graphics:

======

If anyone is interested, I can add icons to help determine the states of the tabs...just need some graphics!

Possible State Icons for tabs:

Tab Installed & Present - in the tab control file & on the device (Installed Fine)

Tab Not Installed & Present - not in the tab control file but on the device (i.e. Available to add)

Tab Installed & Not Present - in the tab control file but not on the device (!Warning State! Sense will probably fail to run)

Tab Not Installed & Not Present - not in the tab control file or in on the device

Also the icon could indicate if the source is from XML file or the tab control file (only applies to the installed ones - not installed ones will always be xml).

====================

User Manual

====================

I'll try to update this with new information as and when I get time, hopefully the app isn't too difficult to understand.

Control Sense Page:

============

This page controls sense...

[Start Sense]:

If sense is not selected in the Today Plugin, this adds and triggers sense to start.

[Stop Sense]:

If sense is running, or set in the Today Plugin to run, this will remove it and trigger it to close.

[Restart Sense]:

This will cause sense to restart (by removing and adding it from the Today Plugin).

Note: Any changes to your Tab Control File (26948339_manila) are ignored.

[Reset Sense]:

The same as [Restart Sense], but will also cause it to re-build by removing the ManilaFull.xml file.

Note: If you have changed your Tab Control File (26948339_manila) any changes will be re-built in this process.

[Full Reset Sense]:

The same as [Reset Sense], but will also delete the configuration registry keys (this is required when you add/remove tabs for them to initialise correctly and for them to show up in the Tab Re-arrange page within the Sense Settings Tab).

Note: Any tabs disabled via the Sense Settings Tab will be re-enabled!

[Soft Reset]:

This simply restarts your device, quite often sense will not re-start correctly without at least one reset.

Tab Control File [Update]:

If you have generated a new Tab Control File (26948339_manila), this option will replace your existing file (creating a timestamped backup within the SenseUtil folder) and [Full Reset Sense].

Tabs (Loaded) Page:

============

On start up, this page shows the contents of the Tab Control File (26948339_manila).

[Build]:

Once you have made adjustments to the list, you can build a new file (which you can then view using a suitable text editor and check if you wish).

Tab Source [#]:

This toggles the source of the tab data:

Default=Your original Tab Control File

File=The loaded xml resource file

Note:

If the tab is not available (the xml file does not exist) then the source will not change. Also if you delete and re-add a tab which was in your tab control file, it will not be able to be set back to Default - you will need to Reload the data fresh.

Remove [-]:

Removes the tab, the tab will no longer be installed.

Shift Up [^] and Shift Down [v]:

Allows you to adjust the default positions of the tabs.

Tabs (Available) Page:

============

This page will show you the tab's which are available (loaded from the Resource Folder xml files).

When you select an item, you will be able to see if the tab's keyfile is Present On Device or not, this provides an indication of if the files required for the tab are on the device

Note: Only the keyfile is checked - there will be additional files required for the tab/sense to function.

Various details about the tab are also available, if a custom tab links to the tab's development and release pages should be provided.

Add Tab [+]:

Allows you to add a tab to your Tab Control File, if the tab is not detected as Present On Device you will be warned that Sense probably will not start (you will need to install the correct tabs files on your device).

Add All [+All]:

This will add all the tabs which are detected as Present On Device but not currently in the Tab Control File.

Note:

Only the keyfile is checked - there will be additional files required for the tab/sense to function. So be sure you have correctly installed all the required files for a particular tab.

Settings Page:

============

Provides various options for the app.

Register to Today Softkey:

[Set Action/Contacts)]​

Only recommended if you use the app a lot as it provides an easy way to start up/control sense if it has not loaded.

[ ] Advanced View:

This allows you to see all the data which the app collects about the installed/available tabs and uses to do what it does. Useful for debugging issues with the resource files or problems with the app itself.

[Reload Files]:

This will read in your Tab Control File again, and reload all the resource Xml files (for the available tab list).

Note: Any changes you've made to your Tab Control File in the app will be discarded.

Command Line Options:

============

SenseUtil add 6B54437C_manila

- Adds the specified tab, leave other tabs as they are

SenseUtil renew

- Replaces all tab details with data from the xml files (leaves any not found in the xml files as they are)

SenseUtil addall

- Adds any tabs which are not in the tab control file but found on the device (checking for the key mode9 file), the other tabs are left as they are. New tabs are added at end before settings tab.

SenseUtil addallnew

- As above, but other tabs are replaced with details from the xml files (leaves any not found in the xml files as they are)

SenseUtil remove 6B54437C_manila

- Removes the tab if installed on the device

Shortcuts:

========

By using the shortcuts, it is assumed that SenseUtil is installed to device location:

"\Windows\SenseUtil\"

i.e For FbTab:
Add Shortcut:
54#"\Windows\SenseUtil\SenseUtil.exe" add 51B6F88A_manila

Remove Shortcut:
57#"\Windows\SenseUtil\SenseUtil.exe" remove 51B6F88A_manila

For other tabs, look up the xxxxxxxx_manila file in the resource section and replace 51B6F88A_manila (note: the 54# and 57# need not change since the length should remain the same). Or post a request and I'll upload suitable shortcuts!

Note:

1. Before using the shortcut you must install the correct files for the tab in the correct location (if files are not present the tab will not be added).

2. System may need Soft-Reset (turn off and on again) for sense to restart correctly (you will be prompted to wait and see if sense starts).

3. The order set by the settings tab will be reset by this process.

[SIZE="5"]===============================
Application Manifest - What I Planned To Achieve
===============================[/SIZE]
The plan is a simple program which reads the tab control file (file 26948339_manila) and allow you to add/remove tabs using a simple xml file to provide the correct info.

MoonNah's ([url]http://xdaforums.com/showthread.php?t=670116[/url]) B_L_Group_FixStartManila_2.5.cab is an excellent tool which simply re-generated the list based on the files it found within the windows dir, worked well except there was no indication that is was successful or what it had done.

I think it would be quite simple to extend the idea a little further by creating an app with a gui which then searched it's local folder for xml files. The xml files will be named to match the key mode9 filename for each tab:

i.e. RSS Tab = \windows\htc\people\RssFeed.mode9 = 6B54437C_manila
[B]So there would be a xml file called 6B54437C_manila.xml which contains the data for the tab:[/B]
[CODE]<Page Order="X" Name="rssfeed.page" PackageName="HTC" Title="[[IDS_RSSTITLE]]">
<ComponentReference Name="page" Mode9Path="HTC\People\RSSFeed.mode9" Component="SummaryAllPage" SmartComponent="true"/>
<ComponentReference Name="icon_normal" Mode9Path="HTC\Manila\RssFeedicon.mode9" Component="RssFeed_Off"/>
<ComponentReference Name="icon_selected" Mode9Path="HTC\Manila\RssFeedicon.mode9" Component="RssFeed_On"/>
<ComponentReference Name="icon_preview" Mode9Path="HTC\Manila\RssFeedicon.mode9" Component="RssFeed_Preview"/>
</Page>

So the app would look for each of the xxxxxxxx_manila files in the windows directory and then allow the user to add/remove any tabs which are present on the system. This would also allow users to totally disable any "problem" tabs more effectively than via the config keys.

The xml files could also have a full list of required files (which could also be checked), perhaps a link to obtain the latest release, the app could then be released with xml files for all current tabs and any new ones so users can easily see what is available and obtain them.

The app would also handle the disabling and resetting of sense so that the changes are correctly made.

Also the app could support command line option to install a specific tab if present (not making any changes to the others), which can then be used by cab files.

Note: Software is able to set today screen softkeys for easy use, but a proper soft-key manager is available here if you decide you want to set them to something different:

http://xdaforums.com/showthread.php?t=388281

I will have a try at making the app myself but my time is very limited so any help will be greatly appreciated. But I do think that such a program would be very useful for those who have problems editing their tab control file (file 26948339_manila).

Let me know what you think?

======================

Language Title Fixes

======================

Custom Tabs (like RSSTab/Facebook Tab display IDS value on 1st run)

This is because the translation file used for the tab titles is separate to the tab's own language file.

I will update senseUtil to allow the users to update the files using a shortcut, but until I've completed and tested that, I've included a zip file of the required files.

CAB INSTALL:

Install meltwater_LangTitleUpdate_v01.cab. - 155views

Reset sense.

MANUAL INSTALL: - 149views

Unzip and copy the files into your devices \windows\ directory, and then reset sense.

Please let me know if you have any problems or if you have updates for the contained translations (I've only updated the ones I've already got translations for).

[/CODE]

======================

Language Title Fixes

======================

Custom Tabs (like RSSTab/Facebook Tab display IDS value on 1st run)

This is because the translation file used for the tab titles is separate to the tab's own language file.

I will update senseUtil to allow the users to update the files using a shortcut, but until I've completed and tested that, I've included a zip file of the required files.

Updated language files are contained within the SenseUtil cab file, please update the file language files and post them here (they will get included in the next cab).​