Difference between revisions of "Patch Email Enable Landscape Viewing"

From WebOS Internals
Jump to navigation Jump to search
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Preamble==
+
{{template:patch}}
 +
==Introduction==
 +
 
 +
This will enable landscape mode for email so that using the keyboard entered code to enable it per session will not be needed.
 +
 
 +
==Procedure for 1.1==
 +
 
 +
From [http://forums.precentral.net/web-os-development/191814-howto-always-enable-e-mail-app-rotation-w-landscape-view.html precentral.net Email Landscape Patch], it is indicated certified working on 1.1 but not to be applied to versions prior to 1.1. If the author grants permission to duplicate it here please do so.
 +
 
 +
==Procedure prior to 1.1==
 +
 
 +
Enabling rotation in email is trivial. Whenever you rotate the device, the system calls the orientationChanged function of the app. There's already one defined in email, but for some reason it does nothing. You can enable rotation by applying the following patches.
 +
 
 +
NOTE: The root of the patches is /usr/palm/applications/com.palm.app.email/
  
 
You will need write permissions to the file system on your Pre to apply this patch.
 
You will need write permissions to the file system on your Pre to apply this patch.
Line 8: Line 21:
 
After you've made the changes below, remount the file system as read-only:
 
After you've made the changes below, remount the file system as read-only:
 
<pre><nowiki>mount -o remount,ro /</nowiki></pre>
 
<pre><nowiki>mount -o remount,ro /</nowiki></pre>
 
== Procedure==
 
 
Enabling rotation in email is trivial. Whenever you rotate the device, the system calls the orientationChanged function of the app. There's already one defined in email, but for some reason it does nothing. You can enable rotation by applying the following patches.
 
 
NOTE: The root of the patches is /usr/palm/applications/com.palm.app.email/
 
  
 
=== app/controllers/list-assistant.js===
 
=== app/controllers/list-assistant.js===
Line 75: Line 82:
 
Curious item found in accounts-assitant.js. There seems to be an orientationString variable in the controller that is linked to some kind of hack if you type a specific string while having the account(folder) list open. Will investigate further.  
 
Curious item found in accounts-assitant.js. There seems to be an orientationString variable in the controller that is linked to some kind of hack if you type a specific string while having the account(folder) list open. Will investigate further.  
  
UPDATE: Seems that typing "RocknRollHax" (see ./app/controllers/accounts-assistant.js)  in the accounts list window will cause the email app to go into 'free' orientation mode. Looks like its an easier way to perform orientation changes instead of explicitly calling setWindowOrientation whenever the orientation changes.
+
UPDATE: Seems that typing "RocknRollHax" (see ./app/controllers/accounts-assistant.js)  in the accounts list window will cause the email app to go into 'free' orientation mode. Looks like its an easier way to perform orientation changes instead of explicitly calling setWindowOrientation whenever the orientation changes. '''Doesnt work'''
  
 
Alternate to RocknRollHax:  In accounts-assistant.js, change key word in line 106 to 'wide' or whatever you want.  Change string length in line 104 to num characters of your new key word. - xorg
 
Alternate to RocknRollHax:  In accounts-assistant.js, change key word in line 106 to 'wide' or whatever you want.  Change string length in line 104 to num characters of your new key word. - xorg
Line 81: Line 88:
 
- FXDemolisher
 
- FXDemolisher
  
7/24/2009 With the 1.1 update there is no need to edit the compose-assistant.js file referenced in the original mod.
+
7/25/2009 With webOS 1.1 you can type "wide" to activate this feature w/o editing any files. However it is not persistent between application launches.  
  
-Mamouton
+
Only the '''accounts-assistant.js''' file needs to be patched in webOS 1.1. The '''compose-assistant.js''' edit needs work as it currently does not work in webOS 1.1.
 
 
7/24/2009 With the 1.1 update there is no need to edit '''ANY''' pages.
 
  
 
-NetWhiz
 
-NetWhiz
 
7/25/2009 No need to edit the RocknRollHax section of the script, just modify the 3 javascript files as the wiki explains and you can view e-mails in landscape mode without typing a code.
 

Latest revision as of 17:25, 1 September 2009


Introduction

This will enable landscape mode for email so that using the keyboard entered code to enable it per session will not be needed.

Procedure for 1.1

From precentral.net Email Landscape Patch, it is indicated certified working on 1.1 but not to be applied to versions prior to 1.1. If the author grants permission to duplicate it here please do so.

Procedure prior to 1.1

Enabling rotation in email is trivial. Whenever you rotate the device, the system calls the orientationChanged function of the app. There's already one defined in email, but for some reason it does nothing. You can enable rotation by applying the following patches.

NOTE: The root of the patches is /usr/palm/applications/com.palm.app.email/

You will need write permissions to the file system on your Pre to apply this patch.

To get write persmissions execute:

rootfs_open -w

After you've made the changes below, remount the file system as read-only:

mount -o remount,ro /

app/controllers/list-assistant.js

--- list-assistant.js_2009-06-27	Sat Jun 27 19:19:19 2009
+++ list-assistant.js	Sat Jun 27 20:03:19 2009
@@ -27,6 +27,9 @@
 				{label:$L('Update'), icon:'sync', command:'sync'}
 			]};
 	this.controller.setupWidget(Mojo.Menu.commandMenu, undefined, this.cmdMenuModel);
+	
+	// enable free orientation
+	this.controller.window.PalmSystem.setWindowOrientation("free");
   },
 
   // NOTE: this is called by app_scene's _setup function

app/controllers/compose-assistant.js

--- compose-assistant.js_2009-06-27	Sat Jun 27 19:21:43 2009
+++ compose-assistant.js	Sat Jun 27 20:03:45 2009
@@ -178,6 +178,9 @@
 
 		// Delayed a little, since we want the header part of render as quickly as possible
 		ComposeAssistant.onLoad.defer(this.controller, this.email);
+		
+		// enable free orientation
+		this.controller.window.PalmSystem.setWindowOrientation("free");
 	},
 
 	cleanup: function() {

app/controllers/accounts-assistant.js

--- accounts-assistant.js_2009-06-27	Sat Jun 27 19:29:47 2009
+++ accounts-assistant.js	Sat Jun 27 20:01:28 2009
@@ -51,6 +51,9 @@
 		EmailAppDepot.depot.isShowFavorites(AccountsAssistant.kFavoriteFoldersAccountID, this.depotGetFavExpanded.bind(this));
 
 		this.controller.listen(this.controller.sceneElement, Mojo.Event.keypress, this.keypressHandler.bind(this));
+		
+		// enable free orientation                                                 
+                this.controller.window.PalmSystem.setWindowOrientation("free");
 	},
 
 	cleanup: function() {

Notes

Credit goes to jblebrun for the original hack.

Seems that the menu disappears in landscape mode and that the orientation mode carries over from one part of the app to the other as you move to a message or back to the message list or account list. This is especially weird in the compose screen since the menu has some needed functionality in it ~ FXDemolisher

Curious item found in accounts-assitant.js. There seems to be an orientationString variable in the controller that is linked to some kind of hack if you type a specific string while having the account(folder) list open. Will investigate further.

UPDATE: Seems that typing "RocknRollHax" (see ./app/controllers/accounts-assistant.js) in the accounts list window will cause the email app to go into 'free' orientation mode. Looks like its an easier way to perform orientation changes instead of explicitly calling setWindowOrientation whenever the orientation changes. Doesnt work

Alternate to RocknRollHax: In accounts-assistant.js, change key word in line 106 to 'wide' or whatever you want. Change string length in line 104 to num characters of your new key word. - xorg

- FXDemolisher

7/25/2009 With webOS 1.1 you can type "wide" to activate this feature w/o editing any files. However it is not persistent between application launches.

Only the accounts-assistant.js file needs to be patched in webOS 1.1. The compose-assistant.js edit needs work as it currently does not work in webOS 1.1.

-NetWhiz