Some time ago PaSSoA released new version of his ROM.
He added option to change the today plugin from Manila to rlToday when screen rotation occures.
Unfortunatly he used MortScript which was working in a loop and checking the rotation state every second.
This was causing instant 3% CPU utilization.
That was something I didn't like so I start to wonder if it is possible to create events-based application.
I start to write and voila...
My application is running in the background, using 0% (that's why it's better then MortScript) of CPU while sleeping.
Application needs .NET Compact 2.0 framework or later to work.
Features of RotationService:
- Configurable list of plugins to show on homescreen in portrait/landscape modes
- Ability to start and/or kill processes when switching to portrait/landscape mode /also with special TodayProcess mode - see changelog/
- Two modes of controling Omnia's autorotate funcion (using accelerometer):
- RotationService automatically enables autorotate feature only for applications on whitelist (all others have autorotate disabled)
- RotationService automatically disables autorotate feature for applications on blacklist (all others have autorotate enabled)
- Support for irritating Manila's behaviour of auto screen rotation to portrait (there are still some issues but I think the best way to resolve them is to modify Manila not to rotate the screen)
- Fixed angles for chosen applications
- Each angle (0, 90, 180, 270) can have it's own settings (180 angle is not working on i900 but should work on i910)
1.7.4:
- Bugfixes
1.7.3:
- Bugfixes
1.7.2:
- Bugfixes
1.7.0:
- Posibility to split orientation into angles (for example different rules for 90 and 270 degrees). Just create new element directly under RotationService and call it <Portrait180> or <Landscape270>. The one without numbers will become rules for 0 and/or 90 angles.
- Removed TodayProcess attribute from ProcessesToKill list. Now you can define processes which will be treated like today screen in separate section called TodayProcesses. When such process will be in foreground and rotation occures it will be automatically killed and full rotation will be made (like on Today Screen). This is usefull for applications like iFonz.
1.6.0:
- New way of process killing when switching orientation. I hope it is able to kill Manila process before it rotates the screen in all circumstances now - if not please give me a report in this thread.
- New attribute for Process element in ProcessesToKill configuration collection "TodayProcess". If the process is in foreground and rotation occures it will be treated like today screen and all rotation events will occure (useful for applications like iFonz).
- All attributes in config file use CamelHumps notation (with uppercased first letter - angle is now Angle and orientationOnly changed to OrientationOnly).
- Config file validation with error descriptions in message box while loading service.
1.5.0:
- New parameter in Fixed Angle Apps section called "orientationOnly". It makes service to allow application to work in two angles (90 and 270) in landscape mode
- "Please wait..." info screen will not appear if no changes to today plugins/processes will be made when switching from one orientation to the other (for users who use RotationService only for black/whitelisting auto rotation applications)
1.4.0:
- ability to disable/enable internal Date plugin on today screen
- config file is now renamed to RotationService.xml (was conf.xml) and the whole application can be safely put in \Windows folder (for ROM cookers)
- ability to start chosen applications after rotation event
1.3.1:
- application tries to be more user-friendly for Samsung Online Widget (however it is still not not advisable to use them together)
1.2.2:
- some small fixes
- support for AppToDate
1.2.1:
- processes/exec names are now case-insensitive;
- changing plugins on today screen application now disables all of them and later enables only chosen ones (before it was disabling only plugins defined in config file in opposite section)
1.2.0:
- fix for NullReferenceException error when using wkTask
1.1.0:
- ability to define processes which will have fixed angle defined in config file (and disabled auto rotation). Check the config file how to define them (it's very simple).
Everything is configured by RotationService.xml file which is has comments with descriptions of each section.
To exit application just run it from Programs Menu - small Control Panel for Rotation Service will appear.
To reread the config file you need to choose Reload from Rotation Service Control Panel.
Application automaticaly installs and put a shortcut to StartUp and Programs menus.
After installation you need to edit RotationService.xml file in application directory.
I'll stop implementing new features for next few days/weeks so please do not post them for a while (only bugs reports).
Lots of new ones were implemented (and not deeply tested) for last few days so I want to focus on bugfixing now.
HOW TO CHECK EXECUTABLE NAME FOR APPLICATION:
- Download FdcTaskmanager from this site: http://www.dotfred.net/TaskMgr.htm
- Install it
- Launch
- You will see lists of processes running on your Omnia
- Choose the record which you think can be the program you are looking for
- Choose Activate from Context Menu
- If the program's window appear you know the process name
Attached File(s)
-
RotationService.cab (198.46K)
Number of downloads: 2608
This post has been edited by qbus: 07 March 2009 - 10:32 PM








