http://wiki.webos-internals.org/api.php?action=feedcontributions&user=Mamouton&feedformat=atomWebOS Internals - User contributions [en]2024-03-28T12:41:38ZUser contributionsMediaWiki 1.35.1http://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11085Application:SaveRestore2010-08-29T13:59:48Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) Open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''''Now, here is what you need to do'''''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) In one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) In the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) You need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) So, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) Using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) Then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) If the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) Go into the app and make changes. Play some more, delete some items, etc<br />
7) Back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
'''FINAL STEP''' <br />
<br />
Post the script in the PreCentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11084Application:SaveRestore2010-08-29T13:59:30Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) Open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''''Now, here is what you need to do'''''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) In one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) In the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) You need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) So, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) Using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) Then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) If the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) Go into the app and make changes. Play some more, delete some items, etc<br />
7) Back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
'''FINAL STEP''' <br />
<br />
Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11083Application:SaveRestore2010-08-29T13:59:01Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) Open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''''Now, here is what you need to do'''''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) In one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) In the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) You need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) So, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) Using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) Then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) If the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) Go into the app and make changes. Play some more, delete some items, etc<br />
7) Back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
'''FINAL STEP''' <br />
Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11082Application:SaveRestore2010-08-29T13:58:38Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) Open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''''Now, here is what you need to do'''''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) In one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) In the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) You need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) So, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) Using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) Then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) If the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) Go into the app and make changes. Play some more, delete some items, etc<br />
7) Back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
'''FINAL STEP''' Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11081Application:SaveRestore2010-08-29T13:58:04Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) Open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''''Now, here is what you need to do'''''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) In one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) In the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) You need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) So, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) Using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) Then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) If the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) Go into the app and make changes. Play some more, delete some items, etc<br />
7) Back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11080Application:SaveRestore2010-08-29T13:57:32Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) Open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''''Now, here is what you need to do'''''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) In one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) In the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) You need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) So, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) Then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) If the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) Go into the app and make changes. Play some more, delete some items, etc<br />
7) Back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11079Application:SaveRestore2010-08-29T13:57:12Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) Open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''''Now, here is what you need to do'''''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) In one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) In the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) You need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) Then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) If the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) Go into the app and make changes. Play some more, delete some items, etc<br />
7) Back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11078Application:SaveRestore2010-08-29T13:56:13Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''''Now, here is what you need to do'''''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) In one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) In the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) You need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) if the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) go into the app and make changes. Play some more, delete some items, etc<br />
7) back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11077Application:SaveRestore2010-08-29T13:55:33Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''''Now, here is what you need to do'''''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) in one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) in the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) you need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) if the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) go into the app and make changes. Play some more, delete some items, etc<br />
7) back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11076Application:SaveRestore2010-08-29T13:54:47Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
'''Now, here is what you need to do'''''Italic text''<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) in one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) in the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) you need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) if the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) go into the app and make changes. Play some more, delete some items, etc<br />
7) back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11075Application:SaveRestore2010-08-29T13:53:05Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
'''Programs you will need:'''<br />
*webOS Quick Install <br />
*tofrodos - (tofrodos Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program - such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK - (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
Now, here is what you need to do<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) in one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) in the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) you need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) if the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) go into the app and make changes. Play some more, delete some items, etc<br />
7) back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11074Application:SaveRestore2010-08-29T13:52:14Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
Programs you will need:<br />
*webOS Quick Install: <br />
*tofrodos (tofrodos: Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
*a database program, such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
*Palm SDK (SDK Download - Palm Developer Center)<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
'''Starting steps:'''<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
Now, here is what you need to do<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) in one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) in the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) you need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) if the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) go into the app and make changes. Play some more, delete some items, etc<br />
7) back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11073Application:SaveRestore2010-08-29T13:51:04Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
Programs you will need:<br />
webOS Quick Install: <br />
*tofrodos (tofrodos: Convert text files to/from MSDOS/Windows/Unix (freeware)<br />
<br />
*a database program, such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net )<br />
<br />
*Palm SDK (SDK Download - Palm Developer Center)<br />
<br />
*access to the webOS command prompt<br />
<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: ''git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts'' (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
Starting steps:<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
Now, here is what you need to do<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) in one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) in the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) you need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) then, first test out the code by typing:<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) if the “info” works, try running a “save”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) go into the app and make changes. Play some more, delete some items, etc<br />
7) back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script in the Precentral SaveRestore thread so it can added it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11072Application:SaveRestore2010-08-29T13:44:38Z<p>Mamouton: /* Contributors */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
Programs you will need:<br />
webOS Quick Install <br />
tofrodos (tofrodos: Convert text files to/from MSDOS/Windows/Unix (freeware) ) <br />
a database program, such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net ) <br />
you will need access to the webOS command prompt<br />
Palm SDK (SDK Download - Palm Developer Center )<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
Starting steps:<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
Now, here is what you need to do<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) in one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) in the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) you need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
Code:<br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
Code:<br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
Code:<br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
Code:<br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
Code:<br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
Code:<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
Code:<br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
Code:<br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
Code:<br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
Code:<br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Code:<br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
Code:<br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
Code:<br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) then, first test out the code by typing:<br />
<pre><nowiki><br />
Code:<br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) if the “info” works, try running a “save”<br />
<pre><nowiki><br />
Code:<br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) go into the app and make changes. Play some more, delete some items, etc<br />
7) back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
Code:<br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script here so we can add it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib<br />
*Audemars02</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11071Application:SaveRestore2010-08-29T13:43:15Z<p>Mamouton: /* Writing a SaveRestore Script */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
Programs you will need:<br />
webOS Quick Install <br />
tofrodos (tofrodos: Convert text files to/from MSDOS/Windows/Unix (freeware) ) <br />
a database program, such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net ) <br />
you will need access to the webOS command prompt<br />
Palm SDK (SDK Download - Palm Developer Center )<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
Starting steps:<br />
<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
<br />
2) Load up webOS Quick Install<br />
<br />
3) open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
Now, here is what you need to do<br />
<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
<br />
2) in one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt<br />
<br />
3) in the other windows command prompt, change to the directory that you installed “tofrodos”<br />
<br />
4) you need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
Code:<br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook</nowiki></pre>This will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)<br />
<pre><nowiki><br />
Code:<br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 file</nowiki></pre>if there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
Code:<br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sample</nowiki></pre> and look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
Code:<br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
Code:<br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info </nowiki></pre> Lets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
Code:<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
Code:<br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
Code:<br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
Code:<br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
Code:<br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Code:<br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
Code:<br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
Code:<br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) then, first test out the code by typing:<br />
<pre><nowiki><br />
Code:<br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) if the “info” works, try running a “save”<br />
<pre><nowiki><br />
Code:<br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) go into the app and make changes. Play some more, delete some items, etc<br />
7) back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
Code:<br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script here so we can add it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=11070Application:SaveRestore2010-08-29T13:36:48Z<p>Mamouton: /* Supported Applications */</p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: 1.0.5 <br />(25 Aug 2010)<br />
|tag=Utilities<br />
|screenshot=Saverestore_ss1.png<br />
|description=}}<br />
<br />
== Summary == <br />
Save/Restore enables saving and restoring application data and misc. other things such as remembering icon placement in the launcher to and from the /media/internal/saverestore/ directory (USB drive) on a webOS device. The goal is to make the need to restore a device or switch devices as easy as possible by eliminating as much as possible dealing with each little thing to get back up and running as if you hadn't needed to restore.<br />
<br />
== Installing SaveRestore ==<br />
Use [[Preware]] to install this application.<br />
<br />
== Usage == <br />
===Saving Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss2.png|160px|frameless|left|text-top]]<br />
|valign="top"|Click on "Save Application Data" to start saving your application data to the USB drive. Once you are at the save page, you can choose which applications you would like to back up. When you have decided, tap the "Save Selected" button at the bottom of the screen.<br />
|}<br />
<BR><br />
<br />
===Restoring Data===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[Image: Saverestore_ss3.png|160px|frameless|left|text-top]]<br />
|valign="top"|If you need to restore your backed-up data, tap on "Restore Application Data" on the main page. Then, pick which applications you would like to restore. To restore the data, click on the "Restore Selected" button.<br />
|}<br />
<BR><br />
<br />
== Supported Applications ==<br />
<br />
Please see the "Supported Applications" list in Save/Restore for the latest information.<br />
<br />
<br />
== Writing a SaveRestore Script ==<br />
<br />
Programs you will need:<br />
webOS Quick Install <br />
tofrodos (tofrodos: Convert text files to/from MSDOS/Windows/Unix (freeware) ) <br />
a database program, such as SQLite Database Browser.exe (SQLite Database Browser | Download SQLite Database Browser software for free at SourceForge.net ) <br />
you will need access to the webOS command prompt<br />
Palm SDK (SDK Download - Palm Developer Center )<br />
''I highly recommend using the Windows Command prompt to get there, and not use the command prompt from webOS QI''. <br />
<br />
Finally, I suggest you take a look at this site: git.webos-internals.org Git - applications/saverestore.git/tree - scripts/ and get familiar with some existing scripts (note that when writing scripts, you do NOT include the line #s on each script)<br />
<br />
Once this is done, you are ready to get started. <br />
<br />
Starting steps:<br />
1) Put your phone in Developer Mode, connect to the Computer, and select “Just Charge”<br />
2) Load up webOS Quick Install<br />
3) open up 2 windows command prompts (you can do this by clicking on “Start”, “Run” then type “cmd”, then do it again)<br />
<br />
Now, here is what you need to do<br />
1) Use the App you want to create the script for for a little while. If it’s a game, make sure you get through a few levels. If it’s an app, make sure you load it up and make some changes in the app<br />
2) in one command prompt, type in “novacom -t open tty://” to get to the phone’s command prompt. <br />
3) in the other windows command prompt, change to the directory that you installed “tofrodos”<br />
4) you need to figure out the App ID of the application that you are trying to create the script for. There are a few ways to do this, but the easiest is to open up the save/restore app, click on “install applications” and find the app and copy the App ID (e.g. Facebook = “com.palm.app.facebook”). You can also use webOS Quick Install's Device Management window<br />
5) When you write a script, there are 4 types of saves that you may need:<br />
* Files (Save specific files. Usually only used for PDK Apps)<br />
* Cookies (Almost all non-PDK apps use cookies to save details)<br />
* Databases (If any app saves a lot of user-entered data (vs games that may just keep your progress of what level you reached), it probably uses a Database)<br />
* Query (but you will RARELY use the Query version)<br />
<br />
6) To check to see if you need to save specific files, in the Phone’s command prompt window, you want to check the files in the apps directory. Using facebook as an example, type in:<br />
<pre><nowiki><br />
Code:<br />
ls -l -r -t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebookThis will give you a listing of all files, the “-l” will give you DETAILED view, “-t” sorts in chronological order, and “-r” give you the newest file on the bottom. Look to see if anything was changed with a timestamp of when you last used the app. Note that sometimes, the app may have a subdirectory that you need to check. You can tell if something is a directory if the attributes have a “d” in the beginning. (E.g. “sample” below is a directory, “file” is not)</nowiki></pre><br />
<pre><nowiki><br />
Code:<br />
drwxr-xr-x 2 root root 1024 Mar 19 19:58 sample<br />
-rw-r--r-- 1 root root 1482572 Mar 19 19:58 fileif there are more directories, you may need to look in them. E.g. in the “sample” directory above, you would then need to <br />
<pre><nowiki><br />
Code:<br />
ls -l -r –t /media/cryptofs/apps/usr/palm/applications/com.palm.app.facebook/sampleand look to see there are any files in there you need. If there are files, mark down the DIRECTORY and ALL Files you need<br />
<br />
7) To check to see if the app uses a Cookie or a database, the easiest way is to use webOS Quick Install, select “Tools” – “Receive File”, and get the following 2 files:<br />
<pre><nowiki><br />
Code:<br />
/var/palm/data/Databases.db<br />
/var/palm/data/cookies.db </nowiki></pre> Then, open each one of these databases (with SQLite Database Browser) and do a search for the application to see if it has an entry. If it does, then you know you need to backup the database and/or the cookie<br />
8) so, now you are ready to write your script. Lets assume its for facebook application. So, the name of the script will be “com.palm.app.facebook”<br />
<br />
Each script will start off with the following (replace “Name of program” with the name of the program)<br />
<pre><nowiki><br />
Code:<br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.infoLets assume that you have all 3 situations for your app (2 files: “facebook.dat and pref.dat”, in the “\sample” directory), database, and cookies. <br />
<br />
For the file section:<br />
<pre><nowiki><br />
Code:<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files</nowiki></pre> For the Database:<br />
<pre><nowiki><br />
Code:<br />
source `dirname $0`/srf.app.databases </nowiki></pre>For the cookies:<br />
<pre><nowiki><br />
Code:<br />
source `dirname $0`/srf.app.cookies </nowiki></pre> Then always end with:<br />
<pre><nowiki><br />
Code:<br />
exit 0 :</nowiki></pre>So, the final script would look like :<br />
<pre><nowiki><br />
Code:<br />
#!/bin/sh<br />
<br />
APPID=`basename $0`<br />
APPNAME="NAME OF PROGRAM"<br />
<br />
source `dirname $0`/srf.app.info<br />
<br />
SRCDIR="$APPDIR/sample"<br />
FILES=" facebook.dat pref.dat"<br />
<br />
source `dirname $0`/srf.app.files<br />
<br />
source `dirname $0`/srf.app.databases<br />
<br />
source `dirname $0`/srf.app.cookies<br />
<br />
exit 0 </nowiki></pre> Note that if the there was NOT a “sample” subdirectory, you would just write: SRCDIR="$APPDIR" <br />
Also, please make sure there is an extra “Hard Return” after “exit 0” <br />
<br />
So, now you have a script. However, because of the way the Windows treats Line Endings is different than how Linux treats line endings, you need to do the following:<br />
1) Copy the script to the directory that you have the “tofrodos” application. If windows added a “.txt” to the filename, make sure you remove that. Then, in the 2nd windows command prompt (the one where you changed to the “tofrodos” folder), you need to run the following command: “Fromdos scriptname”. So, for the example above:<br />
<pre><nowiki><br />
Code:<br />
Fromdos com.palm.app.facebook</nowiki></pre> <br />
2) using webOS Quickinstall, select “Tools” – “Send File” and send this file to:<br />
<pre><nowiki><br />
Code:<br />
/var/svc/org.webosinternals.saverestore/</nowiki></pre><br />
3) In the Linux command prompt, make sure you are in the root directory (just in case, you can write “cd /”) and then run the following command (using the facebook example) to make the file executable<br />
<pre><nowiki><br />
Code:<br />
chmod ugo+x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook </nowiki></pre><br />
4) then, first test out the code by typing:<br />
<pre><nowiki><br />
Code:<br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook info</nowiki></pre> with the “info” tag, I use this just to make sure that the code can recognize the script. If you get anything other than “exit 0” at the end, something is wrong!<br />
5) if the “info” works, try running a “save”<br />
<pre><nowiki><br />
Code:<br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook save</nowiki></pre> again, if you see anything other than “exit 0” at the end, then something went wrong. It’s hard to tell you what went wrong without seeing it, but something went wrong<br />
6) go into the app and make changes. Play some more, delete some items, etc<br />
7) back at the command prompt, run the “restore”<br />
<pre><nowiki><br />
Code:<br />
sh -x /var/svc/org.webosinternals.saverestore/com.palm.app.facebook restore</nowiki></pre>again, if you see anything other than “exit 0” at the end, then something went wrong.<br />
<br />
At this point, try loading up the app and see if it reset the app back to the “save” position. If it did NOT, then it could be an issue where the cookies were cached by the device and it just wasn’t updating. Close out of the app, run the “restore” command again, and then IMMEDIATELY do a Luna Restart. When it’s back on, open the app and see if it worked<br />
<br />
If this worked, then try loading up the save/restore app on the device and make sure that the save and restore works that way, too. <br />
<br />
Don’t forget to replace the “com.palm.app.facebook” name in the example above with your app name you need. <br />
<br />
FINAL STEP (thanks Rod for the reminder): Post the script here so we can add it to the app!<br />
<br />
== Operating Notes ==<br />
<br />
Make sure your saved package list is up to date in preware before using save/restore so that it backs up you most recent installed package list if you are going to be using webOS doctor on your device or moving to a new device. You also may want to save a copy of the backup located on the /media/internal/ area (USB drive). If switching devices make sure to copy the backup and anything else from there before deactivating your old device.<br />
<br />
===Disclaimer ===<br />
<br />
WebOS Internals provides Save/Retore as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of Save/Restore is with you. Should Save/Restore prove defective, you assume the cost of all necessary servicing, repair or correction.<br> In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use Save/Restore (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of Save/Restore to operate with any other programs).<br />
<br />
===Limitations===<br />
<br />
The Memos and Messaging application data can not be restored at this time. Some restored items require a luna restart or reboot of the device for the changes from the restore to take effect.<br />
<br />
===Known Bugs===<br />
No known bugs<br />
<br />
== Changelog ==<br />
See the Preware description for the changelog.<br />
<br />
== Contributors ==<br />
*rwhitby<br />
*AnOutsider<br />
*swisstomcat<br />
*oil<br />
*Tibfib</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application_talk:Precorder&diff=7486Application talk:Precorder2009-11-28T06:00:12Z<p>Mamouton: /* Feature Requests */</p>
<hr />
<div>== Page Layout ==<br />
<br />
Please place all comments under the appropriate category. If you would like a feature that has already been requested then just add your signature by placing two asterisks and four tilde's <nowiki>**~~~~</nowiki> on the line underneath. It will show up like this.<br />
<br />
*Here is a feature request that I will add my signature to.<br />
**[[User:Cryptk|Cryptk]] 19:06, 24 November 2009 (UTC)<br />
<br />
<br />
Please remember to sign all new entries with four tildes <nowiki>~~~~</nowiki><br />
<br />
<br />
I know this is alpha but I want ppl to put their opinions/observations.<br />
<br />
== Bug Reports ==<br />
<br />
* The sound quality is very low --[[User:En0x|en0x]] 14:31, 24 November 2009 (UTC)<br />
** Microphone is on the opposite side of the camera. Narration from user isn't too bad. Sound is better with playback on computer. Looking into ways to stage a temperary alsa config to boost mic, or level it through a 3rd utility which would require another service --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
* Both the video only and audio only options produce only audio.--[[User:Gkatsev|Gkatsev]] 16:05, 24 November 2009 (UTC)<br />
** Problem noted, on the map --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
* Sound is only heard in the left channel --[[User:Gryn|Gryn]] 22:39, 24 November 2009 (UTC)<br />
** This fix would probably also require a 3rd service/utility --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
* Recorded file does not save to device if app is closed before completion. [[User:Bdubdrum|Bdubdrum]] 07:47, 25 November 2009 (UTC)<br />
** The app closing itself does not kill the program. Not hitting the "stop" button can actually disturb the normal camd service function. This is actually dangerous to the services running on the phone. All reports of phones crashing or needed to be reset (or camera not functioning) were a result of this flow. I am working on adding a killswitch to closing the app (or letting the user presuppose the video length) --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
*** I can no longer duplicate this bug. If i record a video and immediately close the app, the video does save out, no problem. Will try with a longer video ASAP. [[User:Bdubdrum|Bdubdrum]] 20:48, 25 November 2009 (UTC) <br />
* App saves files "when it wants to" --[[User:Gryn|Gryn]] 12:30, 25 November 2009 (UTC)<br />
** This problem is directly related to the lack of feedback between the pipeline, the service, and the app. This will eventually be resolved once the output and errors get properly filtered down, and it may not happen til/unless the service is converted to C. --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
* Recording with flash on forces recording to end around 7 seconds in --[[User:Gryn|Gryn]] 12:30, 25 November 2009 (UTC)<br />
** I have heard no other reports of this problem. If it continues, please see me (zsoc) in #webos-internals for debugging. --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
* App only seems to save files when the Video application is open. --[[User:Ccolman|Ccolman]] 17:22, 25 November 2009 (UTC)<br />
<br />
== Feature Requests ==<br />
<br />
* I would like to have Record New moved to the bottom... It's hard to tap it when you have slider open --[[User:En0x|en0x]] 14:21, 24 November 2009 (UTC)<br />
** done --[[User:Prenos|Prenos]] 17:17, 24 November 2009 (UTC)<br />
* Add option to launch video app from precorder --[[User:En0x|en0x]] 17:04, 24 November 2009 (UTC)<br />
**--[[User:Gryn|Gryn]] 22:37, 24 November 2009 (UTC)<br />
*** This is already implemented, will be released in next version --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
* Way to show how many minutes I recorded? in precorder --[[User:En0x|en0x]] 17:15, 24 November 2009 (UTC)<br />
I have a count up timer planned --[[User:Prenos|Prenos]] 17:18, 24 November 2009 (UTC)<br />
* Flash toggle on main scene? --[[User:En0x|en0x]] 17:21, 24 November 2009 (UTC)<br />
** I looked into this. The whole graphical UI is changing in the next version. This might be a future option still tho --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
* Have it show the estimated video recording time remaining based on free space in the /media/internal --[[User:Cryptk|Cryptk]] 18:45, 24 November 2009 (UTC)<br />
**--[[User:ProfJonathan|ProfJonathan]] 19:50, 24 November 2009 (UTC)<br />
*** This isn't practical for a number of reasons, but I'll see if someone else wants to implement it --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
* Use space on keyboard to start/stop recording --[[User:En0x|en0x]] 19:34, 24 November 2009 (UTC)<br />
**--[[User:ProfJonathan|ProfJonathan]] 19:50, 24 November 2009 (UTC)<br />
*** This is feasable, will consider implemented an API for this option --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
*MP3 audio-only recording, for creating podcasts --[[User:ProfJonathan|ProfJonathan]] 19:52, 24 November 2009 (UTC)<br />
** This will require a minor overhaul of the general video start request, or a new request method. It will be an available option if technically feasable once beta hits --[[User:Prenos|Prenos]] 14:45, 25 November 2009 (UTC)<br />
* Allow user to see what is being recorded just like the camera application where you can see the picture being taken. --[[User:thatdude|thatdude]] 00:04 25 November 2009 (EST)<br />
** Consider this impossible for the moment. Look for version 1.0.0 of Precorder or wait till palm releases their app<br />
*** Would it be possible show the video from the camera while not recording? For example to better frame a shot before pressing record?<br />
* If possible have the interface (main scene) look like the camera application where the bottom left icon would open the video application as a new card, the middle button would start/stop recording, and the right button would turn on the flash on/off on the fly. --[[User:thatdude|thatdude]] 00:08 25 November 2009 (EST)<br />
**[[User:Gryn|Gryn]] 21:51, 25 November 2009 (UTC)You mean more buttons? Some UI changes stated above<br />
* Progress bar or indicator for remaining time of file save. Currently, if user starts another recording session or closes app the file is lost. [[User:Bdubdrum|Bdubdrum]] 07:50, 25 November 2009 (UTC)<br />
*** Allow the launch page to orientate the direction the camera needs to be to record. mamouton 11:59 pm 28 November 2009</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Application:Precorder&diff=7422Application:Precorder2009-11-25T14:49:51Z<p>Mamouton: </p>
<hr />
<div>{{application<br />
|name=Precorder<br />
|type=webOS<br />
|version=Version: Alpha 0.2.3 <br />(25 Nov 2009)<br />
|tag=Utilities<br />
|screenshot=Precorder_2009-24-11_164136.png<br />
|description=<br />
<br />
== Summary == <br />
<br />
Precorder has been developed to bridge the gap between the current revision of WebOS and a future release that will enable video recording. It is capable of recording in multiple combinations of audio and video and includes support for using the built-in LED for lumination while recording in dark areas. Video recorded with Precorder is viewable through Palms built in video application.<br />
<br />
== Status ==<br />
<br />
Precorder is ALPHA SOFTWARE developed primarily by ZSoc of WebOS Internals with assistance from a number of other developers (as listed in the Maintainers field in the package metadata).<br />
<br />
It does not have a viewfinder, cause we technically do not know how to do that (yet?).<br />
<br />
== Recent Changes ==<br />
<br />
Even though Precorder in alpha state is not available for download in Preware (it will be when it goes into beta), once you install Precorder it appears in the Installed Packages section and you can see the package changelogs there.<br />
<br />
== Donations ==<br />
<br />
Please see the official PreCentral thread first post at http://forums.precentral.net/2059462-post1.html for the donation link. Since this is a wiki that anyone can edit, we do not put the donation link here.<br />
<br />
==Installation==<br />
<br />
Note that you cannot install the packages using any other method than the methods below. Specifically, fileCoaster is not able to install these packages.<br />
<br />
=== Preware ===<br />
<br />
Precorder will be added to Preware once it reaches beta status. Until then, please use the Precorder bootstrap script.<br />
<br />
=== Bootstrap Script ===<br />
<br />
The easiest (and guaranteed to always be up to date) method of installing the latest packages via the precorder bootstrap script.<br />
<br />
Just run the following two commands on your Pre. You can get a command line either via the Terminal application in Preware, or by an SSH connection, or by using the Linux commandline window in WebOS Quick Install. The precorder bootstrap can also be re-run at any time to safely update Precorder to the latest alpha testing version.<br />
<br />
<br><br />
wget http://bit.ly/precorder-bootstrap<br />
<br><br />
sh precorder-bootstrap<br />
<br />
=== WebOS Quick Install ===<br />
<br />
If you can't use the precorder bootstrap script for some reason, you can also use the following links to download the individual packages and install them with WebOS Quick Install. Note that these links will quickly get out of date, so please use the precorder bootstrap to always get the latest alpha testing version.<br />
<br />
Note that to be able to use WebOS Quick Install to install Precorder, you must first have installed Preware on your device. See http://install.preware.org for instructions on how to do that. When Precorder reaches beta status, you will be able to install, update and remove the packages directly in Preware.<br />
<br />
You can install the [http://ipkg.preware.org/feeds/webos-internals/testing/armv7/org.webosinternals.gstservice_0.2.3_armv7.ipk GstService] and [http://ipkg.preware.org/feeds/webos-internals/testing/all/org.webosinternals.precorder_0.2.3_all.ipk Precorder] ipkg files with [http://www.webos-internals.org/wiki/Tutorials_webOS_Installing_An_Ipk#WebOS_Quick_Install_Method WebOS Quick Install]. (Note that these links may be out of date if we forget to update them every time we release a new version)<br />
<br />
# Save the gstservice and and Precorder ipk's to your local computer.<br />
# Install [[Tutorials_webOS_Installing_An_Ipk#WebOS_Quick_Install_Method|WebOS Quick Install]]<br />
# Drag the gstservice IPK into the center of the WebOS Quick install window.<br />
# Click the Install button.<br />
# Drag the Precorder application ipk into the center of the WebOS Quick Install window.<br />
# Click the install button.<br />
<br />
== License ==<br />
<br />
The GStreamer Service package is MIT Open Source licensed. The Precorder application is GPLv2 Open Source licensed.<br />
<br />
== Operating notes ==<br />
<br />
When precorder is first launched you will see the main screen. Only one button is currently functional. Tapping the 'Record Now' button will begin recording video to the /media/internal location on the pre making these videos available to be copied via USB. They will be located in the root of the USB drive when connected to your computer.<br />
<br />
Note that you are not able to see the video as it is recording. There is no viewfinder. It is currently technically infeasible to create a viewfinder (but maybe someone will work out how to do it).<br />
<br />
When you tap the 'Record Now' button the screen will change to notify you that Precorder is currently capturing audio and video. There is a 'Stop recording' button located on the screen. Tapping this button stops the audio/video capture and returns you to the main view.<br />
<br />
There are several features of Precorder that can be customized. All of these settings are available via the preferences option within the Precorder menu. The table below lists all possible preferences. Options in bold represent defaults.<br />
<br />
<Table><TR><TD><br />
{{{!}} border="1" cellpadding="4"<br />
{{!}}Option<br />
{{!}}Description<br />
{{!}}Possible Selections<br />
{{!}}-<br />
{{!}}Audio Format<br />
{{!}}Select what format you would like the audio stream to be saved in.<br />
{{!}}'''AAC''', AMRNB, MP3<br />
{{!}}-<br />
{{!}}Video Format<br />
{{!}}Select what format you would like the video stream to be saved in.<br />
{{!}}Mpeg-4, H.263, '''H.264/AVC'''<br />
{{!}}-<br />
{{!}}Container<br />
{{!}}Select what multimedia container the audio/video streams will be in.<br />
{{!}}'''mp4''', 3gp<br />
{{!}}-<br />
{{!}}Media Source<br />
{{!}}What would you like Precorder to capture?<br />
{{!}}Audio only, Video only, '''Both'''<br />
{{!}}-<br />
{{!}}Flash<br />
{{!}}Would you like to use the built in LED for illumination?<br />
{{!}}'''Off''', On<br />
{{!}}}<br />
</TD></TR></Table><br />
<br />
=== Recent enhancements ===<br />
<br />
Precorder has just been released for Alpha testing.<br />
<br />
=== Known bugs ===<br />
<br />
Precorder is currently in Alpha stages and as such is in a constant state of flux with new features being added and old functionality being modified. Please use this software at your own risk.<br />
<br />
*First run on any phone will cause a blank output.<br />
**Simply start recording, wait a moment, and stop recording, wait a moment. After that, it should be fine.<br />
<br />
*Getting the video light to work may cause 2 starts. Should be a 1-time-only process.<br />
<br />
== Source Code ==<br />
<br />
Source at git.webos-internals.org<br />
<br />
Packages in the webos-internals testing feed<br />
<br />
== Screenshots ==<br />
<br />
[[Image:Precorder_2009-24-11_164136.png|alt=Precorder Main View|This is the initial view upon launching Precorder]]<br />
[[Image:Precorder_2009-24-11_164140.png|alt=Precorder Recording View|This is the display during audio/video capture]]<br />
[[Image:Precorder_2009-24-11_164128.png|alt=Precorder Preferences View|This is the preferences selection screen]]<br />
[[Image:Launcher_2009-24-11_164206.png|alt=Palm OEM video app|All videos are viewable on the device via the Palm OEM video application]]<br />
<br />
}}</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Set_Email_as_High_Priority_%26_Discard_Message&diff=6946Set Email as High Priority & Discard Message2009-11-06T01:46:02Z<p>Mamouton: </p>
<hr />
<div>I really don't like using the menu options. After seeing Jason's move folder patch, I started thinking how can I move the High Priority and Discard message to the bottom. <br />
<br />
Always make a backup copy.<br />
<pre><nowiki><br />
cd /usr/palm/applications/com.palm.app.email/app/controllers/ <br />
cp compose-assistant.js compose-assistant.js.bak<br />
vi compose-assistant.js<br />
</nowiki></pre><br />
<br />
Around line 82 you will see <br />
<br />
<pre><nowiki><br />
this.cmdMenuModel = {<br />
visible: true,<br />
menuClass: 'palm-white',<br />
items: [<br />
{label:$L('Attach'), icon:'attach', command:'attach'},<br />
{label:('Send'), icon:'send', command:'send'}<br />
]}; </nowiki></pre><br />
<br />
add the lines <br />
<pre><nowiki> <br />
{label:$L('Priority'), icon:'priority', command:'priority'},<br />
{label:$L('Delete'),icon:'delete', command:'cancel'}, </nowiki></pre><br />
<br />
to make it look like this<br />
<br />
<pre><nowiki><br />
this.cmdMenuModel = {<br />
visible: true,<br />
menuClass: 'palm-white',<br />
items: [<br />
{label:$L('Attach'), icon:'attach', command:'attach'},<br />
{label:$L('Priority'), icon:'priority', command:'priority'},<br />
{label:$L('Delete'),icon:'delete', command:'cancel'},<br />
{label:('Send'), icon:'send', command:'send'}<br />
]}; <br />
</nowiki></pre><br />
<br />
Update: Added discard message confirmation popup and removed the items from menu. <br />
<br />
<br />
Comment out the this priority and discard message, it should look like this<br />
Around line 238 you will see<br />
<pre><nowiki><br />
case 'cancel':<br />
this.cancelCompose();<br />
break;<br />
</nowiki></pre><br />
change it to <br />
<pre><nowiki><br />
case 'cancel':<br />
this.controller.showAlertDialog({<br />
onChoose: function(value) {if (value == 'yes'){this.cancelCompose();}},<br />
title: $L("Discard this Draft?"),<br />
message: $L("This cannot be undone"),<br />
choices:[<br />
{label:$L('Yes'), value:"yes", type:'negative'}, <br />
{label:$L("No"), value:"no", type: 'dismiss'}<br />
]<br />
});<br />
break;<br />
</nowiki></pre><br />
Special Thanks to Jason on Precentral for the realization that menu items could be moved and the creator of the Read All Delete All patch for the icons.<br />
<br />
Special Thanks to Tibfib for his creation of the discard message confirmation and removing the menu items.</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Set_Email_as_High_Priority_%26_Discard_Message&diff=6828Set Email as High Priority & Discard Message2009-11-02T03:00:16Z<p>Mamouton: </p>
<hr />
<div>I really don't like using the menu options. After seeing Jason's move folder patch, I started thinking how can I move the High Priority and Discard message to the bottom. <br />
<br />
Always make a backup copy.<br />
<pre><nowiki><br />
cd /usr/palm/applications/com.palm.app.email/app/controllers/ <br />
cp compose-assistant.js compose-assistant.js.bak<br />
vi compose-assistant.js<br />
</nowiki></pre><br />
<br />
Around line 82 you will see <br />
<br />
<pre><nowiki><br />
this.cmdMenuModel = {<br />
visible: true,<br />
menuClass: 'palm-white',<br />
items: [<br />
{label:$L('Attach'), icon:'attach', command:'attach'},<br />
{label:('Send'), icon:'send', command:'send'}<br />
]}; </nowiki></pre><br />
<br />
add the lines <br />
<pre><nowiki> <br />
{label:$L('Priority'), icon:'priority', command:'priority'},<br />
{label:$L('Delete'),icon:'delete', command:'cancel'}, </nowiki></pre><br />
<br />
to make it look like this<br />
<br />
<pre><nowiki><br />
this.cmdMenuModel = {<br />
visible: true,<br />
menuClass: 'palm-white',<br />
items: [<br />
{label:$L('Attach'), icon:'attach', command:'attach'},<br />
{label:$L('Priority'), icon:'priority', command:'priority'},<br />
{label:$L('Delete'),icon:'delete', command:'cancel'},<br />
{label:('Send'), icon:'send', command:'send'}<br />
]}; <br />
</nowiki></pre><br />
<br />
Update: Added discard message confirmation popup and removed the items from menu. <br />
<br />
Around line 89 you will see<br />
<pre><nowiki><br />
this.appMenuModel = {<br />
visible:true,<br />
items: [<br />
this.priorityFlagMenuItem,<br />
{label:$L('Discard Message'), command:'cancel'},<br />
{label:$L('Save as Draft'), command:'save', disabledProperty:true }<br />
]};<br />
</nowiki></pre><br />
Comment out the this priority and discard message, it should look like this<br />
<pre><nowiki><br />
this.appMenuModel = {<br />
visible:true,<br />
items: [<br />
//this.priorityFlagMenuItem,<br />
//{label:$L('Discard Message'), command:'cancel'},<br />
{label:$L('Save as Draft'), command:'save', disabledProperty:true }<br />
]};<br />
<br />
</nowiki></pre><br />
Around line 238 you will see<br />
<pre><nowiki><br />
case 'cancel':<br />
this.cancelCompose();<br />
break;<br />
</nowiki></pre><br />
change it to <br />
<pre><nowiki><br />
case 'cancel':<br />
this.controller.showAlertDialog({<br />
onChoose: function(value) {if (value == 'yes'){this.cancelCompose();}},<br />
title: $L("Discard this Draft?"),<br />
message: $L("This cannot be undone"),<br />
choices:[<br />
{label:$L('Yes'), value:"yes", type:'negative'}, <br />
{label:$L("No"), value:"no", type: 'dismiss'}<br />
]<br />
});<br />
break;<br />
</nowiki></pre><br />
Special Thanks to Jason on Precentral for the realization that menu items could be moved and the creator of the Read All Delete All patch for the icons.<br />
<br />
Special Thanks to Tibfib for his creation of the discard message confirmation and removing the menu items.</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Set_Email_as_High_Priority_%26_Discard_Message&diff=6807Set Email as High Priority & Discard Message2009-10-31T21:25:01Z<p>Mamouton: New page: I really don't like using the menu options. After seeing Jason's move folder patch, I started thinking how can I move the High Priority and Discard message to the bottom. Always make a b...</p>
<hr />
<div>I really don't like using the menu options. After seeing Jason's move folder patch, I started thinking how can I move the High Priority and Discard message to the bottom. <br />
<br />
Always make a backup copy.<br />
<pre><nowiki><br />
cd /usr/palm/applications/com.palm.app.email/app/controllers/ <br />
cp compose-assistant.js compose-assistant.js.bak<br />
vi compose-assistant.js<br />
</nowiki></pre><br />
<br />
Around line 82 you will see <br />
<br />
<pre><nowiki><br />
this.cmdMenuModel = {<br />
visible: true,<br />
menuClass: 'palm-white',<br />
items: [<br />
{label:$L('Attach'), icon:'attach', command:'attach'},<br />
{label:('Send'), icon:'send', command:'send'}<br />
]}; </nowiki></pre><br />
<br />
add the lines <br />
<pre><nowiki> <br />
{label:$L('Priority'), icon:'priority', command:'priority'},<br />
{label:$L('Delete'),icon:'delete', command:'cancel'}, </nowiki></pre><br />
<br />
to make it look like this<br />
<br />
<pre><nowiki><br />
this.cmdMenuModel = {<br />
visible: true,<br />
menuClass: 'palm-white',<br />
items: [<br />
{label:$L('Attach'), icon:'attach', command:'attach'},<br />
{label:$L('Priority'), icon:'priority', command:'priority'},<br />
{label:$L('Delete'),icon:'delete', command:'cancel'},<br />
{label:('Send'), icon:'send', command:'send'}<br />
]}; <br />
</nowiki></pre><br />
<br />
Special Thanks to Jason on Precentral for the realization that menu items could be moved and the creator of the Read All Delete All patch for the icons.</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=User_talk:Hopspitfire&diff=6064User talk:Hopspitfire2009-10-01T06:31:25Z<p>Mamouton: /* Patch webOS Show Actual Battery Percentage */</p>
<hr />
<div>== Porting pages ==<br />
<br />
Hey, welcome to the wiki. One thing: don't add your signature to pages you transfer over from the old wiki. This is a community effort, those pages will be edited by other people, and we want to try to keep a consistent look across pages. Thanks. —[[user:X1011|X1011]] 17:18, 20 July 2009 (UTC)<br />
<br />
All instances of signature have been removed -hopspitfire<br />
<br />
== / in page titles ==<br />
If you can please do not use "/" in page titles. --[[User:Templarian|Templarian]] 23:27, 20 July 2009 (UTC)<br />
<br />
== THANK YOU for your hard work on the wiki! ==<br />
<br />
Please accept this "nobody knows the trouble I've seen" award as a token of our appreciation.<br />
<br />
[[image:drudgery.jpg]]<br />
<br />
[[User:Rboatright|rboatright]] 02:11, 24 July 2009 (UTC)<br />
<br />
Congrats on becoming an Editor --[[User:Templarian|Templarian]] 13:16, 28 July 2009 (UTC)<br />
<br />
== Deletions ==<br />
<br />
I just had a horrible thought. <br />
<br />
All those deletions you're doing that are pages that only had you as an editor... <br />
<br />
if you delete the redireccts, aren't you deleting the thing that the old-page on the old-wiki links to? so you have broken the redirect FROM the old-wiki? <br />
<br />
and that means that if anyone had blog-pages or precentral posts that linked to those, THOSE are broken. <br />
<br />
I've never understood what's wrong with lots of redirects. One of my patrol pages on wikipedia has 27 redirects that end up there. And that's a GOOD thing. :-) <br />
<br />
[[User:Rboatright|rboatright]] 05:16, 31 July 2009 (UTC)<br />
<br />
<br />
agreed; see [[WebOS Internals talk:Policies and guidelines#Proposed: Redirects]] —[[user:X1011|X1011]] 05:59, 31 July 2009 (UTC)<br />
<br />
Sit tight guys, I'm fixing all the links from predev. [[User:Hopspitfire|hopspitfire]] 06:01, 31 July 2009 (UTC)<br />
*edit All broken links have been fixed on predev. Rick, thanks for bringing this up. [[User:Hopspitfire|hopspitfire]] 06:16, 31 July 2009 (UTC)<br />
<br><br />
<br />
=Support Section=<br />
<br />
== Patch webOS Show Actual Battery Percentage ==<br />
<br />
I am having difficulty importing and pushing this particular app. I was curious if you would assist me. I have the webos 1.1 update. I get to the place (look below) and then im stuck.<br><br><br />
<br />
dlbpre@castle:~$ sudo su - <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# mount -o remount,rw / <br><br />
root@castle:/# quilt import Index: /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br><br />
<br />
of course I checked the quilt series to make sure i imported it correctly and then I pushed it and rebooted the device. When it powers back on..no change...apparently i am missing something.<br />
<br />
Sorry to ask you to "dumb it down" but i am a tyro (novice) to linux... :(<br />
<br />
thanks for your help if you do decide to assist!!!!! :-D -[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:No problem at all. The first thing I'm noticing is that you're importing the wrong file, you'll want to import the '.patch' file. To accomplish this, you'll need to get the webos-internals modifications repo. Here:<br />
<br />
sudo -s<br />
mount -o remount,rw /<br />
cd /opt/src<br />
git clone git://gitorious.org/webos-internals/modifications.git<br />
<br />
You'll need to make sure that quilt is configured correctly, type:<br />
mkdir -p /opt/src/patches<br />
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
<br />
Make sure to remove the old series file before importing<br />
rm /opt/src/patches/series<br />
rm /opt/src/patches/bar-assistant.js<br />
<br />
Then run:<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
cd /<br />
quilt push -a<br />
<br />
Then reboot:<br />
reboot<br />
<br />
Let me know if it works. -[[User:Hopspitfire|hopspitfire]] 00:27, 16 August 2009 (UTC)<br />
<br />
<br />
<br />
<br />
I get to here<br />
<br />
root@castle:/# quilt import /opt/src/modifications/luna/show-actual <br><br />
-battery-percent.patch<br><br />
Patch quilt does not exist<br><br />
root@castle:/#<br><br><br />
<br />
I followed every direction to the "T". Copy and paste precisely what was listed.<br />
<br />
Thanks for your assistance man (maybe lady). I really do appreciate the quick response.-[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Hrmm, can you run this command and post the output:<br />
find /opt/src<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 01:15, 16 August 2009 (UTC) <br> <br> <br><br />
<br />
Here are the steps you applied to my previous question. <br> <br><br />
<br />
<br />
dlbpre@castle:~$ sudo -s<br><br />
root@castle:/var/home/dlbpre# mount -o remount,rw /<br><br />
root@castle:/var/home/dlbpre# cd /opt/src<br><br />
root@castle:/opt/src# git clone git://gitorious.org/webos-internals/modification<br />
s.git<br><br />
fatal: destination path 'modifications' already exists and is not an empty directory.<br><br />
root@castle:/opt/src#<br><br />
root@castle:/opt/src# mkdir -p /opt/src/patches<br><br />
root@castle:/opt/src#<br><br />
root@castle:/opt/src# sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src<br><br />
/patches|' /opt/etc/quilt.quiltrc<br><br />
root@castle:/opt/src# rm /opt/src/patches/series<br><br />
rm: cannot remove '/opt/src/patches/series': No such file or directory<br><br />
root@castle:/opt/src# rm /opt/src/patches/bar-assistant.js<br><br />
rm: cannot remove '/opt/src/patches/bar-assistant.js': No such file or directory<br><br />
root@castle:/opt/src# quilt import /opt/src/modifications/luna/show-actual-batte<br><br />
ry-percent.patch<br><br />
Importing patch /opt/src/patches/show-actual-battery-percent.patch<br><br />
root@castle:/opt/src# cd /<br><br />
root@castle:/# quilt push -a<br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js<br><br />
root@castle:/# mount -o remount,ro /<br><br />
root@castle:/# reboot<br><br />
/bin/sh: reboot: not found<br><br />
<br />
<br><br><br><br />
<br />
As requested.<br />
<br />
root@castle:/# find /opt/src <br><br />
/opt/src <br><br />
/opt/src/patches <br><br />
/opt/src/patches/show-actual-battery-percent.patch <br><br />
/opt/src/patches/series <br><br />
/opt/src/patches/default-to-month-view.patch <br><br />
/opt/src/patches/capture_with_volume_keys.patch <br><br />
/opt/src/modifications <br><br />
/opt/src/modifications/amazonstore <br><br />
/opt/src/modifications/amazonstore/amazon_evdo.patch <br><br />
/opt/src/modifications/applauncher <br><br />
/opt/src/modifications/applauncher/add-delete-pages-in-the-launcher.patch <br><br />
/opt/src/modifications/camera <br><br />
/opt/src/modifications/camera/capture_with_volume_keys.patch <br><br />
/opt/src/modifications/install <br><br />
/opt/src/modifications/clock <br><br />
/opt/src/modifications/clock/hidden-clock.patch <br><br />
/opt/src/modifications/messaging <br><br />
/opt/src/modifications/messaging/messaging-sounds.patch <br><br />
/opt/src/modifications/messaging/message-forwarding.patch <br><br />
/opt/src/modifications/.git <br><br />
/opt/src/modifications/.git/logs <br><br />
/opt/src/modifications/.git/logs/HEAD <br><br />
/opt/src/modifications/.git/logs/refs <br><br />
/opt/src/modifications/.git/logs/refs/heads <br><br />
/opt/src/modifications/.git/logs/refs/heads/master <br><br />
/opt/src/modifications/.git/logs/refs/remotes <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/config <br><br />
/opt/src/modifications/.git/hooks <br><br />
/opt/src/modifications/.git/hooks/pre-rebase.sample <br><br />
/opt/src/modifications/.git/hooks/prepare-commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/pre-commit.sample <br><br />
/opt/src/modifications/.git/hooks/post-receive.sample <br><br />
/opt/src/modifications/.git/hooks/commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/post-commit.sample <br><br />
/opt/src/modifications/.git/hooks/pre-applypatch.sample <br><br />
/opt/src/modifications/.git/hooks/applypatch-msg.sample <br><br />
/opt/src/modifications/.git/hooks/update.sample <br><br />
/opt/src/modifications/.git/hooks/post-update.sample <br><br />
/opt/src/modifications/.git/objects <br><br />
/opt/src/modifications/.git/objects/pack <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.idx <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.pack <br><br />
/opt/src/modifications/.git/objects/info <br><br />
/opt/src/modifications/.git/description <br><br />
/opt/src/modifications/.git/packed-refs <br><br />
/opt/src/modifications/.git/FETCH_HEAD <br><br />
/opt/src/modifications/.git/branches <br><br />
/opt/src/modifications/.git/ORIG_HEAD <br><br />
/opt/src/modifications/.git/index <br><br />
/opt/src/modifications/.git/info <br><br />
/opt/src/modifications/.git/info/exclude <br><br />
/opt/src/modifications/.git/HEAD <br><br />
/opt/src/modifications/.git/refs <br><br />
/opt/src/modifications/.git/refs/heads <br><br />
/opt/src/modifications/.git/refs/heads/master <br><br />
/opt/src/modifications/.git/refs/remotes <br><br />
/opt/src/modifications/.git/refs/remotes/origin <br><br />
/opt/src/modifications/.git/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/refs/tags <br><br />
/opt/src/modifications/tasks <br><br />
/opt/src/modifications/tasks/new-task-details.patch <br><br />
/opt/src/modifications/email <br><br />
/opt/src/modifications/email/enable-landscape-email.patch <br><br />
/opt/src/modifications/email/prompt-for-ipk-installation.patch <br><br />
/opt/src/modifications/phoneprefs <br><br />
/opt/src/modifications/phoneprefs/roam-control.patch <br><br />
/opt/src/modifications/phone <br><br />
/opt/src/modifications/phone/phone-show-call-duration.sh <br><br />
/opt/src/modifications/phone/phone-enable-roam-only.patch <br><br />
/opt/src/modifications/soundsandalerts <br><br />
/opt/src/modifications/soundsandalerts/message-tone-sounds-and-alerts.patch <br><br />
/opt/src/modifications/musicplayer <br><br />
/opt/src/modifications/musicplayer/bookmark.patch <br><br />
/opt/src/modifications/calendar <br><br />
/opt/src/modifications/calendar/default-to-month-view.patch <br><br />
/opt/src/modifications/calendar/default-to-week-view.patch <br><br />
/opt/src/modifications/screenlock <br><br />
/opt/src/modifications/screenlock/longer_standby_times.patch <br><br />
/opt/src/modifications/frameworks <br><br />
/opt/src/modifications/frameworks/add-onscreen-keyboard.patch <br><br />
/opt/src/modifications/luna <br><br />
/opt/src/modifications/luna/disable-charging-alert-sound.patch <br><br />
/opt/src/modifications/luna/quiet-powerd-messages.patch <br><br />
/opt/src/modifications/luna/show-actual-battery-percent.patch <br><br />
/opt/src/modifications/luna/powersave-cpu-scaling <br><br />
/opt/src/modifications/luna/enable-dev-mode-icon.patch <br><br />
/opt/src/modifications/luna/more_icons_per_row.patch <br><br />
/opt/src/modifications/luna/powersave-smartreflex <br><br />
/opt/src/modifications/README <br><br />
/opt/src/modifications/browser <br><br />
/opt/src/modifications/browser/enable-browser-downloads.patch <br><br />
<br />
-[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Ah ok, so it looks like you've successfully imported the patch. The problem is that it is still trying to run your previous file (bar-assistant.js, which is not a patch file):<br />
<br />
root@castle:/# quilt push -a<br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js<br />
<br />
Try this (be sure to copy and paste these, you don't want to accidently delete the wrong files):<br />
mount -o remount,rw /<br />
cd /<br />
quilt pop -a<br />
rm /opt/src/patches/*<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
quilt push -a<br />
<br />
To reboot the Pre, you can just press and hold <Orange-Button><Sym><R>. Let me know what happens. <br />
<br />
Also, when you're done typing your comments, please type <nowiki>~~~~</nowiki> as that will insert your name and the time, like so -> [[User:Hopspitfire|hopspitfire]] 01:29, 16 August 2009 (UTC)<br />
<br />
<br />
Here are the results:<br />
<br />
root@castle:/var/home/dlbpre# mount -o remount,rw / <br><br />
root@castle:/var/home/dlbpre# cd / <br><br />
root@castle:/# quilt pop -a <br><br />
Patch /opt/src/patches/bar-assistant.js needs to be refreshed first. <br><br />
root@castle:/# rm /opt/src/patches/* <br><br />
root@castle:/# quilt import /opt/src/modifications/luna/show-actual-battery-perc <br><br />
ent.patch <br><br />
Patch /opt/src/patches/show-actual-battery-percent.patch is applied <br><br />
root@castle:/# quilt push -a <br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js <br><br />
root@castle:/# mount -o remount,ro / <br> <br><br />
<br />
And the battery percentage has not decided to show yet.<br />
[[User:Dlbpre|Dlbpre]] 02:01, 16 August 2009 (UTC)<br />
<br />
<br />
:Ok, somehow the series isn't being overwritten, which leads me to believe that it's using the wrong patches directory. Can you run this command and give me the output?<br />
cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 02:44, 16 August 2009 (UTC)<br />
<br />
Nothing happens when I input that code. I did notice that you directed me to use "sudo -s"...instead of what i normally use "sudo su -". (forgive me if im an idiot and those two quotes are the same thing).<br><br />
<br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:OK, I figured out the problem. First, there are no dumb questions: 'sudo -s' makes you the root user while still keeping the shell and environment variables of your regular user, while 'sudo su -' makes you the root user and uses the root shell and environment variables.<br />
<br />
The easiest way is reinstalling quilt and then redoing quiltrc. Run these commands:<br />
mount -o remount,rw /<br />
rm /opt/src/patches/*<br />
ipkg-opt update<br />
ipkg-opt remove quilt perl libdb gdbm util-linux-ng e2fslibs ncursesw ncurses<br />
ipkg-opt install quilt-lite<br />
<br />
The next one is REALLY important, and sets the patches directory. Make sure to copy the whole command and paste it.<br />
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
<br />
Run this command to make sure it worked:<br />
cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
<br />
Your output should be: QUILT_PATCHES=/opt/src/patches<br />
<br />
If it isn't, then something went wrong.<br />
<br />
If everything went well, import and try pushing the patch again<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
quilt push -a<br />
<br />
Let me know what happens. -[[User:Hopspitfire|hopspitfire]] 03:16, 16 August 2009 (UTC)<br />
<br />
<pre><nowiki><br />
dlbpre@castle:~$ sudo -s <br />
root@castle:/var/home/dlbpre# mount -o remount,rw / <br />
root@castle:/var/home/dlbpre# rm /opt/src/patches/*<br />
root@castle:/var/home/dlbpre# ipkg-opt update <br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz <br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz <br />
Updated list of available packages in /opt/lib/ipkg/lists/cross<br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/Packages.gz<br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/Packages.gz<br />
Updated list of available packages in /opt/lib/ipkg/lists/native<br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/pre/cross/unstable/Packages.gz<br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/pre/cross/unstable/Packages.gz<br />
Updated list of available packages in /opt/lib/ipkg/lists/kernel<br />
Successfully terminated. <br />
root@castle:/var/home/dlbpre# ipkg-opt remove quilt perl libdb gdbm util-linux-ng e2fslibs ncursesw ncurses <br />
Nothing to be done <br />
Successfully terminated. <br />
Collected errors: <br />
Package ncurses is depended upon by packages:<br />
psmisc <br />
These might cease to work if package ncurses is removed. <br />
<br />
You can force removal of this package with -force-depends. <br />
You can force removal of this package and its dependents <br />
with -force-removal-of-dependent-packages or -recursive <br />
or by setting option force_removal_of_dependent_packages in ipkg.conf.<br />
root@castle:/var/home/dlbpre# ipkg-opt install quilt-lite <br />
Package quilt-lite (0.48-5) installed in root is up to date.<br />
Nothing to be done<br />
Successfully terminated.<br />
root@castle:/var/home/dlbpre# sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=<br />
/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
root@castle:/var/home/dlbpre# cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
QUILT_PATCHES=/opt/src/patches<br />
root@castle:/var/home/dlbpre# quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
Importing patch /opt/src/modifications/luna/show-actual-battery-percent.patch (stored as /opt/src/patches/show-actual-battery-percent.patch) <br />
root@castle:/var/home/dlbpre# quilt push -a<br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch <br />
can't find file to patch at input line 11 <br />
Perhaps you used the wrong -p or --strip option? <br />
The text leading up to this was:<br />
--------------------------<br />
|show-actual-battery-percent<br />
|<br />
|Tested-On: 1.1<br />
|<br />
|//show actual battery percent in the system user interface.<br />
|//note: battery @ 100% will only charge on a new charge event or if power is <94%<br />
|Index: /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
|===================================================================<br />
|--- .orig/usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
|+++ /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
-------------------------- <br />
No file to patch. Skipping patch.<br />
3 out of 3 hunks ignored<br />
Patch /opt/src/patches/show-actual-battery-percent.patch does not apply (with -f)<br />
<br />
</nowiki></pre><br />
<br />
there we go. [[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Everything looks good, I forgot to add a command to the list ('quilt push' needs to be run in '/'). Run this and it should work:<br />
mount -o remount,rw /<br />
cd /<br />
quilt push -a<br />
<br />
Let me know what happens.-[[User:Hopspitfire|hopspitfire]] 03:42, 16 August 2009 (UTC)<br />
<br><br><br />
<br />
<br />
dlbpre@castle:~$ sudo -s<br />
root@castle:/var/home/dlbpre# cd / <br />
root@castle:/# mount -o remount,rw / <br />
root@castle:/# quilt push -a <br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js <br />
root@castle:/# <br />
<br />
ran it and rebooted. Still no appearance. BTW is there a way I can donate money to you? You have nearly worked with me all night...for no reason but to just assist. God Bless and thank you. Let me know what to do next! :) [[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Haha, we can't accept donations :) but I'm glad you're not giving up, and you're definitely welcome! <br />
:For some reason it keeps trying to use 'bar-assistant.js' as a patch, when it isn't. Can you run these commands and paste the output, the 1st command does a whole file and directory listing of /opt/src, and the second commands tells us what files that quilt will try and use as a patch:<br />
find /opt/src/<br />
cat /opt/src/patches/series<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 04:03, 16 August 2009 (UTC)<br />
<br><br><br><br><br />
<br />
Here we are.<br><br><br />
<br />
dlbpre@castle:~$ find /opt/src/<br><br />
/opt/src/ <br><br />
/opt/src/patches <br><br />
/opt/src/patches/show-actual-battery-percent.patch <br><br />
/opt/src/patches/series <br><br />
/opt/src/modifications <br><br />
/opt/src/modifications/amazonstore <br><br />
/opt/src/modifications/amazonstore/amazon_evdo.patch <br><br />
/opt/src/modifications/applauncher <br><br />
/opt/src/modifications/applauncher/add-delete-pages-in-the-launcher.patch <br><br />
/opt/src/modifications/camera <br><br />
/opt/src/modifications/camera/capture_with_volume_keys.patch <br><br />
/opt/src/modifications/install <br><br />
/opt/src/modifications/clock <br><br />
/opt/src/modifications/clock/hidden-clock.patch <br><br />
/opt/src/modifications/messaging <br><br />
/opt/src/modifications/messaging/messaging-sounds.patch <br><br />
/opt/src/modifications/messaging/message-forwarding.patch <br><br />
/opt/src/modifications/.git <br><br />
/opt/src/modifications/.git/logs <br><br />
/opt/src/modifications/.git/logs/HEAD <br><br />
/opt/src/modifications/.git/logs/refs <br><br />
/opt/src/modifications/.git/logs/refs/heads <br><br />
/opt/src/modifications/.git/logs/refs/heads/master <br><br />
/opt/src/modifications/.git/logs/refs/remotes <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/config <br><br />
/opt/src/modifications/.git/hooks <br><br />
/opt/src/modifications/.git/hooks/pre-rebase.sample <br><br />
/opt/src/modifications/.git/hooks/prepare-commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/pre-commit.sample <br><br />
/opt/src/modifications/.git/hooks/post-receive.sample <br><br />
/opt/src/modifications/.git/hooks/commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/post-commit.sample <br><br />
/opt/src/modifications/.git/hooks/pre-applypatch.sample <br><br />
/opt/src/modifications/.git/hooks/applypatch-msg.sample <br><br />
/opt/src/modifications/.git/hooks/update.sample <br><br />
/opt/src/modifications/.git/hooks/post-update.sample <br><br />
/opt/src/modifications/.git/objects <br><br />
/opt/src/modifications/.git/objects/pack <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.idx <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.pack <br><br />
/opt/src/modifications/.git/objects/info <br><br />
/opt/src/modifications/.git/description <br><br />
/opt/src/modifications/.git/packed-refs <br><br />
/opt/src/modifications/.git/FETCH_HEAD <br><br />
/opt/src/modifications/.git/branches <br><br />
/opt/src/modifications/.git/ORIG_HEAD <br><br />
/opt/src/modifications/.git/index <br><br />
/opt/src/modifications/.git/info <br><br />
/opt/src/modifications/.git/info/exclude <br><br />
/opt/src/modifications/.git/HEAD <br><br />
/opt/src/modifications/.git/refs <br><br />
/opt/src/modifications/.git/refs/heads <br><br />
/opt/src/modifications/.git/refs/heads/master <br><br />
/opt/src/modifications/.git/refs/remotes <br><br />
/opt/src/modifications/.git/refs/remotes/origin <br><br />
/opt/src/modifications/.git/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/refs/tags <br><br />
/opt/src/modifications/tasks <br><br />
/opt/src/modifications/tasks/new-task-details.patch <br><br />
/opt/src/modifications/email <br><br />
/opt/src/modifications/email/enable-landscape-email.patch <br><br />
/opt/src/modifications/email/prompt-for-ipk-installation.patch <br><br />
/opt/src/modifications/phoneprefs <br><br />
/opt/src/modifications/phoneprefs/roam-control.patch <br><br />
/opt/src/modifications/phone <br><br />
/opt/src/modifications/phone/phone-show-call-duration.sh <br><br />
/opt/src/modifications/phone/phone-enable-roam-only.patch <br><br />
/opt/src/modifications/soundsandalerts <br><br />
/opt/src/modifications/soundsandalerts/message-tone-sounds-and-alerts.patch <br><br />
/opt/src/modifications/musicplayer <br><br />
/opt/src/modifications/musicplayer/bookmark.patch <br><br />
/opt/src/modifications/calendar <br><br />
/opt/src/modifications/calendar/default-to-month-view.patch <br><br />
/opt/src/modifications/calendar/default-to-week-view.patch <br><br />
/opt/src/modifications/screenlock <br><br />
/opt/src/modifications/screenlock/longer_standby_times.patch <br><br />
/opt/src/modifications/frameworks <br><br />
/opt/src/modifications/frameworks/add-onscreen-keyboard.patch <br><br />
/opt/src/modifications/luna <br><br />
/opt/src/modifications/luna/disable-charging-alert-sound.patch <br><br />
/opt/src/modifications/luna/quiet-powerd-messages.patch <br><br />
/opt/src/modifications/luna/show-actual-battery-percent.patch <br><br />
/opt/src/modifications/luna/powersave-cpu-scaling <br><br />
/opt/src/modifications/luna/enable-dev-mode-icon.patch <br><br />
/opt/src/modifications/luna/more_icons_per_row.patch <br><br />
/opt/src/modifications/luna/powersave-smartreflex <br><br />
/opt/src/modifications/README <br><br />
/opt/src/modifications/browser <br><br />
/opt/src/modifications/browser/enable-browser-downloads.patch <br><br />
dlbpre@castle:~$ cat /opt/src/patches/series <br><br />
show-actual-battery-percent.patch <br><br />
<br />
as directed. I didnt realize you worked with the site. Must be nice being a linux genious! :-D<br><br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
:I'm not a linux genius by any means, but helping people makes me learn much more, and I really appreciate how patient you've been :)<br />
:It seems like the patch is loaded in the folder and ready. Try to reboot then do these commands:<br />
sudo -i<br />
mount -o remount,rw / <br />
cd /<br />
quilt pop -af<br />
quilt push -a<br />
<br />
Let me know how that works. -[[User:Hopspitfire|hopspitfire]] 05:21, 16 August 2009 (UTC)<br />
<br><br><br><br />
<br />
dlbpre@castle:~$ sudo -i<br />
Password:<br />
root@castle:/var/home/root# mount -o remount,rw /<br />
mount -o remount,rw /<br />
root@castle:/var/home/root# mount -o remount,rw /<br />
root@castle:/var/home/root# cd /<br />
root@castle:/# quilt pop -af<br />
Patch /opt/src/patches/bar-assistant.js appears to be empty, removing<br />
<br />
Removing patch /opt/src/patches/default-to-month-view.patch<br />
Restoring usr/palm/applications/com.palm.app.calendar/app/controllers/app-assistant.js<br />
<br />
Removing patch /opt/src/patches/capture_with_volume_keys.patch<br />
Restoring usr/palm/applications/com.palm.app.camera/app/controllers/capture-assistant.js<br />
<br />
Removing patch /opt/src/patches/show-actual-battery-percent.patch<br />
Restoring usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
<br />
No patches applied<br />
root@castle:/# quilt pop -af<br />
No patch removed<br />
root@castle:/# quilt push -a<br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch<br />
patching file usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
<br />
Now at patch /opt/src/patches/show-actual-battery-percent.patch<br />
root@castle:/# <br><br><br />
<br />
thanks for the patience compliment. Thank you for being patient with my beginning skill level as well. :)<br><br><br />
<br />
dlbpre@castle:~$ sudo -i <br><br />
root@castle:/var/home/root# mount -o remount,rw / <br><br />
mount -o remount,rw / <br><br />
root@castle:/var/home/root# mount -o remount,rw / <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# quilt pop -af <br><br />
Patch /opt/src/patches/bar-assistant.js appears to be empty, removing <br><br />
<br />
Removing patch /opt/src/patches/default-to-month-view.patch <br><br />
Restoring usr/palm/applications/com.palm.app.calendar/app/controllers/app-assistant.js <br><br />
<br />
Removing patch /opt/src/patches/capture_with_volume_keys.patch <br><br />
Restoring usr/palm/applications/com.palm.app.camera/app/controllers/capture-assistant.js <br><br />
<br />
Removing patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
Restoring usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
<br />
No patches applied <br><br />
root@castle:/# quilt pop -af <br><br />
No patch removed <br><br />
root@castle:/# quilt push -a <br><br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
patching file usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
<br />
Now at patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
root@castle:/# <br> <br><br />
<br />
Perhaps I should have explained prior to contacting you, I had attempted to install the battery percent viewer from the quilt series (it was listed with the rest of the patches available to me). I copied and pasted it, then I pushed it. After I couldnt get that working, I followed the explanation on this website which lead me to your assistance. Would that happen to be relevant information?<br><br><br />
<br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
<br><br><br><br />
<br />
My desire to resolve my programming issue as been resolved!! Thank you for all your help though. I was fishing around precentral.net (sry if that is ya'lls competitor) I found someone who was having trouble and saw a post that someone made regarding the coding. I tried there post and it looks like this:<br><br><br />
<br />
dlbpre@castle:~$ sudo su - <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# mount -o remount,rw / <br><br />
root@castle:/# wget http://filebin.ca/prhvwq/pre_battery_percentage.diff <br><br />
Connecting to filebin.ca (208.68.18.109:80) <br><br />
pre_battery_percenta 100% |*******************************| 3754 --:--:-- ETA <br><br />
root@castle:/# patch -pO -i pre_battery_percentage.diff <br><br />
patch: **** strip count O is not a number <br><br />
root@castle:/# patch -p0 -i pre_battery_percentage.diff <br><br />
patching file /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
Hunk #1 succeeded at 1381 with fuzz 2 (offset 214 lines). <br><br />
Hunk #2 succeeded at 1405 with fuzz 1 (offset 214 lines). <br><br />
Hunk #3 FAILED at 1437. <br><br />
Hunk #4 succeeded at 1484 (offset 214 lines). <br><br />
Hunk #5 succeeded at 1516 (offset 215 lines). <br><br />
1 out of 5 hunks FAILED -- saving rejects to file /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js.rej <br><br />
patching file /usr/lib/luna/system/luna-systemui/stylesheets/systemui.css <br><br />
root@castle:/# <br> <br><br />
<br />
You can find the source at the link provided below (it is the 4th post on the page):<br><br />
http://forums.precentral.net/web-os-development/194029-battery-place-icon-working-1-1-0-color-3.html#1778094<br><br><br />
<br />
The reason I posted this information is because I yearn for you to understand what I did wrong. I am hoping you put it in terms I can understand but also your knowledge with linux will grow as well. Win-win situation!! :-D [[User:Dlbpre|Dlbpre]]<br />
<br />
:I'm glad you figured it out! -[[User:Hopspitfire|hopspitfire]] 04:11, 17 August 2009 (UTC)<br />
<br />
<br />
Disable missed call sound not working. Do you know a workaround?<br />
<br />
== Messaging Sound ==<br />
<br />
Are you still doing any work on the messaging sound patch or did you turn it over to JackieRipper?</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=6059Portal:Patches to webOS2009-10-01T04:14:24Z<p>Mamouton: </p>
<hr />
<div>__notoc__<br />
{{portal-header<br />
|This page lists patches to webOS existing apps which modify the behavior as shipped. '''Note''' that these patches may be version specific and may be broken by future webOS updates. Proceed with caution. If you get one that works please move it under the correct column, alphabetically, and title the page:<br />
'''"Patch [application] [description]"''' (for application specific patches) <br><br />
'''"Patch webOS [description]"''' (for patches not part of a specific application)<br><br />
<br />
Each page should contain at least the basic headings<br />
*1. '''Introduction''': A brief description to introduce people to the patch.<br />
**1.1 '''Usage''':An explanation if it is needed on how to use the modification see Add/Delete Pages in the Launcher as an example.<br />
*2. '''Editing Process''': Step by step instructions to manually edit. <br />
*3. '''Patching Process''': Details for making the edits with a patch file and pointing people to the [[Applying Patches]] page if the patch is also provided in the webos-internals gitorious repository.<br />
}}<br />
<br />
{{portal-three-columns<br />
|column1= <br />
===webOS Update Information===<br />
* [[Update 1.2.0|Update 1.2]]<br />
* [[Update 1.1.0|Update 1.1]]<br />
* [[Update 1.0.4|Update 1.0.4]] <br />
* [[Update 1.0.3|Update 1.0.3]]<br />
<br />
===Patches that Need Work===<br />
* [[Bugs]]<br />
<br />
|column2=<br />
===Patch Ideas to be Created or in Progress===<br />
<br />
* [[More_Calculator_Functions|Accessing additional built-in calculator functions]]<br />
* [[Add_Ability_To_Choose_Snooze_Length|Add Ability to Choose Snooze Length]]<br />
* [[Add_Icon_To_Quick_Launcher|Add an icon to the quick launcher]]<br />
* [[Changing Clipboard Data From The Shell|Changing Clipboard Data from the Shell]]<br />
* [[Development_%26_Tweak_Ideas | Development & Tweaking Ideas]]<br />
* [[Longer Vibrate|Longer Vibrate]]<br />
<br />
<br />
<br />
|column3=<br />
===Notes===<br />
These modifications lack a patch process, please add one to the details to the page and have it added to the webOS-internals gitorious repository. Info for the repository is on [[Applying Patches]].<br />
<br />
*Empty<br />
}}<br />
{{portal-three-columns<br />
|column1= <br />
==Application Patches==<br />
===webOS 1.2 OK===<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch Browser Global Search Addons|Browser: Global Search Addons]]<br />
* [[Patch Camera Easy Shutter Sound Off|Camera: Easy Shutter Sound Off]]<br />
* [[Patch Camera Shutter Sound On-Off Button|Camera: Shutter Sound On-Off Button]]<br />
* [[Patch Clock Enabling the Hidden Theme|Clock: Enabling the Hidden Theme]]<br />
* [[Patch Email Confirm Deletion|Email: Confirm Deletion]]<br />
* [[Patch Email Change Default Font for Replies-Forwards from Navy to Black|Email: Change Default Font for Replies/Forwards from Navy to Black]]<br />
* [[Patch Email DeleteAll|Email: Delete All]]<br />
* [[Patch Launcher Add or Delete Pages|Launcher: Add/Delete Pages]]<br />
* [[Patch Launcher Hide-Delete The NASCAR App|Launcher: Hide/Delete The NASCAR App]]<br />
* ++[[Patch Launcher Hide Media Sync Option|Launcher: Hide Media Sync Option]]<br />
* [[Patch Launcher Reset Scroll on Page Change|Launcher: Reset Scroll on Page Change]]<br />
* [[Patch Launcher Unhide the DeveloperMode App|Launcher: Unhide the DeveloperMode App]]<br />
* [[Patch Launcher To Allow More Icons Per Row|Launcher: Allows More Icons Per Row]]<br />
* [[Patch Messaging Character Counter|Messaging: Character Counter]]<br />
* ++[[Patch Messaging Display Full Status Messages|Messaging: Display Full Status Messages]] <br />
* [[Patch Messaging Change "Enter Key" To Create Newline|Messaging: Change "Enter Key" To Create Newline]]<br />
* [[Patch Messaging New Cards For Each Conversation|Messaging: New Cards For Each Conversation]]<br />
* [[Patch Messaging Sounds|Messaging: Message Sound]]<br />
* [[Patch Messaging Adding Timestamps to All Received Messages|Messaging: Adding Timestamps to All Received Messages]]<br />
* ++[[Patch MediaPlayer Ignore 'A', 'An', and 'The' In Artist and Album names|Music Player: Ignore 'A', 'An', and 'The' in Artist and Album Names]]<br />
* ++[[Patch Phone Edit Dialer Theme|Phone: Edit Dialer Theme]]<br />
* ++[[Patch Phone Show Call Duration in the Call Log|Phone: Show Call Duration in the Call Log]]<br />
* [[Patch Tasks Always Show Details of New Tasks|Tasks: Always Show Details of New Tasks]]<br />
<br />
===Fixed in 1.2 - No longer needed===<br />
* [[Patch Amazon Download Music over EVDO|Amazon: Download Music over EVDO]]<br />
* [[Patch Browser Downloading Files|Browser: Downloading Files]] <br />
* [[Patch MediaPlayer Bookmarking|Music Player: Bookmarking - Works in 1.2 for podcast, speech, spoken word, netcast, or audiobook genre tags only]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
* [[Patch Browser Delete Individual History Items|Browser: Delete Individual History Items]]<br />
* [[Patch Calendar Show All-Day Events in Month View|Calendar: Show All-Day Events in Month View]] <br />
* ++[[Patch Camera 10 Second Countdown Timer|Camera: 10 Second Countdown Timer]]<br />
* [[Patch Camera Using Volume Buttons to Take a Picture|Camera: Using Volume Buttons to Take a Picture]]<br />
* ++[[Patch Clock Changing Alarm Button Order and Snooze Duration|Clock: Changing Alarm Button Order and Snooze Duration]]<br />
* ++[[Patch Email Change "Running Late" Message|Email: Change "Running Late" Message]]<br />
* [[Patch Email DeleteAll|Email: Delete All]]<br />
* ++[[Patch Messaging Force Offline Send Without Dialog|Messaging: Force Offline Send Without Dialog]]<br />
* [[Patch Messaging Forward Messages|Messaging: Forward Messages]]<br />
* [[Patch Messaging Jump Forward, Backward One Word at a Time|Messaging: Jump Forward, Backward One Word at a Time]]<br />
* [[Patch Messaging Landscape Orientation|Messaging: Landscape Orientation]]<br />
* ++[[Patch MCraig Enabling Personals Category|mCraig: Enabling Personals Category]]<br />
* ++[[Patch PDF Viewer Change Orientation|PDF Viewer: Change Orientation]]<br />
* [[Patch Phone Disable Various Call Sounds|Phone: Disable Various Call Sounds]]<br />
* ++[[Patch Phone Editing the Lock Screen|Phone: Editing the Lock Screen]]<br />
* [[Patch Tasks Always Show Details of New Tasks|Tasks: Always Show Details of New Tasks]]<br />
* ++[[Patch WebOS Bypassing Lock Screen|Unlock: Bypass the Passcode Entry Screen]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* [[Patch Email Fix Broken Formatting|Email: Fix Broken Formatting for E-mails]]<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch Camera Remote View|Camera: Remote View]]<br />
* [[Patch Email Enable Landscape Viewing|Email: Enable Landscape Viewing]] <br />
* [[Patch Email Fix Attachments|Email: Fix Attachments]]<br />
* [[Patch Sudoku Disable Zooming|Sudoku: Disable Zooming]]<br />
<br />
<br />
|column2=<br />
==General Patches==<br />
===webOS 1.2 OK===<br />
* [[Patch Enable LED Notifications|Enable LED Notifications]]<br />
* [[On Screen Keyboard]]<br />
* [[Patch webOS Disable Charging Event Sounds|Disable Charging Event Sounds]]<br />
* [[Patch webOS Turning Off Dialpad Noise|Turning Off Dialpad Noise]]<br />
* [[Patch webOS Add Words to AutoCorrect Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[Patch webOS Roam Control|Roam Control]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch webOS Boot Themes|Boot Themes]]<br />
* ++[[Patch webOS Brightness|Brightness]]<br />
* ++[[Patch webOS Bypassing Activation|Bypassing Activation]]<br />
* ++[[Patch webOS Change Carrier String|Change Carrier String]]<br />
* ++[[Change_the_default_notification.wav_Sound|Change the Default notification.wav Sound]]<br />
* [[Patch webOS Changing the "Turn off after X" time|Changing the "Turn off after X" Time]]<br />
* ++[[Patch webOS CPU Frequency or Voltage Scaling|CPU Frequency or Voltage Scaling]]<br />
* ++[[Patch webOS GPS Tracking|GPS Tracking]]<br />
* ++[[Patch webOS Graphics|Graphics]]<br />
* ++[[Patch webOS Hourly Chime|Hourly Chime]] <br />
* ++[[Patch webOS Keep Phone Awake While in Remote Session|Keep Phone Awake While in Remote Session]]<br />
* [[Patch webOS Logging Information from Within Scripts|Logging Information from Within Scripts]]<br />
* [[Patch webOS Modifying a Stock App While Keeping the Original|Modifying a Stock App While Keeping the Original]] <br />
* [[Patch webOS Radio Power Switch|Radio Power Switch]]<br />
* ++[[Patch webOS Random Wallpaper Switching|Random Wallpaper Switching]]<br />
* [[Patch webOS Reverse Tunnel|Reverse Tunnel]] <br />
* [[Patch webOS Show Actual Battery Percentage | Show Actual Battery Percentage]]<br />
* [[Screenlock On When Connected|Stay On While Connected]]<br />
* [[Make USB Partition Writable via SFTP|Make USB Partition writable via SFTP]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* Empty<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch webOS Email App Patch to Prompt for IPK Installation|Email App Patch to Prompt for IPK Installation]] <br />
<br />
|column3=<br />
==== The following have not been checked for compatibility with webOS 1.1. ====<br />
<br />
* [[Browser_Plugins|Browser Plugins]]<br />
* [[Camera Mod Alternate Sound Disable]]<br />
* [[Changes_Alert/Notification_Sounds|Changes Alert/Notification Sounds]]<br />
* [[Myavatar In Messaging App|Myavatar In Messaging App]] <br />
* [[Photos Slideshow|Photos Slideshow]] <br />
<br />
==== The following are deprecated. They have been replaced with methods which are easier or are moot in 1.1 ====<br />
<br />
* [[Installing Homebrew Apps With A Rooted Pre|Installing Homebrew Apps With A Linux Accessed Pre]] <br />
* [[Packaging Homebrew Apps for Stock Pre without Rooting|Packaging Homebrew Apps for Stock Pre without Accessing Linux]] <br />
* [[Modifying Stock Applications|Modifying Stock Applications]] <br />
<br />
}}</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=6058Portal:Patches to webOS2009-10-01T04:12:57Z<p>Mamouton: </p>
<hr />
<div>__notoc__<br />
{{portal-header<br />
|This page lists patches to webOS existing apps which modify the behavior as shipped. '''Note''' that these patches may be version specific and may be broken by future webOS updates. Proceed with caution. If you get one that works please move it under the correct column, alphabetically, and title the page:<br />
'''"Patch [application] [description]"''' (for application specific patches) <br><br />
'''"Patch webOS [description]"''' (for patches not part of a specific application)<br><br />
<br />
Each page should contain at least the basic headings<br />
*1. '''Introduction''': A brief description to introduce people to the patch.<br />
**1.1 '''Usage''':An explanation if it is needed on how to use the modification see Add/Delete Pages in the Launcher as an example.<br />
*2. '''Editing Process''': Step by step instructions to manually edit. <br />
*3. '''Patching Process''': Details for making the edits with a patch file and pointing people to the [[Applying Patches]] page if the patch is also provided in the webos-internals gitorious repository.<br />
}}<br />
<br />
{{portal-three-columns<br />
|column1= <br />
===webOS Update Information===<br />
* [[Update 1.2.0|Update 1.2]]<br />
* [[Update 1.1.0|Update 1.1]]<br />
* [[Update 1.0.4|Update 1.0.4]] <br />
* [[Update 1.0.3|Update 1.0.3]]<br />
<br />
===Patches that Need Work===<br />
* [[Bugs]]<br />
<br />
|column2=<br />
===Patch Ideas to be Created or in Progress===<br />
<br />
* [[More_Calculator_Functions|Accessing additional built-in calculator functions]]<br />
* [[Add_Ability_To_Choose_Snooze_Length|Add Ability to Choose Snooze Length]]<br />
* [[Add_Icon_To_Quick_Launcher|Add an icon to the quick launcher]]<br />
* [[Changing Clipboard Data From The Shell|Changing Clipboard Data from the Shell]]<br />
* [[Development_%26_Tweak_Ideas | Development & Tweaking Ideas]]<br />
* [[Longer Vibrate|Longer Vibrate]]<br />
<br />
<br />
<br />
|column3=<br />
===Notes===<br />
These modifications lack a patch process, please add one to the details to the page and have it added to the webOS-internals gitorious repository. Info for the repository is on [[Applying Patches]].<br />
<br />
*Empty<br />
}}<br />
{{portal-three-columns<br />
|column1= <br />
==Application Patches==<br />
===webOS 1.2 OK===<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch Browser Global Search Addons|Browser: Global Search Addons]]<br />
* [[Patch Camera Easy Shutter Sound Off|Camera: Easy Shutter Sound Off]]<br />
* [[Patch Camera Shutter Sound On-Off Button|Camera: Shutter Sound On-Off Button]]<br />
* [[Patch Clock Enabling the Hidden Theme|Clock: Enabling the Hidden Theme]]<br />
* [[Patch Email Confirm Deletion|Email: Confirm Deletion]]<br />
* [[Patch Email Change Default Font for Replies-Forwards from Navy to Black|Email: Change Default Font for Replies/Forwards from Navy to Black]]<br />
* [[Patch Email DeleteAll|Email: Delete All]]<br />
* [[Patch Launcher Add or Delete Pages|Launcher: Add/Delete Pages]]<br />
* [[Patch Launcher Hide-Delete The NASCAR App|Launcher: Hide/Delete The NASCAR App]]<br />
* ++[[Patch Launcher Hide Media Sync Option|Launcher: Hide Media Sync Option]]<br />
* [[Patch Launcher Reset Scroll on Page Change|Launcher: Reset Scroll on Page Change]]<br />
* [[Patch Launcher Unhide the DeveloperMode App|Launcher: Unhide the DeveloperMode App]]<br />
* [[Patch Launcher To Allow More Icons Per Row|Launcher: Allows More Icons Per Row]]<br />
* [[Patch Messaging Character Counter|Messaging: Character Counter]]<br />
* ++[[Patch Messaging Display Full Status Messages|Messaging: Display Full Status Messages]] <br />
* [[Patch Messaging Change "Enter Key" To Create Newline|Messaging: Change "Enter Key" To Create Newline]]<br />
* [[Patch Messaging New Cards For Each Conversation|Messaging: New Cards For Each Conversation]]<br />
* [[Patch Messaging Adding Timestamps to All Received Messages|Messaging: Adding Timestamps to All Received Messages]]<br />
* ++[[Patch MediaPlayer Ignore 'A', 'An', and 'The' In Artist and Album names|Music Player: Ignore 'A', 'An', and 'The' in Artist and Album Names]]<br />
* ++[[Patch Phone Edit Dialer Theme|Phone: Edit Dialer Theme]]<br />
* ++[[Patch Phone Show Call Duration in the Call Log|Phone: Show Call Duration in the Call Log]]<br />
* [[Patch Tasks Always Show Details of New Tasks|Tasks: Always Show Details of New Tasks]]<br />
<br />
===Fixed in 1.2 - No longer needed===<br />
* [[Patch Amazon Download Music over EVDO|Amazon: Download Music over EVDO]]<br />
* [[Patch Browser Downloading Files|Browser: Downloading Files]] <br />
* [[Patch MediaPlayer Bookmarking|Music Player: Bookmarking - Works in 1.2 for podcast, speech, spoken word, netcast, or audiobook genre tags only]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
* [[Patch Browser Delete Individual History Items|Browser: Delete Individual History Items]]<br />
* [[Patch Calendar Show All-Day Events in Month View|Calendar: Show All-Day Events in Month View]] <br />
* ++[[Patch Camera 10 Second Countdown Timer|Camera: 10 Second Countdown Timer]]<br />
* [[Patch Camera Using Volume Buttons to Take a Picture|Camera: Using Volume Buttons to Take a Picture]]<br />
* ++[[Patch Clock Changing Alarm Button Order and Snooze Duration|Clock: Changing Alarm Button Order and Snooze Duration]]<br />
* ++[[Patch Email Change "Running Late" Message|Email: Change "Running Late" Message]]<br />
* [[Patch Email DeleteAll|Email: Delete All]]<br />
* ++[[Patch Messaging Force Offline Send Without Dialog|Messaging: Force Offline Send Without Dialog]]<br />
* [[Patch Messaging Forward Messages|Messaging: Forward Messages]]<br />
* [[Patch Messaging Jump Forward, Backward One Word at a Time|Messaging: Jump Forward, Backward One Word at a Time]]<br />
* [[Patch Messaging Landscape Orientation|Messaging: Landscape Orientation]]<br />
* [[Patch Messaging Sounds|Messaging: Message Sound]]<br />
* ++[[Patch MCraig Enabling Personals Category|mCraig: Enabling Personals Category]]<br />
* ++[[Patch PDF Viewer Change Orientation|PDF Viewer: Change Orientation]]<br />
* [[Patch Phone Disable Various Call Sounds|Phone: Disable Various Call Sounds]]<br />
* ++[[Patch Phone Editing the Lock Screen|Phone: Editing the Lock Screen]]<br />
* [[Patch Tasks Always Show Details of New Tasks|Tasks: Always Show Details of New Tasks]]<br />
* ++[[Patch WebOS Bypassing Lock Screen|Unlock: Bypass the Passcode Entry Screen]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* [[Patch Email Fix Broken Formatting|Email: Fix Broken Formatting for E-mails]]<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch Camera Remote View|Camera: Remote View]]<br />
* [[Patch Email Enable Landscape Viewing|Email: Enable Landscape Viewing]] <br />
* [[Patch Email Fix Attachments|Email: Fix Attachments]]<br />
* [[Patch Sudoku Disable Zooming|Sudoku: Disable Zooming]]<br />
<br />
<br />
|column2=<br />
==General Patches==<br />
===webOS 1.2 OK===<br />
* [[Patch Enable LED Notifications|Enable LED Notifications]]<br />
* [[On Screen Keyboard]]<br />
* [[Patch webOS Disable Charging Event Sounds|Disable Charging Event Sounds]]<br />
* [[Patch webOS Turning Off Dialpad Noise|Turning Off Dialpad Noise]]<br />
* [[Patch webOS Add Words to AutoCorrect Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[Patch webOS Roam Control|Roam Control]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch webOS Boot Themes|Boot Themes]]<br />
* ++[[Patch webOS Brightness|Brightness]]<br />
* ++[[Patch webOS Bypassing Activation|Bypassing Activation]]<br />
* ++[[Patch webOS Change Carrier String|Change Carrier String]]<br />
* ++[[Change_the_default_notification.wav_Sound|Change the Default notification.wav Sound]]<br />
* [[Patch webOS Changing the "Turn off after X" time|Changing the "Turn off after X" Time]]<br />
* ++[[Patch webOS CPU Frequency or Voltage Scaling|CPU Frequency or Voltage Scaling]]<br />
* ++[[Patch webOS GPS Tracking|GPS Tracking]]<br />
* ++[[Patch webOS Graphics|Graphics]]<br />
* ++[[Patch webOS Hourly Chime|Hourly Chime]] <br />
* ++[[Patch webOS Keep Phone Awake While in Remote Session|Keep Phone Awake While in Remote Session]]<br />
* [[Patch webOS Logging Information from Within Scripts|Logging Information from Within Scripts]]<br />
* [[Patch webOS Modifying a Stock App While Keeping the Original|Modifying a Stock App While Keeping the Original]] <br />
* [[Patch webOS Radio Power Switch|Radio Power Switch]]<br />
* ++[[Patch webOS Random Wallpaper Switching|Random Wallpaper Switching]]<br />
* [[Patch webOS Reverse Tunnel|Reverse Tunnel]] <br />
* [[Patch webOS Show Actual Battery Percentage | Show Actual Battery Percentage]]<br />
* [[Screenlock On When Connected|Stay On While Connected]]<br />
* [[Make USB Partition Writable via SFTP|Make USB Partition writable via SFTP]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* Empty<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch webOS Email App Patch to Prompt for IPK Installation|Email App Patch to Prompt for IPK Installation]] <br />
<br />
|column3=<br />
==== The following have not been checked for compatibility with webOS 1.1. ====<br />
<br />
* [[Browser_Plugins|Browser Plugins]]<br />
* [[Camera Mod Alternate Sound Disable]]<br />
* [[Changes_Alert/Notification_Sounds|Changes Alert/Notification Sounds]]<br />
* [[Myavatar In Messaging App|Myavatar In Messaging App]] <br />
* [[Photos Slideshow|Photos Slideshow]] <br />
<br />
==== The following are deprecated. They have been replaced with methods which are easier or are moot in 1.1 ====<br />
<br />
* [[Installing Homebrew Apps With A Rooted Pre|Installing Homebrew Apps With A Linux Accessed Pre]] <br />
* [[Packaging Homebrew Apps for Stock Pre without Rooting|Packaging Homebrew Apps for Stock Pre without Accessing Linux]] <br />
* [[Modifying Stock Applications|Modifying Stock Applications]] <br />
<br />
}}</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=6054Portal:Patches to webOS2009-10-01T02:02:46Z<p>Mamouton: </p>
<hr />
<div>__notoc__<br />
{{portal-header<br />
|This page lists patches to webOS existing apps which modify the behavior as shipped. '''Note''' that these patches may be version specific and may be broken by future webOS updates. Proceed with caution. If you get one that works please move it under the correct column, alphabetically, and title the page:<br />
'''"Patch [application] [description]"''' (for application specific patches) <br><br />
'''"Patch webOS [description]"''' (for patches not part of a specific application)<br><br />
<br />
Each page should contain at least the basic headings<br />
*1. '''Introduction''': A brief description to introduce people to the patch.<br />
**1.1 '''Usage''':An explanation if it is needed on how to use the modification see Add/Delete Pages in the Launcher as an example.<br />
*2. '''Editing Process''': Step by step instructions to manually edit. <br />
*3. '''Patching Process''': Details for making the edits with a patch file and pointing people to the [[Applying Patches]] page if the patch is also provided in the webos-internals gitorious repository.<br />
}}<br />
<br />
{{portal-three-columns<br />
|column1= <br />
===webOS Update Information===<br />
* [[Update 1.2.0|Update 1.2]]<br />
* [[Update 1.1.0|Update 1.1]]<br />
* [[Update 1.0.4|Update 1.0.4]] <br />
* [[Update 1.0.3|Update 1.0.3]]<br />
<br />
===Patches that Need Work===<br />
* [[Bugs]]<br />
<br />
|column2=<br />
===Patch Ideas to be Created or in Progress===<br />
<br />
* [[More_Calculator_Functions|Accessing additional built-in calculator functions]]<br />
* [[Add_Ability_To_Choose_Snooze_Length|Add Ability to Choose Snooze Length]]<br />
* [[Add_Icon_To_Quick_Launcher|Add an icon to the quick launcher]]<br />
* [[Changing Clipboard Data From The Shell|Changing Clipboard Data from the Shell]]<br />
* [[Development_%26_Tweak_Ideas | Development & Tweaking Ideas]]<br />
* [[Longer Vibrate|Longer Vibrate]]<br />
<br />
<br />
<br />
|column3=<br />
===Notes===<br />
These modifications lack a patch process, please add one to the details to the page and have it added to the webOS-internals gitorious repository. Info for the repository is on [[Applying Patches]].<br />
<br />
*Empty<br />
}}<br />
{{portal-three-columns<br />
|column1= <br />
==Application Patches==<br />
===webOS 1.2 OK===<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch Browser Global Search Addons|Browser: Global Search Addons]]<br />
* [[Patch Camera Easy Shutter Sound Off|Camera: Easy Shutter Sound Off]]<br />
* [[Patch Camera Shutter Sound On-Off Button|Camera: Shutter Sound On-Off Button]]<br />
* [[Patch Clock Enabling the Hidden Theme|Clock: Enabling the Hidden Theme]]<br />
* [[Patch Email Confirm Deletion|Email: Confirm Deletion]]<br />
* [[Patch Email Change Default Font for Replies-Forwards from Navy to Black|Email: Change Default Font for Replies/Forwards from Navy to Black]]<br />
* [[Patch Email DeleteAll|Email: Delete All]]<br />
* [[Patch Launcher Add or Delete Pages|Launcher: Add/Delete Pages]]<br />
* [[Patch Launcher Hide-Delete The NASCAR App|Launcher: Hide/Delete The NASCAR App]]<br />
* ++[[Patch Launcher Hide Media Sync Option|Launcher: Hide Media Sync Option]]<br />
* [[Patch Launcher Reset Scroll on Page Change|Launcher: Reset Scroll on Page Change]]<br />
* [[Patch Launcher Unhide the DeveloperMode App|Launcher: Unhide the DeveloperMode App]]<br />
* [[Patch Launcher To Allow More Icons Per Row|Launcher: Allows More Icons Per Row]]<br />
* [[Patch Messaging Character Counter|Messaging: Character Counter]]<br />
* ++[[Patch Messaging Display Full Status Messages|Messaging: Display Full Status Messages]] <br />
* [[Patch Messaging Change "Enter Key" To Create Newline|Messaging: Change "Enter Key" To Create Newline]]<br />
* [[Patch Messaging New Cards For Each Conversation|Messaging: New Cards For Each Conversation]]<br />
* [[Patch Messaging Adding Timestamps to All Received Messages|Messaging: Adding Timestamps to All Received Messages]]<br />
* ++[[Patch MediaPlayer Ignore 'A', 'An', and 'The' In Artist and Album names|Music Player: Ignore 'A', 'An', and 'The' in Artist and Album Names]]<br />
* ++[[Patch Phone Edit Dialer Theme|Phone: Edit Dialer Theme]]<br />
* ++[[Patch Phone Show Call Duration in the Call Log|Phone: Show Call Duration in the Call Log]]<br />
* [[Patch Tasks Always Show Details of New Tasks|Tasks: Always Show Details of New Tasks]]<br />
<br />
===Fixed in 1.2 - No longer needed===<br />
* [[Patch Amazon Download Music over EVDO|Amazon: Download Music over EVDO]]<br />
* [[Patch Browser Downloading Files|Browser: Downloading Files]] <br />
* [[Patch MediaPlayer Bookmarking|Music Player: Bookmarking - Works in 1.2 for podcast, speech, spoken word, netcast, or audiobook genre tags only]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
* [[Patch Browser Delete Individual History Items|Browser: Delete Individual History Items]]<br />
* [[Patch Calendar Show All-Day Events in Month View|Calendar: Show All-Day Events in Month View]] <br />
* ++[[Patch Camera 10 Second Countdown Timer|Camera: 10 Second Countdown Timer]]<br />
* [[Patch Camera Shutter Sound On-Off Button|Camera: Shutter Sound On-Off Button]]<br />
* [[Patch Camera Using Volume Buttons to Take a Picture|Camera: Using Volume Buttons to Take a Picture]]<br />
* ++[[Patch Clock Changing Alarm Button Order and Snooze Duration|Clock: Changing Alarm Button Order and Snooze Duration]]<br />
* ++[[Patch Email Change "Running Late" Message|Email: Change "Running Late" Message]]<br />
* [[Patch Email DeleteAll|Email: Delete All]]<br />
* ++[[Patch Messaging Force Offline Send Without Dialog|Messaging: Force Offline Send Without Dialog]]<br />
* [[Patch Messaging Forward Messages|Messaging: Forward Messages]]<br />
* [[Patch Messaging Jump Forward, Backward One Word at a Time|Messaging: Jump Forward, Backward One Word at a Time]]<br />
* [[Patch Messaging Landscape Orientation|Messaging: Landscape Orientation]]<br />
* [[Patch Messaging Sounds|Messaging: Message Sound]]<br />
* ++[[Patch MCraig Enabling Personals Category|mCraig: Enabling Personals Category]]<br />
* ++[[Patch PDF Viewer Change Orientation|PDF Viewer: Change Orientation]]<br />
* [[Patch Phone Disable Various Call Sounds|Phone: Disable Various Call Sounds]]<br />
* ++[[Patch Phone Editing the Lock Screen|Phone: Editing the Lock Screen]]<br />
* [[Patch Tasks Always Show Details of New Tasks|Tasks: Always Show Details of New Tasks]]<br />
* ++[[Patch WebOS Bypassing Lock Screen|Unlock: Bypass the Passcode Entry Screen]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* [[Patch Email Fix Broken Formatting|Email: Fix Broken Formatting for E-mails]]<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch Camera Remote View|Camera: Remote View]]<br />
* [[Patch Email Enable Landscape Viewing|Email: Enable Landscape Viewing]] <br />
* [[Patch Email Fix Attachments|Email: Fix Attachments]]<br />
* [[Patch Sudoku Disable Zooming|Sudoku: Disable Zooming]]<br />
<br />
<br />
|column2=<br />
==General Patches==<br />
===webOS 1.2 OK===<br />
* [[Patch Enable LED Notifications|Enable LED Notifications]]<br />
* [[On Screen Keyboard]]<br />
* [[Patch webOS Disable Charging Event Sounds|Disable Charging Event Sounds]]<br />
* [[Patch webOS Turning Off Dialpad Noise|Turning Off Dialpad Noise]]<br />
* [[Patch webOS Add Words to AutoCorrect Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[Patch webOS Roam Control|Roam Control]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch webOS Boot Themes|Boot Themes]]<br />
* ++[[Patch webOS Brightness|Brightness]]<br />
* ++[[Patch webOS Bypassing Activation|Bypassing Activation]]<br />
* ++[[Patch webOS Change Carrier String|Change Carrier String]]<br />
* ++[[Change_the_default_notification.wav_Sound|Change the Default notification.wav Sound]]<br />
* [[Patch webOS Changing the "Turn off after X" time|Changing the "Turn off after X" Time]]<br />
* ++[[Patch webOS CPU Frequency or Voltage Scaling|CPU Frequency or Voltage Scaling]]<br />
* ++[[Patch webOS GPS Tracking|GPS Tracking]]<br />
* ++[[Patch webOS Graphics|Graphics]]<br />
* ++[[Patch webOS Hourly Chime|Hourly Chime]] <br />
* ++[[Patch webOS Keep Phone Awake While in Remote Session|Keep Phone Awake While in Remote Session]]<br />
* [[Patch webOS Logging Information from Within Scripts|Logging Information from Within Scripts]]<br />
* [[Patch webOS Modifying a Stock App While Keeping the Original|Modifying a Stock App While Keeping the Original]] <br />
* [[Patch webOS Radio Power Switch|Radio Power Switch]]<br />
* ++[[Patch webOS Random Wallpaper Switching|Random Wallpaper Switching]]<br />
* [[Patch webOS Reverse Tunnel|Reverse Tunnel]] <br />
* [[Patch webOS Show Actual Battery Percentage | Show Actual Battery Percentage]]<br />
* [[Screenlock On When Connected|Stay On While Connected]]<br />
* [[Make USB Partition Writable via SFTP|Make USB Partition writable via SFTP]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* Empty<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch webOS Email App Patch to Prompt for IPK Installation|Email App Patch to Prompt for IPK Installation]] <br />
<br />
|column3=<br />
==== The following have not been checked for compatibility with webOS 1.1. ====<br />
<br />
* [[Browser_Plugins|Browser Plugins]]<br />
* [[Camera Mod Alternate Sound Disable]]<br />
* [[Changes_Alert/Notification_Sounds|Changes Alert/Notification Sounds]]<br />
* [[Myavatar In Messaging App|Myavatar In Messaging App]] <br />
* [[Photos Slideshow|Photos Slideshow]] <br />
<br />
==== The following are deprecated. They have been replaced with methods which are easier or are moot in 1.1 ====<br />
<br />
* [[Installing Homebrew Apps With A Rooted Pre|Installing Homebrew Apps With A Linux Accessed Pre]] <br />
* [[Packaging Homebrew Apps for Stock Pre without Rooting|Packaging Homebrew Apps for Stock Pre without Accessing Linux]] <br />
* [[Modifying Stock Applications|Modifying Stock Applications]] <br />
<br />
}}</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=6020Portal:Patches to webOS2009-09-30T02:27:35Z<p>Mamouton: </p>
<hr />
<div>__notoc__<br />
{{portal-header<br />
|This page lists patches to webOS existing apps which modify the behavior as shipped. '''Note''' that these patches may be version specific and may be broken by future webOS updates. Proceed with caution. If you get one that works please move it under the correct column, alphabetically, and title the page:<br />
'''"Patch [application] [description]"''' (for application specific patches) <br><br />
'''"Patch webOS [description]"''' (for patches not part of a specific application)<br><br />
<br />
Each page should contain at least the basic headings<br />
*1. '''Introduction''': A brief description to introduce people to the patch.<br />
**1.1 '''Usage''':An explanation if it is needed on how to use the modification see Add/Delete Pages in the Launcher as an example.<br />
*2. '''Editing Process''': Step by step instructions to manually edit. <br />
*3. '''Patching Process''': Details for making the edits with a patch file and pointing people to the [[Applying Patches]] page if the patch is also provided in the webos-internals gitorious repository.<br />
}}<br />
<br />
{{portal-three-columns<br />
|column1= <br />
===webOS Update Information===<br />
* [[Update 1.2.0|Update 1.2]]<br />
* [[Update 1.1.0|Update 1.1]]<br />
* [[Update 1.0.4|Update 1.0.4]] <br />
* [[Update 1.0.3|Update 1.0.3]]<br />
<br />
===Patches that Need Work===<br />
* [[Bugs]]<br />
<br />
|column2=<br />
===Patch Ideas to be Created or in Progress===<br />
<br />
* [[More_Calculator_Functions|Accessing additional built-in calculator functions]]<br />
* [[Add_Ability_To_Choose_Snooze_Length|Add Ability to Choose Snooze Length]]<br />
* [[Add_Icon_To_Quick_Launcher|Add an icon to the quick launcher]]<br />
* [[Changing Clipboard Data From The Shell|Changing Clipboard Data from the Shell]]<br />
* [[Development_%26_Tweak_Ideas | Development & Tweaking Ideas]]<br />
* [[Longer Vibrate|Longer Vibrate]]<br />
<br />
<br />
<br />
|column3=<br />
===Notes===<br />
These modifications lack a patch process, please add one to the details to the page and have it added to the webOS-internals gitorious repository. Info for the repository is on [[Applying Patches]].<br />
<br />
*Empty<br />
}}<br />
{{portal-three-columns<br />
|column1= <br />
==Patches to webOS apps==<br />
===webOS 1.2 OK===<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch Browser Global Search Addons|Browser: Global Search Addons]]<br />
* [[Patch Camera Easy Shutter Sound Off|Camera: Easy Shutter Sound Off]]<br />
* [[Patch Clock Enabling the Hidden Theme|Clock: Enabling the Hidden Theme]]<br />
* [[Patch Email Confirm Deletion|Email: Confirm Deletion]]<br />
* [[Patch Email Change Default Font for Replies-Forwards from Navy to Black|Email: Change Default Font for Replies/Forwards from Navy to Black]]<br />
* [[Patch Launcher Add or Delete Pages|Launcher: Add/Delete Pages]]<br />
* ++[[Patch Launcher Hide-Delete The NASCAR App|Launcher: Hide/Delete The NASCAR App]]<br />
* ++[[Patch Launcher Hide Media Sync Option|Launcher: Hide Media Sync Option]]<br />
* [[Patch Launcher Reset Scroll on Page Change|Launcher: Reset Scroll on Page Change]]<br />
* [[Patch Launcher Unhide the DeveloperMode App|Launcher: Unhide the DeveloperMode App]]<br />
* [[Patch Launcher To Allow More Icons Per Row|Launcher: Allows More Icons Per Row]]<br />
* [[Patch Messaging Character Counter|Messaging: Character Counter]]<br />
* ++[[Patch Messaging Display Full Status Messages|Messaging: Display Full Status Messages]] <br />
* [[Patch Messaging Change "Enter Key" To Create Newline|Messaging: Change "Enter Key" To Create Newline]]<br />
* [[Patch Messaging New Cards For Each Conversation|Messaging: New Cards For Each Conversation]]<br />
* [[Patch Messaging Adding Timestamps to All Received Messages|Messaging: Adding Timestamps to All Received Messages]]<br />
* ++[[Patch MediaPlayer Ignore 'A', 'An', and 'The' In Artist and Album names|Music Player: Ignore 'A', 'An', and 'The' in Artist and Album Names]]<br />
* ++[[Patch Phone Edit Dialer Theme|Phone: Edit Dialer Theme]]<br />
* ++[[Patch Phone Show Call Duration in the Call Log|Phone: Show Call Duration in the Call Log]]<br />
<br />
===Fixed in 1.2 - No longer needed===<br />
* [[Patch Amazon Download Music over EVDO|Amazon: Download Music over EVDO]]<br />
* [[Patch Browser Downloading Files|Browser: Downloading Files]] <br />
* [[Patch MediaPlayer Bookmarking|Music Player: Bookmarking - Works in 1.2 for podcast, speech, spoken word, netcast, or audiobook genre tags only]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
* [[Patch Browser Delete Individual History Items|Browser: Delete Individual History Items]]<br />
* [[Patch Calendar Show All-Day Events in Month View|Calendar: Show All-Day Events in Month View]] <br />
* ++[[Patch Camera 10 Second Countdown Timer|Camera: 10 Second Countdown Timer]]<br />
* [[Patch Camera Shutter Sound On-Off Button|Camera: Shutter Sound On-Off Button]]<br />
* [[Patch Camera Using Volume Buttons to Take a Picture|Camera: Using Volume Buttons to Take a Picture]]<br />
* ++[[Patch Clock Changing Alarm Button Order and Snooze Duration|Clock: Changing Alarm Button Order and Snooze Duration]]<br />
* ++[[Patch Email Change "Running Late" Message|Email: Change "Running Late" Message]]<br />
* [[Patch Email DeleteAll|Email: Delete All]]<br />
* ++[[Patch Messaging Force Offline Send Without Dialog|Messaging: Force Offline Send Without Dialog]]<br />
* [[Patch Messaging Forward Messages|Messaging: Forward Messages]]<br />
* [[Patch Messaging Jump Forward, Backward One Word at a Time|Messaging: Jump Forward, Backward One Word at a Time]]<br />
* [[Patch Messaging Landscape Orientation|Messaging: Landscape Orientation]]<br />
* [[Patch Messaging Sounds|Messaging: Message Sound]]<br />
* ++[[Patch MCraig Enabling Personals Category|mCraig: Enabling Personals Category]]<br />
* ++[[Patch PDF Viewer Change Orientation|PDF Viewer: Change Orientation]]<br />
* [[Patch Phone Disable Various Call Sounds|Phone: Disable Various Call Sounds]]<br />
* ++[[Patch Phone Editing the Lock Screen|Phone: Editing the Lock Screen]]<br />
* [[Patch Tasks Always Show Details of New Tasks|Tasks: Always Show Details of New Tasks]]<br />
* ++[[Patch WebOS Bypassing Lock Screen|Unlock: Bypass the Passcode Entry Screen]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* [[Patch Email Fix Broken Formatting|Email: Fix Broken Formatting for E-mails]]<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch Camera Remote View|Camera: Remote View]]<br />
* [[Patch Email Enable Landscape Viewing|Email: Enable Landscape Viewing]] <br />
* [[Patch Email Fix Attachments|Email: Fix Attachments]]<br />
* [[Patch Sudoku Disable Zooming|Sudoku: Disable Zooming]]<br />
<br />
<br />
|column2=<br />
==Patches not part of a specific app==<br />
===webOS 1.2 OK===<br />
* [[Patch Enable LED Notifications|Enable LED Notifications]]<br />
* [[On Screen Keyboard]]<br />
* [[Patch webOS Disable Charging Event Sounds|Disable Charging Event Sounds]]<br />
* [[Patch webOS Turning Off Dialpad Noise|Turning Off Dialpad Noise]]<br />
* [[Patch webOS Add Words to AutoCorrect Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[Patch webOS Roam Control|Roam Control]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch webOS Boot Themes|Boot Themes]]<br />
* ++[[Patch webOS Brightness|Brightness]]<br />
* ++[[Patch webOS Bypassing Activation|Bypassing Activation]]<br />
* ++[[Patch webOS Change Carrier String|Change Carrier String]]<br />
* ++[[Change_the_default_notification.wav_Sound|Change the Default notification.wav Sound]]<br />
* [[Patch webOS Changing the "Turn off after X" time|Changing the "Turn off after X" Time]]<br />
* ++[[Patch webOS CPU Frequency or Voltage Scaling|CPU Frequency or Voltage Scaling]]<br />
* ++[[Patch webOS GPS Tracking|GPS Tracking]]<br />
* ++[[Patch webOS Graphics|Graphics]]<br />
* ++[[Patch webOS Hourly Chime|Hourly Chime]] <br />
* ++[[Patch webOS Keep Phone Awake While in Remote Session|Keep Phone Awake While in Remote Session]]<br />
* [[Patch webOS Logging Information from Within Scripts|Logging Information from Within Scripts]]<br />
* [[Patch webOS Modifying a Stock App While Keeping the Original|Modifying a Stock App While Keeping the Original]] <br />
* [[Patch webOS Radio Power Switch|Radio Power Switch]]<br />
* ++[[Patch webOS Random Wallpaper Switching|Random Wallpaper Switching]]<br />
* [[Patch webOS Reverse Tunnel|Reverse Tunnel]] <br />
* [[Patch webOS Show Actual Battery Percentage | Show Actual Battery Percentage]]<br />
* [[Screenlock On When Connected|Stay On While Connected]]<br />
* [[Make USB Partition Writable via SFTP|Make USB Partition writable via SFTP]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* Empty<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch webOS Email App Patch to Prompt for IPK Installation|Email App Patch to Prompt for IPK Installation]] <br />
<br />
|column3=<br />
==== The following have not been checked for compatibility with webOS 1.1. ====<br />
<br />
* [[Browser_Plugins|Browser Plugins]]<br />
* [[Camera Mod Alternate Sound Disable]]<br />
* [[Changes_Alert/Notification_Sounds|Changes Alert/Notification Sounds]]<br />
* [[Myavatar In Messaging App|Myavatar In Messaging App]] <br />
* [[Photos Slideshow|Photos Slideshow]] <br />
<br />
==== The following are deprecated. They have been replaced with methods which are easier or are moot in 1.1 ====<br />
<br />
* [[Installing Homebrew Apps With A Rooted Pre|Installing Homebrew Apps With A Linux Accessed Pre]] <br />
* [[Packaging Homebrew Apps for Stock Pre without Rooting|Packaging Homebrew Apps for Stock Pre without Accessing Linux]] <br />
* [[Modifying Stock Applications|Modifying Stock Applications]] <br />
<br />
}}</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=6019Portal:Patches to webOS2009-09-30T02:18:30Z<p>Mamouton: </p>
<hr />
<div>__notoc__<br />
{{portal-header<br />
|This page lists patches to webOS existing apps which modify the behavior as shipped. '''Note''' that these patches may be version specific and may be broken by future webOS updates. Proceed with caution. If you get one that works please move it under the correct column, alphabetically, and title the page:<br />
'''"Patch [application] [description]"''' (for application specific patches) <br><br />
'''"Patch webOS [description]"''' (for patches not part of a specific application)<br><br />
<br />
Each page should contain at least the basic headings<br />
*1. '''Introduction''': A brief description to introduce people to the patch.<br />
**1.1 '''Usage''':An explanation if it is needed on how to use the modification see Add/Delete Pages in the Launcher as an example.<br />
*2. '''Editing Process''': Step by step instructions to manually edit. <br />
*3. '''Patching Process''': Details for making the edits with a patch file and pointing people to the [[Applying Patches]] page if the patch is also provided in the webos-internals gitorious repository.<br />
}}<br />
<br />
{{portal-three-columns<br />
|column1= <br />
===webOS Update Information===<br />
* [[Update 1.2.0|Update 1.2]]<br />
* [[Update 1.1.0|Update 1.1]]<br />
* [[Update 1.0.4|Update 1.0.4]] <br />
* [[Update 1.0.3|Update 1.0.3]]<br />
<br />
===Patches that Need Work===<br />
* [[Bugs]]<br />
<br />
|column2=<br />
===Patch Ideas to be Created or in Progress===<br />
<br />
* [[More_Calculator_Functions|Accessing additional built-in calculator functions]]<br />
* [[Add_Ability_To_Choose_Snooze_Length|Add Ability to Choose Snooze Length]]<br />
* [[Add_Icon_To_Quick_Launcher|Add an icon to the quick launcher]]<br />
* [[Changing Clipboard Data From The Shell|Changing Clipboard Data from the Shell]]<br />
* [[Development_%26_Tweak_Ideas | Development & Tweaking Ideas]]<br />
* [[Longer Vibrate|Longer Vibrate]]<br />
<br />
<br />
<br />
|column3=<br />
===Notes===<br />
These modifications lack a patch process, please add one to the details to the page and have it added to the webOS-internals gitorious repository. Info for the repository is on [[Applying Patches]].<br />
<br />
*Empty<br />
}}<br />
{{portal-three-columns<br />
|column1= <br />
==Patches to webOS apps==<br />
===webOS 1.2 OK===<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch Browser Global Search Addons|Browser: Global Search Addons]]<br />
* [[Patch Camera Easy Shutter Sound Off|Camera: Easy Shutter Sound Off]]<br />
* [[Patch Clock Enabling the Hidden Theme|Clock: Enabling the Hidden Theme]]<br />
* [[Patch Email Confirm Deletion|Email: Confirm Deletion]]<br />
* [[Patch Email Change Default Font for Replies-Forwards from Navy to Black|Email: Change Default Font for Replies/Forwards from Navy to Black]]<br />
* [[Patch Launcher Add or Delete Pages|Launcher: Add/Delete Pages]]<br />
* ++[[Patch Launcher Hide-Delete The NASCAR App|Launcher: Hide/Delete The NASCAR App]]<br />
* ++[[Patch Launcher Hide Media Sync Option|Launcher: Hide Media Sync Option]]<br />
* [[Patch Launcher Reset Scroll on Page Change|Launcher: Reset Scroll on Page Change]]<br />
* [[Patch Launcher Unhide the DeveloperMode App|Launcher: Unhide the DeveloperMode App]]<br />
* [[Patch Launcher To Allow More Icons Per Row|Launcher: Allows More Icons Per Row]]<br />
* [[Patch Messaging Character Counter|Messaging: Character Counter]]<br />
* ++[[Patch Messaging Display Full Status Messages|Messaging: Display Full Status Messages]] <br />
* [[Patch Messaging New Cards For Each Conversation|Messaging: New Cards For Each Conversation]]<br />
* [[Patch Messaging Adding Timestamps to All Received Messages|Messaging: Adding Timestamps to All Received Messages]]<br />
* ++[[Patch MediaPlayer Ignore 'A', 'An', and 'The' In Artist and Album names|Music Player: Ignore 'A', 'An', and 'The' in Artist and Album Names]]<br />
* ++[[Patch Phone Edit Dialer Theme|Phone: Edit Dialer Theme]]<br />
* ++[[Patch Phone Show Call Duration in the Call Log|Phone: Show Call Duration in the Call Log]]<br />
<br />
===Fixed in 1.2 - No longer needed===<br />
* [[Patch Amazon Download Music over EVDO|Amazon: Download Music over EVDO]]<br />
* [[Patch Browser Downloading Files|Browser: Downloading Files]] <br />
* [[Patch MediaPlayer Bookmarking|Music Player: Bookmarking - Works in 1.2 for podcast, speech, spoken word, netcast, or audiobook genre tags only]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
* [[Patch Browser Delete Individual History Items|Browser: Delete Individual History Items]]<br />
* [[Patch Calendar Show All-Day Events in Month View|Calendar: Show All-Day Events in Month View]] <br />
* ++[[Patch Camera 10 Second Countdown Timer|Camera: 10 Second Countdown Timer]]<br />
* [[Patch Camera Shutter Sound On-Off Button|Camera: Shutter Sound On-Off Button]]<br />
* [[Patch Camera Using Volume Buttons to Take a Picture|Camera: Using Volume Buttons to Take a Picture]]<br />
* ++[[Patch Clock Changing Alarm Button Order and Snooze Duration|Clock: Changing Alarm Button Order and Snooze Duration]]<br />
* ++[[Patch Email Change "Running Late" Message|Email: Change "Running Late" Message]]<br />
* [[Patch Email DeleteAll|Email: Delete All]]<br />
* [[Patch Messaging Change "Enter Key" To Create Newline|Messaging: Change "Enter Key" To Create Newline]]<br />
* ++[[Patch Messaging Force Offline Send Without Dialog|Messaging: Force Offline Send Without Dialog]]<br />
* [[Patch Messaging Forward Messages|Messaging: Forward Messages]]<br />
* [[Patch Messaging Jump Forward, Backward One Word at a Time|Messaging: Jump Forward, Backward One Word at a Time]]<br />
* [[Patch Messaging Landscape Orientation|Messaging: Landscape Orientation]]<br />
* [[Patch Messaging Sounds|Messaging: Message Sound]]<br />
* ++[[Patch MCraig Enabling Personals Category|mCraig: Enabling Personals Category]]<br />
* ++[[Patch PDF Viewer Change Orientation|PDF Viewer: Change Orientation]]<br />
* [[Patch Phone Disable Various Call Sounds|Phone: Disable Various Call Sounds]]<br />
* ++[[Patch Phone Editing the Lock Screen|Phone: Editing the Lock Screen]]<br />
* [[Patch Tasks Always Show Details of New Tasks|Tasks: Always Show Details of New Tasks]]<br />
* ++[[Patch WebOS Bypassing Lock Screen|Unlock: Bypass the Passcode Entry Screen]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* [[Patch Email Fix Broken Formatting|Email: Fix Broken Formatting for E-mails]]<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch Camera Remote View|Camera: Remote View]]<br />
* [[Patch Email Enable Landscape Viewing|Email: Enable Landscape Viewing]] <br />
* [[Patch Email Fix Attachments|Email: Fix Attachments]]<br />
* [[Patch Sudoku Disable Zooming|Sudoku: Disable Zooming]]<br />
<br />
<br />
|column2=<br />
==Patches not part of a specific app==<br />
===webOS 1.2 OK===<br />
* [[Patch Enable LED Notifications|Enable LED Notifications]]<br />
* [[On Screen Keyboard]]<br />
* [[Patch webOS Disable Charging Event Sounds|Disable Charging Event Sounds]]<br />
* [[Patch webOS Turning Off Dialpad Noise|Turning Off Dialpad Noise]]<br />
* [[Patch webOS Add Words to AutoCorrect Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[Patch webOS Roam Control|Roam Control]]<br />
<br />
===webOS 1.1 OK===<br />
<br />
++ Indicates needs to be added to the git repository. Please help add them and remove the notation when added.<br />
<br />
* ++[[Patch webOS Boot Themes|Boot Themes]]<br />
* ++[[Patch webOS Brightness|Brightness]]<br />
* ++[[Patch webOS Bypassing Activation|Bypassing Activation]]<br />
* ++[[Patch webOS Change Carrier String|Change Carrier String]]<br />
* ++[[Change_the_default_notification.wav_Sound|Change the Default notification.wav Sound]]<br />
* [[Patch webOS Changing the "Turn off after X" time|Changing the "Turn off after X" Time]]<br />
* ++[[Patch webOS CPU Frequency or Voltage Scaling|CPU Frequency or Voltage Scaling]]<br />
* ++[[Patch webOS GPS Tracking|GPS Tracking]]<br />
* ++[[Patch webOS Graphics|Graphics]]<br />
* ++[[Patch webOS Hourly Chime|Hourly Chime]] <br />
* ++[[Patch webOS Keep Phone Awake While in Remote Session|Keep Phone Awake While in Remote Session]]<br />
* [[Patch webOS Logging Information from Within Scripts|Logging Information from Within Scripts]]<br />
* [[Patch webOS Modifying a Stock App While Keeping the Original|Modifying a Stock App While Keeping the Original]] <br />
* [[Patch webOS Radio Power Switch|Radio Power Switch]]<br />
* ++[[Patch webOS Random Wallpaper Switching|Random Wallpaper Switching]]<br />
* [[Patch webOS Reverse Tunnel|Reverse Tunnel]] <br />
* [[Patch webOS Show Actual Battery Percentage | Show Actual Battery Percentage]]<br />
* [[Screenlock On When Connected|Stay On While Connected]]<br />
* [[Make USB Partition Writable via SFTP|Make USB Partition writable via SFTP]]<br />
<br />
===Fixed in 1.1 - No longer needed===<br />
* Empty<br />
<br />
===Not 1.1 compatible===<br />
* [[Patch webOS Email App Patch to Prompt for IPK Installation|Email App Patch to Prompt for IPK Installation]] <br />
<br />
|column3=<br />
==== The following have not been checked for compatibility with webOS 1.1. ====<br />
<br />
* [[Browser_Plugins|Browser Plugins]]<br />
* [[Camera Mod Alternate Sound Disable]]<br />
* [[Changes_Alert/Notification_Sounds|Changes Alert/Notification Sounds]]<br />
* [[Myavatar In Messaging App|Myavatar In Messaging App]] <br />
* [[Photos Slideshow|Photos Slideshow]] <br />
<br />
==== The following are deprecated. They have been replaced with methods which are easier or are moot in 1.1 ====<br />
<br />
* [[Installing Homebrew Apps With A Rooted Pre|Installing Homebrew Apps With A Linux Accessed Pre]] <br />
* [[Packaging Homebrew Apps for Stock Pre without Rooting|Packaging Homebrew Apps for Stock Pre without Accessing Linux]] <br />
* [[Modifying Stock Applications|Modifying Stock Applications]] <br />
<br />
}}</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Messaging_Adding_Timestamps_to_All_Received_Messages&diff=6018Patch Messaging Adding Timestamps to All Received Messages2009-09-30T02:15:52Z<p>Mamouton: /* Procedure */</p>
<hr />
<div>{{template:patch}}<br />
== Introduction==<br />
<br />
A number of users have requested adding timestamps to each message that arrives on the device.<br />
Palm actually goes out of their way to group messages that have arrived during various time intervals,<br />
but if you'd prefer to see a timestamp on each message, simply follow the instructions below.<br />
<br />
== Procedure==<br />
<br />
1. Remount the file system as read/write<br />
<br />
2. cd to '''/usr/palm/applications/com.palm.app.messaging/app/controllers/'''<br />
<br />
3. Backup '''chatview-assistant.js''' (just to be safe)<br />
<br />
4. Open '''chatview-assistant.js''' and comment out the following lines:<br />
<br />
* 1169 (webOS 1.1: '''1242''') (webOS 1.2: '''1306''')- line that starts with: '''if(!ChatFlags.'''<br />
* 1177 (webOS 1.1: '''1250''') (webOS 1.2: '''1314''')- line that starts with: '''if(today-msg.'''<br />
* 1179 (webOS 1.1: '''1252''') (webOS 1.2: '''1316''')- first closing bracket on its own line: '''}'''<br />
* 1180 (webOS 1.1: '''1253''') (webOS 1.2: '''1317''')- second closing bracket on its own line: '''}'''<br />
<br />
5. Save the file and exit the editor<br />
<br />
6. Remount the file system as read-only<br />
<br />
7. Logout of your root session<br />
<br />
8. Reboot the device<br />
<br />
You should now see a full timestamp on all received messages.<br />
<br />
= Add Timestamps to All Messages - another approach =<br />
<br />
== Introduction ==<br />
<br />
The method described above is the easiest way to display message timestamps. I went a little farther since I didn't want the "Message Sent:" label and I also wanted to format the string a bit more. While I was at it, I also modified the view for the message text to display as pre-formatted text since text messages are text after all, not html.<br />
<br />
== Procedure ==<br />
<br />
* same as steps 1 & 2 above<br />
* save a backup of /usr/palm/applications/com.palm.app.messaging/<br />
** stylesheets/messaging.css<br />
** app/views/chatview/message/message-text.html<br />
** app/controllers/chatview-assistant.js<br />
* edit stylesheets/messaging.css<br />
** search for the string 'messageText' and append the following after its style definition<br />
<br />
.messageText pre {<br />
font-family: inherit;<br />
font-size: inherit;<br />
color: inherit;<br />
}<br />
.timeStamp {<br />
font-size: 12px;<br />
font-style: italic;<br />
color: #1111ff;<br />
}<br />
<br />
**feel free to change the style to your liking. I tried using 'white-space: pre-wrap' in the .messageText class but it didn't behave as expected, hence the use of the pre tag.<br />
* edit app/views/chatview/message/message-text.html<br />
** change the single line to:<br />
<nowiki><div class="messageText"><pre>#{-messageText}</pre> #{-errorContent}<span class="timeStamp">#{-timeStampText}</span></div></nowiki><br />
* edit app/controllers/chatview-assistant.js<br />
** search for the string 'preFormatChatList:' and just below that look for 'var msg = stuff.list[i];'<br />
** somewhere after that line (within the for loop) add the following:<br />
var ts = new Date();<br />
ts.setTime(msg.deviceTimeStamp);<br />
msg.timeStampText = Mojo.Format.formatDate(ts,'short');<br />
** note that I used msg.deviceTimeStamp which I believe is when your phone sent/received the message. If you'd prefer the time it was actually sent by the sender, use msg.timeStamp instead. while you're in here, you may consider applying the [[Patch Messaging Change "Enter Key" To Create Newline|send on return behavior]] changes.<br />
* restart LunaSysMgr or reboot<br />
<br />
be sure to save the files you modified as they could get overwritten on the next sprint update. better yet, install [[Applying_Patches|quilt]] to manage the diffs as a patch.<br />
<br />
= Remove 5min timestamp divider =<br />
<br />
== Intro ==<br />
The Divider popping up in messages every 5 minutes can get mildly annoying. It is possible to make it so that the divider only shows up when the message protocol/transport is changed.<br />
<br />
== Procedure ==<br />
* Complete one of the two methods above to enable timestamps in your messages.<br />
* While you're in chatview-assistant.js look for "d.setMinutes" it should be around line 1232 in 1.1 1302 in 1.2<br />
** Find the line that says <br />
msg.dividerText = msg.transportClas; + BucketDateFormatter.getDateBucket(d,true,true);<br />
** Replace it with <br />
msg.dividerText = msg.transportClass; // + BucketDateFormatter.getDateBucket(d,true,true);<br />
<br />
= Acknowledgements=<br />
<br />
Thanks to tk102 and scuba_steve on [http://www.precentral.net/ PreCentral] for the mod.</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Messaging_Adding_Timestamps_to_All_Received_Messages&diff=6017Patch Messaging Adding Timestamps to All Received Messages2009-09-30T02:15:18Z<p>Mamouton: /* Procedure */</p>
<hr />
<div>{{template:patch}}<br />
== Introduction==<br />
<br />
A number of users have requested adding timestamps to each message that arrives on the device.<br />
Palm actually goes out of their way to group messages that have arrived during various time intervals,<br />
but if you'd prefer to see a timestamp on each message, simply follow the instructions below.<br />
<br />
== Procedure==<br />
<br />
1. Remount the file system as read/write<br />
<br />
2. cd to '''/usr/palm/applications/com.palm.app.messaging/app/controllers/'''<br />
<br />
3. Backup '''chatview-assistant.js''' (just to be safe)<br />
<br />
4. Open '''chatview-assistant.js''' and comment out the following lines:<br />
<br />
* 1169 (webOS 1.1: '''1242''') (webOS 1.2: '''1306''')- line that starts with: '''if(!ChatFlags.'''<br />
* 1177 (webOS 1.1: '''1250''') (webOS 1.2: '''1314''')- line that starts with: '''if(today-msg.'''<br />
* 1179 (webOS 1.1: '''1252''') (webOS 1.2: '''1316''')- first closing bracket on its own line: '''}'''<br />
* 1180 (webOS 1.1: '''1253''') (webOS 1.2: '''1317''')- second closing bracket on its own line: '''}'''<br />
<br />
5. Save the file and exit the editor<br />
<br />
6. Remount the file system as read-only<br />
<br />
7. Logout of your root session<br />
<br />
8. Reboot the device<br />
<br />
You should now see a full timestamp on all received messages.<br />
<br />
= Add Timestamps to All Messages - another approach =<br />
<br />
== Introduction ==<br />
<br />
The method described above is the easiest way to display message timestamps. I went a little farther since I didn't want the "Message Sent:" label and I also wanted to format the string a bit more. While I was at it, I also modified the view for the message text to display as pre-formatted text since text messages are text after all, not html.<br />
<br />
== Procedure ==<br />
<br />
* same as steps 1 & 2 above<br />
* save a backup of /usr/palm/applications/com.palm.app.messaging/<br />
** stylesheets/messaging.css<br />
** app/views/chatview/message/message-text.html<br />
** app/controllers/chatview-assistant.js<br />
* edit stylesheets/messaging.css<br />
** search for the string 'messageText' and append the following after its style definition<br />
<br />
.messageText pre {<br />
font-family: inherit;<br />
font-size: inherit;<br />
color: inherit;<br />
}<br />
.timeStamp {<br />
font-size: 12px;<br />
font-style: italic;<br />
color: #1111ff;<br />
}<br />
<br />
**feel free to change the style to your liking. I tried using 'white-space: pre-wrap' in the .messageText class but it didn't behave as expected, hence the use of the pre tag.<br />
* edit app/views/chatview/message/message-text.html<br />
** change the single line to:<br />
<nowiki><div class="messageText"><pre>#{-messageText}</pre> #{-errorContent}<span class="timeStamp">#{-timeStampText}</span></div></nowiki><br />
* edit app/controllers/chatview-assistant.js<br />
** search for the string 'preFormatChatList:' and just below that look for 'var msg = stuff.list[i];'<br />
** somewhere after that line (within the for loop) add the following:<br />
var ts = new Date();<br />
ts.setTime(msg.deviceTimeStamp);<br />
msg.timeStampText = Mojo.Format.formatDate(ts,'short');<br />
** note that I used msg.deviceTimeStamp which I believe is when your phone sent/received the message. If you'd prefer the time it was actually sent by the sender, use msg.timeStamp instead. while you're in here, you may consider applying the [[Patch Messaging Change "Enter Key" To Create Newline|send on return behavior]] changes.<br />
* restart LunaSysMgr or reboot<br />
<br />
be sure to save the files you modified as they could get overwritten on the next sprint update. better yet, install [[Applying_Patches|quilt]] to manage the diffs as a patch.<br />
<br />
= Remove 5min timestamp divider =<br />
<br />
== Intro ==<br />
The Divider popping up in messages every 5 minutes can get mildly annoying. It is possible to make it so that the divider only shows up when the message protocol/transport is changed.<br />
<br />
== Procedure ==<br />
* Complete one of the two methods above to enable timestamps in your messages.<br />
* While you're in chatview-assistant.js look for "d.setMinutes" it should be around line 1232 in 1.1<br />
** Find the line that says <br />
msg.dividerText = msg.transportClas; + BucketDateFormatter.getDateBucket(d,true,true);<br />
** Replace it with <br />
msg.dividerText = msg.transportClass; // + BucketDateFormatter.getDateBucket(d,true,true);<br />
<br />
= Acknowledgements=<br />
<br />
Thanks to tk102 and scuba_steve on [http://www.precentral.net/ PreCentral] for the mod.</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Email_DeleteAll&diff=5857Patch Email DeleteAll2009-09-21T03:33:20Z<p>Mamouton: </p>
<hr />
<div>{{template:patch}}<br />
This will add a button at the bottom of the screen with a trashcan icon between the Compose and Refresh buttons. Selecting the button will delete all email items in the list after prompting the user for confirmation.<br />
<br />
I am deliberately not using line numbers to minimize the need for updates as new WebOS releases come out.<br />
<br />
Open:<br />
<br />
<pre><nowiki>/usr/palm/applications/com.palm.app.email/app/controllers/list-assistant.js</nowiki></pre><br />
<br />
Find the setup function and modify the cmdMenuModel items, replace the <br />
<br />
<pre><nowiki>{},</nowiki></pre><br />
<br />
with <br />
<br />
<pre><nowiki>{label:$L('Delete All'), icon:'delete', command:'deleteall'},</nowiki></pre><br />
<br />
Find the handleCommand function and add the following case statement:<br />
<br />
<pre><nowiki><br />
case 'deleteall':<br />
this.handleDeleteAll();<br />
break;<br />
</nowiki></pre><br />
<br />
Now add the following three functions:<br />
<br />
<pre><nowiki><br />
handleDeleteAllResponse: function (event) {<br />
//check to see if there are more items to delete.<br />
this.deleteAll();<br />
},<br />
<br />
deleteAll: function(){<br />
<br />
var count = this.emailListElement.mojo.getLength();<br />
<br />
var id;<br />
<br />
if(count > 0)<br />
{<br />
var i;<br />
<br />
//Since the list is loaded dynamically we may have the count of all emails but not all of the data<br />
//So start with count and work backward with error handling<br />
//When reach 0 trigger at least one more pass after data has had a chance to refresh<br />
for(i=count-1; i>=0; i--)<br />
{<br />
var item = this.emailListElement.mojo.getNodeByIndex(i);<br />
<br />
if(item !== undefined)<br />
{<br />
id = item.id;<br />
<br />
if(id)<br />
{<br />
if(i==0)<br />
{<br />
this.controller.serviceRequest(Email.identifier, {<br />
method: 'setDeleted',<br />
parameters: {'message':id, 'value': true },<br />
onSuccess: this.handleDeleteAllResponse.bind(this),<br />
onFailure: this.handleDeleteAllResponse.bind(this)<br />
});<br />
}<br />
else<br />
{<br />
this.controller.serviceRequest(Email.identifier, {<br />
method: 'setDeleted',<br />
parameters: {'message':id, 'value': true },<br />
onSuccess: undefined,<br />
onFailure: undefined<br />
});<br />
}<br />
}//if(id)<br />
}//if item !== undefined<br />
else<br />
{<br />
if(i==0)<br />
{<br />
//item was undefined probably because it is currently marked for delete<br />
this.deleteAll();<br />
}<br />
}<br />
}//for<br />
}//count > 0<br />
},<br />
<br />
handleDeleteAll: function (event) {<br />
<br />
var totalCount = 0;<br />
<br />
totalCount = this.emailListElement.mojo.getLength();<br />
<br />
this.controller.showAlertDialog({<br />
onChoose: function(value) {<br />
if(value == 'yes') {<br />
//Delete all items in this folder<br />
this.deleteAll();<br />
}<br />
},<br />
title: '<b>' + $L('Delete All') + '</b>',<br />
message: $L('Are you sure you want to delete all ') + "<b>" + totalCount + "</b>" + $L(' items in this folder?'),<br />
choices: [<br />
{label:$L('Yes'), value:'yes', type:'affirmative'},<br />
{label:$L('No'), value:'no', type:'alert'}<br />
]<br />
});<br />
},<br />
</nowiki></pre></div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Pager_Nagger&diff=4939Pager Nagger2009-08-30T00:11:55Z<p>Mamouton: /* Acknowledgments */</p>
<hr />
<div>I use my phone as a pager when I'm on-call at work. The Pre's notification tone is ''way'' too short and quiet to wake me up. Here's a script that will nag you by playing a .wav file every minute while you have unread messages. The latest version also vibrates and blinks the LEDs.<br />
<br />
== Prerequisites==<br />
<br />
* [[Portal:Accessing_Linux | Root access]]<br />
* [[Crond | Crond enabled]]<br />
<br />
== Script code==<br />
<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
SOUND=/media/internal/ringtones/pager.wav<br />
LIGHT=1<br />
BUZZ=1<br />
<br />
check() {<br />
cmd='SELECT summary FROM com_palm_messaging_data_ChatThread WHERE unreadCount > 0 AND type = "SMS" AND summary != "";'<br />
output=$(echo $cmd|sqlite3 /var/luna/data/dbdata/PalmDatabase.db3 2> /dev/null) || return 0<br />
if [ -n "$output" ] ; then<br />
return 1<br />
fi<br />
}<br />
<br />
play() {<br />
x=0<br />
until [ "$x" = 4 ] ; do<br />
aplay -q "$SOUND" &<br />
y=1<br />
if [ "$BUZZ" = 1 ] ; then<br />
/usr/bin/luna-send -n 1 palm://com.palm.vibrate/vibrate {\"period\":1,\"duration\":1000\} > /dev/null 2>&1<br />
z=10<br />
else<br />
z=12<br />
fi<br />
if [ "$LIGHT" = 1 ] ; then<br />
until [ "$y" = "$z" ] ; do<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 100 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 80 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 80 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 60 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 40 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 40 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
check<br />
if [ "$?" = 1 ] ; then<br />
y=$((y+1))<br />
else<br />
exit 0<br />
fi<br />
done<br />
x=$((x + 1))<br />
else<br />
sleep 60<br />
check<br />
if [ "$?" = 1 ] ; then<br />
x=$((x + 1))<br />
else<br />
exit 0<br />
fi<br />
fi<br />
<br />
done<br />
}<br />
<br />
<br />
if [ ! -f "$SOUND" ] ; then<br />
SOUND=/usr/palm/sounds/alert.wav<br />
fi<br />
<br />
check || play<br />
</nowiki></pre><br />
<br />
== Installation==<br />
<br />
# Copy a .wav file to /media/internal/ringtones/pager.wav (or to the ringtones directory in USB mode).<br />
mkdir -p /opt/scripts<br />
<br />
# Copy the script to /opt/scripts/pager.<br />
chmod +x /opt/scripts/pager<br />
rootfs_open -w<br />
<br />
# Add the following line to /etc/cron/crontabs/root:<br />
<br />
<pre><nowiki><br />
*/5 * * * * /opt/scripts/pager<br />
</nowiki></pre><br />
<br />
Remember to copy a .wav file to /media/internal/ringtones/pager.wav.<br />
<br />
== To Do/Bugs==<br />
<br />
As the message is marked read in the database when it is closed, the sound will continue to play every minute until the messaging app is closed (or until that chat card is closed if you've done the [[stock-application-mods |Create a new card for each conversation]] mod).<br />
<br />
== Acknowledgments==<br />
<br />
Thanks to Sargun for the [[tracking | tracking script]] which inspired the layout of the code, as well as started me looking at the databases.<br />
<br />
This is great thanks!!</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Pager_Nagger&diff=4938Pager Nagger2009-08-30T00:11:46Z<p>Mamouton: /* Acknowledgments */</p>
<hr />
<div>I use my phone as a pager when I'm on-call at work. The Pre's notification tone is ''way'' too short and quiet to wake me up. Here's a script that will nag you by playing a .wav file every minute while you have unread messages. The latest version also vibrates and blinks the LEDs.<br />
<br />
== Prerequisites==<br />
<br />
* [[Portal:Accessing_Linux | Root access]]<br />
* [[Crond | Crond enabled]]<br />
<br />
== Script code==<br />
<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
SOUND=/media/internal/ringtones/pager.wav<br />
LIGHT=1<br />
BUZZ=1<br />
<br />
check() {<br />
cmd='SELECT summary FROM com_palm_messaging_data_ChatThread WHERE unreadCount > 0 AND type = "SMS" AND summary != "";'<br />
output=$(echo $cmd|sqlite3 /var/luna/data/dbdata/PalmDatabase.db3 2> /dev/null) || return 0<br />
if [ -n "$output" ] ; then<br />
return 1<br />
fi<br />
}<br />
<br />
play() {<br />
x=0<br />
until [ "$x" = 4 ] ; do<br />
aplay -q "$SOUND" &<br />
y=1<br />
if [ "$BUZZ" = 1 ] ; then<br />
/usr/bin/luna-send -n 1 palm://com.palm.vibrate/vibrate {\"period\":1,\"duration\":1000\} > /dev/null 2>&1<br />
z=10<br />
else<br />
z=12<br />
fi<br />
if [ "$LIGHT" = 1 ] ; then<br />
until [ "$y" = "$z" ] ; do<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 100 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 80 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 80 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 60 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 40 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 40 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
check<br />
if [ "$?" = 1 ] ; then<br />
y=$((y+1))<br />
else<br />
exit 0<br />
fi<br />
done<br />
x=$((x + 1))<br />
else<br />
sleep 60<br />
check<br />
if [ "$?" = 1 ] ; then<br />
x=$((x + 1))<br />
else<br />
exit 0<br />
fi<br />
fi<br />
<br />
done<br />
}<br />
<br />
<br />
if [ ! -f "$SOUND" ] ; then<br />
SOUND=/usr/palm/sounds/alert.wav<br />
fi<br />
<br />
check || play<br />
</nowiki></pre><br />
<br />
== Installation==<br />
<br />
# Copy a .wav file to /media/internal/ringtones/pager.wav (or to the ringtones directory in USB mode).<br />
mkdir -p /opt/scripts<br />
<br />
# Copy the script to /opt/scripts/pager.<br />
chmod +x /opt/scripts/pager<br />
rootfs_open -w<br />
<br />
# Add the following line to /etc/cron/crontabs/root:<br />
<br />
<pre><nowiki><br />
*/5 * * * * /opt/scripts/pager<br />
</nowiki></pre><br />
<br />
Remember to copy a .wav file to /media/internal/ringtones/pager.wav.<br />
<br />
== To Do/Bugs==<br />
<br />
As the message is marked read in the database when it is closed, the sound will continue to play every minute until the messaging app is closed (or until that chat card is closed if you've done the [[stock-application-mods |Create a new card for each conversation]] mod).<br />
<br />
== Acknowledgments==<br />
<br />
Thanks to Sargun for the [[tracking | tracking script]] which inspired the layout of the code, as well as started me looking at the databases.<br />
<br />
This is great thanks!!<br />
<br />
To get this to work for me I had to make my file say</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Pager_Nagger&diff=4560Pager Nagger2009-08-20T03:18:27Z<p>Mamouton: /* Acknowledgments */</p>
<hr />
<div>I use my phone as a pager when I'm on-call at work. The Pre's notification tone is ''way'' too short and quiet to wake me up. Here's a script that will nag you by playing a .wav file every minute while you have unread messages. The latest version also vibrates and blinks the LEDs.<br />
<br />
== Prerequisites==<br />
<br />
* [[Portal:Accessing_Linux | Root access]]<br />
* [[Crond | Crond enabled]]<br />
<br />
== Script code==<br />
<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
SOUND=/media/internal/ringtones/pager.wav<br />
LIGHT=1<br />
BUZZ=1<br />
<br />
check() {<br />
cmd='SELECT summary FROM com_palm_messaging_data_ChatThread WHERE unreadCount > 0 AND type = "SMS" AND summary != "";'<br />
output=$(echo $cmd|sqlite3 /var/luna/data/dbdata/PalmDatabase.db3 2> /dev/null) || return 0<br />
if [ -n "$output" ] ; then<br />
return 1<br />
fi<br />
}<br />
<br />
play() {<br />
x=0<br />
until [ "$x" = 4 ] ; do<br />
aplay -q "$SOUND" &<br />
y=1<br />
if [ "$BUZZ" = 1 ] ; then<br />
/usr/bin/luna-send -n 1 palm://com.palm.vibrate/vibrate {\"period\":1,\"duration\":1000\} > /dev/null 2>&1<br />
z=10<br />
else<br />
z=12<br />
fi<br />
if [ "$LIGHT" = 1 ] ; then<br />
until [ "$y" = "$z" ] ; do<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 100 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 80 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 80 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 60 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 40 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 40 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
check<br />
if [ "$?" = 1 ] ; then<br />
y=$((y+1))<br />
else<br />
exit 0<br />
fi<br />
done<br />
x=$((x + 1))<br />
else<br />
sleep 60<br />
check<br />
if [ "$?" = 1 ] ; then<br />
x=$((x + 1))<br />
else<br />
exit 0<br />
fi<br />
fi<br />
<br />
done<br />
}<br />
<br />
<br />
if [ ! -f "$SOUND" ] ; then<br />
SOUND=/usr/palm/sounds/alert.wav<br />
fi<br />
<br />
check || play<br />
</nowiki></pre><br />
<br />
== Installation==<br />
<br />
# Copy a .wav file to /media/internal/ringtones/pager.wav (or to the ringtones directory in USB mode).<br />
mkdir -p /opt/scripts<br />
<br />
# Copy the script to /opt/scripts/pager.<br />
chmod +x /opt/scripts/pager<br />
rootfs_open -w<br />
<br />
# Add the following line to /etc/cron/crontabs/root:<br />
<br />
<pre><nowiki><br />
*/5 * * * * /opt/scripts/pager<br />
</nowiki></pre><br />
<br />
Remember to copy a .wav file to /media/internal/ringtones/pager.wav.<br />
<br />
== To Do/Bugs==<br />
<br />
As the message is marked read in the database when it is closed, the sound will continue to play every minute until the messaging app is closed (or until that chat card is closed if you've done the [[stock-application-mods |Create a new card for each conversation]] mod).<br />
<br />
== Acknowledgments==<br />
<br />
Thanks to Sargun for the [[tracking | tracking script]] which inspired the layout of the code, as well as started me looking at the databases.<br />
<br />
This is great thanks!!<br />
<br />
To get this to work for me I had to make my file say<br />
<br />
<br />
* */5 * * * * /opt/scripts/pager/pager.sh<br />
<br />
<br />
*chmod 755 /opt/scripts/pager/pager.sh<br />
<br />
This works fine until the Pre goes to sleep. I don't have a touchstone and don't want to leave the screen on all the time. I need to find a work around. mamouton</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Pager_Nagger&diff=4559Pager Nagger2009-08-20T03:17:38Z<p>Mamouton: /* Acknowledgments */</p>
<hr />
<div>I use my phone as a pager when I'm on-call at work. The Pre's notification tone is ''way'' too short and quiet to wake me up. Here's a script that will nag you by playing a .wav file every minute while you have unread messages. The latest version also vibrates and blinks the LEDs.<br />
<br />
== Prerequisites==<br />
<br />
* [[Portal:Accessing_Linux | Root access]]<br />
* [[Crond | Crond enabled]]<br />
<br />
== Script code==<br />
<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
SOUND=/media/internal/ringtones/pager.wav<br />
LIGHT=1<br />
BUZZ=1<br />
<br />
check() {<br />
cmd='SELECT summary FROM com_palm_messaging_data_ChatThread WHERE unreadCount > 0 AND type = "SMS" AND summary != "";'<br />
output=$(echo $cmd|sqlite3 /var/luna/data/dbdata/PalmDatabase.db3 2> /dev/null) || return 0<br />
if [ -n "$output" ] ; then<br />
return 1<br />
fi<br />
}<br />
<br />
play() {<br />
x=0<br />
until [ "$x" = 4 ] ; do<br />
aplay -q "$SOUND" &<br />
y=1<br />
if [ "$BUZZ" = 1 ] ; then<br />
/usr/bin/luna-send -n 1 palm://com.palm.vibrate/vibrate {\"period\":1,\"duration\":1000\} > /dev/null 2>&1<br />
z=10<br />
else<br />
z=12<br />
fi<br />
if [ "$LIGHT" = 1 ] ; then<br />
until [ "$y" = "$z" ] ; do<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 100 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 80 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 80 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 60 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 40 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 40 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
check<br />
if [ "$?" = 1 ] ; then<br />
y=$((y+1))<br />
else<br />
exit 0<br />
fi<br />
done<br />
x=$((x + 1))<br />
else<br />
sleep 60<br />
check<br />
if [ "$?" = 1 ] ; then<br />
x=$((x + 1))<br />
else<br />
exit 0<br />
fi<br />
fi<br />
<br />
done<br />
}<br />
<br />
<br />
if [ ! -f "$SOUND" ] ; then<br />
SOUND=/usr/palm/sounds/alert.wav<br />
fi<br />
<br />
check || play<br />
</nowiki></pre><br />
<br />
== Installation==<br />
<br />
# Copy a .wav file to /media/internal/ringtones/pager.wav (or to the ringtones directory in USB mode).<br />
mkdir -p /opt/scripts<br />
<br />
# Copy the script to /opt/scripts/pager.<br />
chmod +x /opt/scripts/pager<br />
rootfs_open -w<br />
<br />
# Add the following line to /etc/cron/crontabs/root:<br />
<br />
<pre><nowiki><br />
*/5 * * * * /opt/scripts/pager<br />
</nowiki></pre><br />
<br />
Remember to copy a .wav file to /media/internal/ringtones/pager.wav.<br />
<br />
== To Do/Bugs==<br />
<br />
As the message is marked read in the database when it is closed, the sound will continue to play every minute until the messaging app is closed (or until that chat card is closed if you've done the [[stock-application-mods |Create a new card for each conversation]] mod).<br />
<br />
== Acknowledgments==<br />
<br />
Thanks to Sargun for the [[tracking | tracking script]] which inspired the layout of the code, as well as started me looking at the databases.<br />
<br />
<br />
To get this to work for me I had to make my file say<br />
<br />
<br />
* */5 * * * * /opt/scripts/pager/pager.sh<br />
<br />
<br />
*chmod 755 /opt/scripts/pager/pager.sh<br />
<br />
This works fine until it goes to sleep. I don't have a touchstone and don't want to leave it on all the time. I need to find a work around. mamouton</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Pager_Nagger&diff=4558Pager Nagger2009-08-20T03:17:20Z<p>Mamouton: /* Acknowledgments */</p>
<hr />
<div>I use my phone as a pager when I'm on-call at work. The Pre's notification tone is ''way'' too short and quiet to wake me up. Here's a script that will nag you by playing a .wav file every minute while you have unread messages. The latest version also vibrates and blinks the LEDs.<br />
<br />
== Prerequisites==<br />
<br />
* [[Portal:Accessing_Linux | Root access]]<br />
* [[Crond | Crond enabled]]<br />
<br />
== Script code==<br />
<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
SOUND=/media/internal/ringtones/pager.wav<br />
LIGHT=1<br />
BUZZ=1<br />
<br />
check() {<br />
cmd='SELECT summary FROM com_palm_messaging_data_ChatThread WHERE unreadCount > 0 AND type = "SMS" AND summary != "";'<br />
output=$(echo $cmd|sqlite3 /var/luna/data/dbdata/PalmDatabase.db3 2> /dev/null) || return 0<br />
if [ -n "$output" ] ; then<br />
return 1<br />
fi<br />
}<br />
<br />
play() {<br />
x=0<br />
until [ "$x" = 4 ] ; do<br />
aplay -q "$SOUND" &<br />
y=1<br />
if [ "$BUZZ" = 1 ] ; then<br />
/usr/bin/luna-send -n 1 palm://com.palm.vibrate/vibrate {\"period\":1,\"duration\":1000\} > /dev/null 2>&1<br />
z=10<br />
else<br />
z=12<br />
fi<br />
if [ "$LIGHT" = 1 ] ; then<br />
until [ "$y" = "$z" ] ; do<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 100 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 80 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 80 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 60 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 40 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 40 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
check<br />
if [ "$?" = 1 ] ; then<br />
y=$((y+1))<br />
else<br />
exit 0<br />
fi<br />
done<br />
x=$((x + 1))<br />
else<br />
sleep 60<br />
check<br />
if [ "$?" = 1 ] ; then<br />
x=$((x + 1))<br />
else<br />
exit 0<br />
fi<br />
fi<br />
<br />
done<br />
}<br />
<br />
<br />
if [ ! -f "$SOUND" ] ; then<br />
SOUND=/usr/palm/sounds/alert.wav<br />
fi<br />
<br />
check || play<br />
</nowiki></pre><br />
<br />
== Installation==<br />
<br />
# Copy a .wav file to /media/internal/ringtones/pager.wav (or to the ringtones directory in USB mode).<br />
mkdir -p /opt/scripts<br />
<br />
# Copy the script to /opt/scripts/pager.<br />
chmod +x /opt/scripts/pager<br />
rootfs_open -w<br />
<br />
# Add the following line to /etc/cron/crontabs/root:<br />
<br />
<pre><nowiki><br />
*/5 * * * * /opt/scripts/pager<br />
</nowiki></pre><br />
<br />
Remember to copy a .wav file to /media/internal/ringtones/pager.wav.<br />
<br />
== To Do/Bugs==<br />
<br />
As the message is marked read in the database when it is closed, the sound will continue to play every minute until the messaging app is closed (or until that chat card is closed if you've done the [[stock-application-mods |Create a new card for each conversation]] mod).<br />
<br />
== Acknowledgments==<br />
<br />
Thanks to Sargun for the [[tracking | tracking script]] which inspired the layout of the code, as well as started me looking at the databases.<br />
<br />
<br />
To get this to work for me I had to make my file say<br />
<br />
<br />
*/5 * * * * /opt/scripts/pager/pager.sh<br />
<br />
<br />
*chmod 755 /opt/scripts/pager/pager.sh<br />
<br />
This works fine until it goes to sleep. I don't have a touchstone and don't want to leave it on all the time. I need to find a work around. mamouton</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Pager_Nagger&diff=4557Pager Nagger2009-08-20T03:16:59Z<p>Mamouton: /* Acknowledgments */</p>
<hr />
<div>I use my phone as a pager when I'm on-call at work. The Pre's notification tone is ''way'' too short and quiet to wake me up. Here's a script that will nag you by playing a .wav file every minute while you have unread messages. The latest version also vibrates and blinks the LEDs.<br />
<br />
== Prerequisites==<br />
<br />
* [[Portal:Accessing_Linux | Root access]]<br />
* [[Crond | Crond enabled]]<br />
<br />
== Script code==<br />
<br />
<pre><nowiki><br />
#!/bin/sh<br />
<br />
SOUND=/media/internal/ringtones/pager.wav<br />
LIGHT=1<br />
BUZZ=1<br />
<br />
check() {<br />
cmd='SELECT summary FROM com_palm_messaging_data_ChatThread WHERE unreadCount > 0 AND type = "SMS" AND summary != "";'<br />
output=$(echo $cmd|sqlite3 /var/luna/data/dbdata/PalmDatabase.db3 2> /dev/null) || return 0<br />
if [ -n "$output" ] ; then<br />
return 1<br />
fi<br />
}<br />
<br />
play() {<br />
x=0<br />
until [ "$x" = 4 ] ; do<br />
aplay -q "$SOUND" &<br />
y=1<br />
if [ "$BUZZ" = 1 ] ; then<br />
/usr/bin/luna-send -n 1 palm://com.palm.vibrate/vibrate {\"period\":1,\"duration\":1000\} > /dev/null 2>&1<br />
z=10<br />
else<br />
z=12<br />
fi<br />
if [ "$LIGHT" = 1 ] ; then<br />
until [ "$y" = "$z" ] ; do<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 100 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 80 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 80 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 60 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 40 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 40 >/sys/class/leds/core_navi_right/brightness<br />
sleep 1<br />
echo 00 >/sys/class/leds/core_navi_left/brightness<br />
echo 00 >/sys/class/leds/core_navi_center/brightness<br />
echo 00 >/sys/class/leds/core_navi_right/brightness<br />
check<br />
if [ "$?" = 1 ] ; then<br />
y=$((y+1))<br />
else<br />
exit 0<br />
fi<br />
done<br />
x=$((x + 1))<br />
else<br />
sleep 60<br />
check<br />
if [ "$?" = 1 ] ; then<br />
x=$((x + 1))<br />
else<br />
exit 0<br />
fi<br />
fi<br />
<br />
done<br />
}<br />
<br />
<br />
if [ ! -f "$SOUND" ] ; then<br />
SOUND=/usr/palm/sounds/alert.wav<br />
fi<br />
<br />
check || play<br />
</nowiki></pre><br />
<br />
== Installation==<br />
<br />
# Copy a .wav file to /media/internal/ringtones/pager.wav (or to the ringtones directory in USB mode).<br />
mkdir -p /opt/scripts<br />
<br />
# Copy the script to /opt/scripts/pager.<br />
chmod +x /opt/scripts/pager<br />
rootfs_open -w<br />
<br />
# Add the following line to /etc/cron/crontabs/root:<br />
<br />
<pre><nowiki><br />
*/5 * * * * /opt/scripts/pager<br />
</nowiki></pre><br />
<br />
Remember to copy a .wav file to /media/internal/ringtones/pager.wav.<br />
<br />
== To Do/Bugs==<br />
<br />
As the message is marked read in the database when it is closed, the sound will continue to play every minute until the messaging app is closed (or until that chat card is closed if you've done the [[stock-application-mods |Create a new card for each conversation]] mod).<br />
<br />
== Acknowledgments==<br />
<br />
Thanks to Sargun for the [[tracking | tracking script]] which inspired the layout of the code, as well as started me looking at the databases.<br />
<br />
To get this to work for me I had to make my file say<br />
<br />
<br />
*/5 * * * * /opt/scripts/pager/pager.sh<br />
<br />
<br />
chmod 755 /opt/scripts/pager/pager.sh<br />
<br />
This works fine until it goes to sleep. I don't have a touchstone and don't want to leave it on all the time. I need to find a work around. mamouton</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_webOS_Turning_Off_Dialpad_Noise&diff=4446Patch webOS Turning Off Dialpad Noise2009-08-16T13:47:56Z<p>Mamouton: /* The Change */</p>
<hr />
<div>{{template:patch}}<br />
=== Introduction===<br />
<br />
When dialing on the phone with sound enabled, the phone makes really really loud noises. There are a number of ways to address this. One's first attempt might be to lower the volume on the DTMF mp3s. However, a quick examination of the phone app indicates that these same sounds are played over the phone for touch-tone responsive systems, so mucking with them is not a good idea.<br />
<br />
<br />
=== The Change===<br />
<br />
The key is the TelephoneyCommands.sendDTMF function. It sends a tone over the network, or optionally, just a noise on the speaker (if the second argument is true: it's mapped to a service parameter called "feedBackOnly". In dialpad assistant, simply commenting out these lines stops the noise. This dialpad assistant is by default located in <br />
<br />
First, make a backup of /usr/palm/applications/com.palm.app.phone/app/controllers/dialpad-assistant.js<br />
<pre><br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers<br />
cp dialpad-assistant.js.orig<br />
</pre><br />
<br />
Second, open the dialpad-assistant.js file in your editor (e.g. vi dialpad-assistant.js). I actually find copying the file to /media/internal then opening it on my pc. Once the edits are done, I copy it back to the location on the pre.<br />
<br />
Once you have the file open, search (or scan) for "TelephonyCommands.sendDTMF". There are two instances. At the end of this page are approximate line numbers, but these can change from version to version.<br />
<br />
As is indicated above, you need to comment out the tones. At the beginning of those two lines, add "//" to comment them out.<br />
<br />
That's IT!<br />
<br />
=== Vibrating Feedback ===<br />
My girlfriend and I have debates about who's phone is cooler. The only thing she would have on the plus side was that she had vibrating touch response when dialing. I love that. SO...<br />
<br />
Once you have commented out the SendDTMF lines, add a new line below each and put in:<br />
<pre><br />
// SCOCHANGE<br />
this.controller.serviceRequest("palm://com.palm.vibrate", {<br />
method: 'vibrate', parameters: { 'period': 0,'duration': 250 }<br />
});<br />
// END SCOCHANGE<br />
</pre><br />
<br />
(Note: when I make changes to the OS, to make it easier to find them the next time I add comments around them with my initials and the word change. i.e. SCOCHANGE)<br />
<br />
Save your changes (and if you are editing on your pc, copy back to the pre location) and reboot the phone. <br />
<br />
Tada! No tones and touch feedback when you dial!<br />
<br />
<br />
=== Line Numbers ===<br />
As stated above, your best bet is to search, line numbers are always changing. With that said:<br />
<br />
The approximate lines of interest in dialpad-assistant.js in older versions are:<br />
<br />
Line 509 for the touch screen.<br />
<br />
Line 791 for the keyboard keys.<br />
<br />
(The lines are 634 and 929 with 1.1)<br />
<br />
=== Acknowledgements===<br />
<br />
Thanks to icederror for the mod, writeup by jblebrun</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Email_DeleteAll&diff=4347Patch Email DeleteAll2009-08-14T03:57:02Z<p>Mamouton: </p>
<hr />
<div>{{template:patch}}<br />
This will add a button at the bottom of the screen with a trashcan icon between the Compose and Refresh buttons. Selecting the button will delete all email items in the list after prompting the user for confirmation.<br />
<br />
I am deliberately not using line numbers to minimize the need for updates as new WebOS releases come out.<br />
<br />
Open:<br />
<br />
<pre><nowiki>/usr/palm/applications/com.palm.app.email/app/controllers/list-assistant.js</nowiki></pre><br />
<br />
Find the setup function and modify the cmdMenuModel items, replace the <br />
<br />
<pre><nowiki>{},</nowiki></pre><br />
<br />
with <br />
<br />
<pre><nowiki>{label:$L('Delete All'), icon:'delete', command:'deleteall'},</nowiki></pre><br />
<br />
Find the handleCommand function and add the following case statement:<br />
<br />
<pre><nowiki><br />
case 'deleteall':<br />
this.handleDeleteAll();<br />
break;<br />
</nowiki></pre><br />
<br />
Now add the following three functions:<br />
<br />
<pre><nowiki><br />
handleDeleteAllResponse: function (event) {<br />
//check to see if there are more items to delete.<br />
this.deleteAll();<br />
},<br />
<br />
deleteAll: function(){<br />
<br />
var count = this.emailListElement.mojo.getLength();<br />
<br />
var id;<br />
<br />
if(count > 0) <br />
{ <br />
var item = this.emailListElement.mojo.getNodeByIndex(0); <br />
<br />
if(item !== undefined)<br />
{<br />
id = item.id;<br />
<br />
if(id)<br />
{<br />
this.controller.serviceRequest(Email.identifier, {<br />
method: 'setDeleted',<br />
parameters: {'message':id, 'value': true },<br />
onSuccess: this.handleDeleteAllResponse.bind(this),<br />
onFailure: this.handleDeleteAllResponse.bind(this)<br />
});<br />
}//if(id)<br />
}//if item !== undefined<br />
else<br />
{<br />
//item was undefined probably because it is currently marked for delete<br />
this.deleteAll(); <br />
}<br />
}//count > 0<br />
},<br />
<br />
handleDeleteAll: function (event) {<br />
<br />
var totalCount = 0;<br />
<br />
totalCount = this.emailListElement.mojo.getLength();<br />
<br />
this.controller.showAlertDialog({<br />
onChoose: function(value) {<br />
if(value == 'yes') {<br />
//Delete all items in this folder<br />
this.deleteAll();<br />
}<br />
},<br />
title: '<b>' + $L('Delete All') + '</b>',<br />
message: $L('Are you sure you want to delte all ') + "<b>" + totalCount + "</b>" + $L(' items in this folder?'),<br />
choices: [<br />
{label:$L('Yes'), value:'yes', type:'affirmative'},<br />
{label:$L('No'), value:'no', type:'alert'}<br />
]<br />
});<br />
},<br />
</nowiki></pre><br />
<br />
Is there a way to select a certain number of messages and then delete those versus all those on the page?</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Missed_Dropped_End_Ignored_Call_Sound&diff=3752Patch Phone Disable Missed Dropped End Ignored Call Sound2009-08-04T06:49:15Z<p>Mamouton: Patch Phone Disable Missed Dropped End Ignored Call Sound moved to Patch: Phone Disable-Missed-Dropped-End-Ignored Call Sound</p>
<hr />
<div>#REDIRECT [[Patch: Phone Disable-Missed-Dropped-End-Ignored Call Sound]]</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Various_Call_Sounds&diff=3751Patch Phone Disable Various Call Sounds2009-08-04T06:49:15Z<p>Mamouton: Patch Phone Disable Missed Dropped End Ignored Call Sound moved to Patch: Phone Disable-Missed-Dropped-End-Ignored Call Sound</p>
<hr />
<div>{{template:patch}}<br />
= Disable sound when you miss a call=<br />
<br />
If you're like me, you want to use the alarm clock and hear SMS alerts in case the NOC is on fire, but you don't want some random spam call to wake you up. Even though you turned the ringer volume down, the missed call alert will use the system volume setting and be as loud as your alarm/SMS. How annoying. Here is a very simple trick to make those missed call notifications silent.<br />
<br />
'''First'''<br />
# Gain [[Portal:Accessing_Linux | access to linux]].<br />
<br />
<pre>mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp announcer-assistant.js announcer-assistant.sav<br />
vi announcer-assistant.js</pre><br />
<br />
Look for the following at line 243 (WebOS 1.1)<br />
<pre><br />
soundclass: 'notification'<br />
</pre><br />
change to<br />
<pre><br />
soundclass: 'none'<br />
</pre><br />
<br />
Now, add this same line after line 283 (webOS 1.1). So, change...<br />
<br />
<pre><nowiki><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
},<br />
<br />
</nowiki></pre> to...<pre><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: 'none' <br />
},<br />
</pre><br />
<br />
Now restart the GUI. The luna rescan trick WILL NOT WORK with the phone app. <br />
<br />
<pre><nowiki><br />
initctl stop LunaSysMgr && initctl start LunaSysMgr<br />
</nowiki></pre><br />
<br />
Wait for the GUI to come back and then call your phone. Don't answer it, and then hang up...notice you'll still have your notification but no annoying loud ding.<br />
<br />
Now remount read only<br />
<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
== Notes for coders==<br />
Another way you can mod this is to change the popupalert style stage, which is the 3rd, optional param to createStageWithCallback(). This 3rd param can take a variety of options. So far I've discovered: popupalert, dashboard, card, pin, emergency, activebanner, and banneralert. You can also just leave it blank. I tried them all. Some worked, some didn't. Emergency is probably best left for the 911 functionality. Banneralert, like popupalert will use a sound file by default. Dashboard is the tiny little icon tray that appears at the bottom when you have mail or missed calls. In my mind the best alternative to popupalert with sound off, would be to switch it to dashboard and then you just get a more subtle notification of a missed call. If you use dashboard, you need not add the soundClass param above.<br />
<br />
<br />
=Disable Dropped Call Sound=<br />
<br />
The signal in my office isn't great and due to the Pre's poor tower handling abilities right now (soon to be updated via software, I hope, Palm?) I do get several dropped calls a week. Which is annoying in and of itself but even worse it plays this ridiculous alert tone that taunts you into throwing the phone against the nearest wall, seconds after the call is dropped. I needed this removed ASAP.<br />
<br />
I used the link [http://www.webos-internals.org/wiki/Turn_Off_Missed_Call_Sound Turn Off Missed Call Sound] as a starting point.<br />
<br />
==Procedure==<br />
<br />
1. Gain access to linux, remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for line 743 on WebOS 1.1 - it's not the first occurrence of this line.<br />
<pre><nowiki><br />
QDLogger.log( "announceDisconnectAbnormal"</nowiki></pre> (<br />
<br />
3. A few lines below that it shows:<br />
<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "alerts"</nowiki></pre><br />
<br />
4. Change "alerts" to "none"<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "none"</nowiki></pre><br />
5. Save and quit vi<br><br />
6. I always reboot after every mod<br />
<pre><nowiki><br />
reboot</nowiki></pre><br />
<br />
=Disable Call Ended Sound=<br />
<br />
I have been looking for a way to turn this sound off since day one. I had applied the sound and messaging mod so everytime I ended a call my phone would chime out '''''"You got mail"''''' very irritating. I used this as my starting point. http://www.webos-internals.org/wiki/Patch_Phone_Disable_Missed-Dropped_Call_Sound<br />
<br />
==Procedure==<br />
1. Gain access to http://www.webos-internals.org/wiki/Portal:Accessing_Linux remount as writable and always backup:<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
CD /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for this line (line '''818''' on WebOS 1.1) <pre><nowiki>QDLogger.log( "announceDisconnectNormal"</nowiki></pre><br />
<br />
<br />
<br />
3. A few lines below that (lines 820-823):<br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'</nowiki></pre><br />
<br />
4. Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''</nowiki></pre><br />
<br />
<br />
5. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
6. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
7. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
=Disable Ignored Call Sound=<br />
I had very few missed call or ignored call sound alert due to being on vacation and I was always able to be by my phone. Today was my first day back at work and I missed several calls and had to ignore several calls and that "'''You Got Mail'''" sound got annoying again. Hence my quest to disable the ignored call sound.<br />
<br />
==Procedure==<br />
<br />
1. If you are here I assumed you have already rooted your Pre.<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Depending on the mods you have done around (line '''394-403''' on WebOS 1.1) you will see the the following, ''your lines may vary depending on your previous mods:''<br />
<pre><nowiki>var message = Messages.callIgnoredBanner;<br />
<br />
message = new Template(message).evaluate({"contact":caller});<br />
<br />
// turn display on<br />
TelephonyCommands.displayOn();<br />
<br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'<br />
}, <br />
</nowiki></pre><br />
<br />
<br />
3.Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''<br />
},<br />
</nowiki></pre><br />
<br />
<br />
4. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
<br />
5. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
<br />
6. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
=Notes=<br />
<br />
'''**(Do not delete the word message in above statement your phone will keep rebooting)**'''<br />
This will not remove the message being shown.<br />
<br />
Confirmed by Webby_S at PreCentral<br />
<br />
<br />
http://forums.precentral.net/showthread.php?p=1796242&posted=1#post1796242</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Missed-Dropped-Ended-Ignored_Call_Sound&diff=3750Patch Phone Disable Missed-Dropped-Ended-Ignored Call Sound2009-08-04T06:48:29Z<p>Mamouton: Patch Phone Disable Missed-Dropped-Ended-Ignored Call Sound moved to Patch Phone Disable Missed Dropped End Ignored Call Sound</p>
<hr />
<div>#REDIRECT [[Patch Phone Disable Missed Dropped End Ignored Call Sound]]</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Various_Call_Sounds&diff=3749Patch Phone Disable Various Call Sounds2009-08-04T06:48:29Z<p>Mamouton: Patch Phone Disable Missed-Dropped-Ended-Ignored Call Sound moved to Patch Phone Disable Missed Dropped End Ignored Call Sound</p>
<hr />
<div>{{template:patch}}<br />
= Disable sound when you miss a call=<br />
<br />
If you're like me, you want to use the alarm clock and hear SMS alerts in case the NOC is on fire, but you don't want some random spam call to wake you up. Even though you turned the ringer volume down, the missed call alert will use the system volume setting and be as loud as your alarm/SMS. How annoying. Here is a very simple trick to make those missed call notifications silent.<br />
<br />
'''First'''<br />
# Gain [[Portal:Accessing_Linux | access to linux]].<br />
<br />
<pre>mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp announcer-assistant.js announcer-assistant.sav<br />
vi announcer-assistant.js</pre><br />
<br />
Look for the following at line 243 (WebOS 1.1)<br />
<pre><br />
soundclass: 'notification'<br />
</pre><br />
change to<br />
<pre><br />
soundclass: 'none'<br />
</pre><br />
<br />
Now, add this same line after line 283 (webOS 1.1). So, change...<br />
<br />
<pre><nowiki><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
},<br />
<br />
</nowiki></pre> to...<pre><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: 'none' <br />
},<br />
</pre><br />
<br />
Now restart the GUI. The luna rescan trick WILL NOT WORK with the phone app. <br />
<br />
<pre><nowiki><br />
initctl stop LunaSysMgr && initctl start LunaSysMgr<br />
</nowiki></pre><br />
<br />
Wait for the GUI to come back and then call your phone. Don't answer it, and then hang up...notice you'll still have your notification but no annoying loud ding.<br />
<br />
Now remount read only<br />
<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
== Notes for coders==<br />
Another way you can mod this is to change the popupalert style stage, which is the 3rd, optional param to createStageWithCallback(). This 3rd param can take a variety of options. So far I've discovered: popupalert, dashboard, card, pin, emergency, activebanner, and banneralert. You can also just leave it blank. I tried them all. Some worked, some didn't. Emergency is probably best left for the 911 functionality. Banneralert, like popupalert will use a sound file by default. Dashboard is the tiny little icon tray that appears at the bottom when you have mail or missed calls. In my mind the best alternative to popupalert with sound off, would be to switch it to dashboard and then you just get a more subtle notification of a missed call. If you use dashboard, you need not add the soundClass param above.<br />
<br />
<br />
=Disable Dropped Call Sound=<br />
<br />
The signal in my office isn't great and due to the Pre's poor tower handling abilities right now (soon to be updated via software, I hope, Palm?) I do get several dropped calls a week. Which is annoying in and of itself but even worse it plays this ridiculous alert tone that taunts you into throwing the phone against the nearest wall, seconds after the call is dropped. I needed this removed ASAP.<br />
<br />
I used the link [http://www.webos-internals.org/wiki/Turn_Off_Missed_Call_Sound Turn Off Missed Call Sound] as a starting point.<br />
<br />
==Procedure==<br />
<br />
1. Gain access to linux, remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for line 743 on WebOS 1.1 - it's not the first occurrence of this line.<br />
<pre><nowiki><br />
QDLogger.log( "announceDisconnectAbnormal"</nowiki></pre> (<br />
<br />
3. A few lines below that it shows:<br />
<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "alerts"</nowiki></pre><br />
<br />
4. Change "alerts" to "none"<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "none"</nowiki></pre><br />
5. Save and quit vi<br><br />
6. I always reboot after every mod<br />
<pre><nowiki><br />
reboot</nowiki></pre><br />
<br />
=Disable Call Ended Sound=<br />
<br />
I have been looking for a way to turn this sound off since day one. I had applied the sound and messaging mod so everytime I ended a call my phone would chime out '''''"You got mail"''''' very irritating. I used this as my starting point. http://www.webos-internals.org/wiki/Patch_Phone_Disable_Missed-Dropped_Call_Sound<br />
<br />
==Procedure==<br />
1. Gain access to http://www.webos-internals.org/wiki/Portal:Accessing_Linux remount as writable and always backup:<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
CD /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for this line (line '''818''' on WebOS 1.1) <pre><nowiki>QDLogger.log( "announceDisconnectNormal"</nowiki></pre><br />
<br />
<br />
<br />
3. A few lines below that (lines 820-823):<br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'</nowiki></pre><br />
<br />
4. Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''</nowiki></pre><br />
<br />
<br />
5. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
6. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
7. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
=Disable Ignored Call Sound=<br />
I had very few missed call or ignored call sound alert due to being on vacation and I was always able to be by my phone. Today was my first day back at work and I missed several calls and had to ignore several calls and that "'''You Got Mail'''" sound got annoying again. Hence my quest to disable the ignored call sound.<br />
<br />
==Procedure==<br />
<br />
1. If you are here I assumed you have already rooted your Pre.<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Depending on the mods you have done around (line '''394-403''' on WebOS 1.1) you will see the the following, ''your lines may vary depending on your previous mods:''<br />
<pre><nowiki>var message = Messages.callIgnoredBanner;<br />
<br />
message = new Template(message).evaluate({"contact":caller});<br />
<br />
// turn display on<br />
TelephonyCommands.displayOn();<br />
<br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'<br />
}, <br />
</nowiki></pre><br />
<br />
<br />
3.Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''<br />
},<br />
</nowiki></pre><br />
<br />
<br />
4. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
<br />
5. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
<br />
6. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
=Notes=<br />
<br />
'''**(Do not delete the word message in above statement your phone will keep rebooting)**'''<br />
This will not remove the message being shown.<br />
<br />
Confirmed by Webby_S at PreCentral<br />
<br />
<br />
http://forums.precentral.net/showthread.php?p=1796242&posted=1#post1796242</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Various_Call_Sounds&diff=3748Patch Phone Disable Various Call Sounds2009-08-04T06:44:57Z<p>Mamouton: /* Notes */</p>
<hr />
<div>{{template:patch}}<br />
= Disable sound when you miss a call=<br />
<br />
If you're like me, you want to use the alarm clock and hear SMS alerts in case the NOC is on fire, but you don't want some random spam call to wake you up. Even though you turned the ringer volume down, the missed call alert will use the system volume setting and be as loud as your alarm/SMS. How annoying. Here is a very simple trick to make those missed call notifications silent.<br />
<br />
'''First'''<br />
# Gain [[Portal:Accessing_Linux | access to linux]].<br />
<br />
<pre>mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp announcer-assistant.js announcer-assistant.sav<br />
vi announcer-assistant.js</pre><br />
<br />
Look for the following at line 243 (WebOS 1.1)<br />
<pre><br />
soundclass: 'notification'<br />
</pre><br />
change to<br />
<pre><br />
soundclass: 'none'<br />
</pre><br />
<br />
Now, add this same line after line 283 (webOS 1.1). So, change...<br />
<br />
<pre><nowiki><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
},<br />
<br />
</nowiki></pre> to...<pre><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: 'none' <br />
},<br />
</pre><br />
<br />
Now restart the GUI. The luna rescan trick WILL NOT WORK with the phone app. <br />
<br />
<pre><nowiki><br />
initctl stop LunaSysMgr && initctl start LunaSysMgr<br />
</nowiki></pre><br />
<br />
Wait for the GUI to come back and then call your phone. Don't answer it, and then hang up...notice you'll still have your notification but no annoying loud ding.<br />
<br />
Now remount read only<br />
<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
== Notes for coders==<br />
Another way you can mod this is to change the popupalert style stage, which is the 3rd, optional param to createStageWithCallback(). This 3rd param can take a variety of options. So far I've discovered: popupalert, dashboard, card, pin, emergency, activebanner, and banneralert. You can also just leave it blank. I tried them all. Some worked, some didn't. Emergency is probably best left for the 911 functionality. Banneralert, like popupalert will use a sound file by default. Dashboard is the tiny little icon tray that appears at the bottom when you have mail or missed calls. In my mind the best alternative to popupalert with sound off, would be to switch it to dashboard and then you just get a more subtle notification of a missed call. If you use dashboard, you need not add the soundClass param above.<br />
<br />
<br />
=Disable Dropped Call Sound=<br />
<br />
The signal in my office isn't great and due to the Pre's poor tower handling abilities right now (soon to be updated via software, I hope, Palm?) I do get several dropped calls a week. Which is annoying in and of itself but even worse it plays this ridiculous alert tone that taunts you into throwing the phone against the nearest wall, seconds after the call is dropped. I needed this removed ASAP.<br />
<br />
I used the link [http://www.webos-internals.org/wiki/Turn_Off_Missed_Call_Sound Turn Off Missed Call Sound] as a starting point.<br />
<br />
==Procedure==<br />
<br />
1. Gain access to linux, remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for line 743 on WebOS 1.1 - it's not the first occurrence of this line.<br />
<pre><nowiki><br />
QDLogger.log( "announceDisconnectAbnormal"</nowiki></pre> (<br />
<br />
3. A few lines below that it shows:<br />
<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "alerts"</nowiki></pre><br />
<br />
4. Change "alerts" to "none"<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "none"</nowiki></pre><br />
5. Save and quit vi<br><br />
6. I always reboot after every mod<br />
<pre><nowiki><br />
reboot</nowiki></pre><br />
<br />
=Disable Call Ended Sound=<br />
<br />
I have been looking for a way to turn this sound off since day one. I had applied the sound and messaging mod so everytime I ended a call my phone would chime out '''''"You got mail"''''' very irritating. I used this as my starting point. http://www.webos-internals.org/wiki/Patch_Phone_Disable_Missed-Dropped_Call_Sound<br />
<br />
==Procedure==<br />
1. Gain access to http://www.webos-internals.org/wiki/Portal:Accessing_Linux remount as writable and always backup:<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
CD /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for this line (line '''818''' on WebOS 1.1) <pre><nowiki>QDLogger.log( "announceDisconnectNormal"</nowiki></pre><br />
<br />
<br />
<br />
3. A few lines below that (lines 820-823):<br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'</nowiki></pre><br />
<br />
4. Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''</nowiki></pre><br />
<br />
<br />
5. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
6. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
7. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
=Disable Ignored Call Sound=<br />
I had very few missed call or ignored call sound alert due to being on vacation and I was always able to be by my phone. Today was my first day back at work and I missed several calls and had to ignore several calls and that "'''You Got Mail'''" sound got annoying again. Hence my quest to disable the ignored call sound.<br />
<br />
==Procedure==<br />
<br />
1. If you are here I assumed you have already rooted your Pre.<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Depending on the mods you have done around (line '''394-403''' on WebOS 1.1) you will see the the following, ''your lines may vary depending on your previous mods:''<br />
<pre><nowiki>var message = Messages.callIgnoredBanner;<br />
<br />
message = new Template(message).evaluate({"contact":caller});<br />
<br />
// turn display on<br />
TelephonyCommands.displayOn();<br />
<br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'<br />
}, <br />
</nowiki></pre><br />
<br />
<br />
3.Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''<br />
},<br />
</nowiki></pre><br />
<br />
<br />
4. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
<br />
5. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
<br />
6. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
=Notes=<br />
<br />
'''**(Do not delete the word message in above statement your phone will keep rebooting)**'''<br />
This will not remove the message being shown.<br />
<br />
Confirmed by Webby_S at PreCentral<br />
<br />
<br />
http://forums.precentral.net/showthread.php?p=1796242&posted=1#post1796242</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Various_Call_Sounds&diff=3747Patch Phone Disable Various Call Sounds2009-08-04T06:43:58Z<p>Mamouton: /* Disable Ignored Call Sound */</p>
<hr />
<div>{{template:patch}}<br />
= Disable sound when you miss a call=<br />
<br />
If you're like me, you want to use the alarm clock and hear SMS alerts in case the NOC is on fire, but you don't want some random spam call to wake you up. Even though you turned the ringer volume down, the missed call alert will use the system volume setting and be as loud as your alarm/SMS. How annoying. Here is a very simple trick to make those missed call notifications silent.<br />
<br />
'''First'''<br />
# Gain [[Portal:Accessing_Linux | access to linux]].<br />
<br />
<pre>mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp announcer-assistant.js announcer-assistant.sav<br />
vi announcer-assistant.js</pre><br />
<br />
Look for the following at line 243 (WebOS 1.1)<br />
<pre><br />
soundclass: 'notification'<br />
</pre><br />
change to<br />
<pre><br />
soundclass: 'none'<br />
</pre><br />
<br />
Now, add this same line after line 283 (webOS 1.1). So, change...<br />
<br />
<pre><nowiki><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
},<br />
<br />
</nowiki></pre> to...<pre><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: 'none' <br />
},<br />
</pre><br />
<br />
Now restart the GUI. The luna rescan trick WILL NOT WORK with the phone app. <br />
<br />
<pre><nowiki><br />
initctl stop LunaSysMgr && initctl start LunaSysMgr<br />
</nowiki></pre><br />
<br />
Wait for the GUI to come back and then call your phone. Don't answer it, and then hang up...notice you'll still have your notification but no annoying loud ding.<br />
<br />
Now remount read only<br />
<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
== Notes for coders==<br />
Another way you can mod this is to change the popupalert style stage, which is the 3rd, optional param to createStageWithCallback(). This 3rd param can take a variety of options. So far I've discovered: popupalert, dashboard, card, pin, emergency, activebanner, and banneralert. You can also just leave it blank. I tried them all. Some worked, some didn't. Emergency is probably best left for the 911 functionality. Banneralert, like popupalert will use a sound file by default. Dashboard is the tiny little icon tray that appears at the bottom when you have mail or missed calls. In my mind the best alternative to popupalert with sound off, would be to switch it to dashboard and then you just get a more subtle notification of a missed call. If you use dashboard, you need not add the soundClass param above.<br />
<br />
<br />
=Disable Dropped Call Sound=<br />
<br />
The signal in my office isn't great and due to the Pre's poor tower handling abilities right now (soon to be updated via software, I hope, Palm?) I do get several dropped calls a week. Which is annoying in and of itself but even worse it plays this ridiculous alert tone that taunts you into throwing the phone against the nearest wall, seconds after the call is dropped. I needed this removed ASAP.<br />
<br />
I used the link [http://www.webos-internals.org/wiki/Turn_Off_Missed_Call_Sound Turn Off Missed Call Sound] as a starting point.<br />
<br />
==Procedure==<br />
<br />
1. Gain access to linux, remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for line 743 on WebOS 1.1 - it's not the first occurrence of this line.<br />
<pre><nowiki><br />
QDLogger.log( "announceDisconnectAbnormal"</nowiki></pre> (<br />
<br />
3. A few lines below that it shows:<br />
<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "alerts"</nowiki></pre><br />
<br />
4. Change "alerts" to "none"<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "none"</nowiki></pre><br />
5. Save and quit vi<br><br />
6. I always reboot after every mod<br />
<pre><nowiki><br />
reboot</nowiki></pre><br />
<br />
=Disable Call Ended Sound=<br />
<br />
I have been looking for a way to turn this sound off since day one. I had applied the sound and messaging mod so everytime I ended a call my phone would chime out '''''"You got mail"''''' very irritating. I used this as my starting point. http://www.webos-internals.org/wiki/Patch_Phone_Disable_Missed-Dropped_Call_Sound<br />
<br />
==Procedure==<br />
1. Gain access to http://www.webos-internals.org/wiki/Portal:Accessing_Linux remount as writable and always backup:<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
CD /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for this line (line '''818''' on WebOS 1.1) <pre><nowiki>QDLogger.log( "announceDisconnectNormal"</nowiki></pre><br />
<br />
<br />
<br />
3. A few lines below that (lines 820-823):<br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'</nowiki></pre><br />
<br />
4. Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''</nowiki></pre><br />
<br />
<br />
5. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
6. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
7. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
=Disable Ignored Call Sound=<br />
I had very few missed call or ignored call sound alert due to being on vacation and I was always able to be by my phone. Today was my first day back at work and I missed several calls and had to ignore several calls and that "'''You Got Mail'''" sound got annoying again. Hence my quest to disable the ignored call sound.<br />
<br />
==Procedure==<br />
<br />
1. If you are here I assumed you have already rooted your Pre.<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Depending on the mods you have done around (line '''394-403''' on WebOS 1.1) you will see the the following, ''your lines may vary depending on your previous mods:''<br />
<pre><nowiki>var message = Messages.callIgnoredBanner;<br />
<br />
message = new Template(message).evaluate({"contact":caller});<br />
<br />
// turn display on<br />
TelephonyCommands.displayOn();<br />
<br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'<br />
}, <br />
</nowiki></pre><br />
<br />
<br />
3.Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''<br />
},<br />
</nowiki></pre><br />
<br />
<br />
4. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
<br />
5. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
<br />
6. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Notes==<br />
<br />
'''**(Do not delete the word message in above statement your phone will keep rebooting)**'''<br />
This will not remove the message being shown.<br />
<br />
Confirmed by Webby_S at PreCentral<br />
<br />
<br />
http://forums.precentral.net/showthread.php?p=1796242&posted=1#post1796242</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Missed-Dropped-Ended_Call_Sound&diff=3746Patch Phone Disable Missed-Dropped-Ended Call Sound2009-08-04T06:43:05Z<p>Mamouton: Patch Phone Disable Missed-Dropped-Ended Call Sound moved to Patch Phone Disable Missed-Dropped-Ended-Ignored Call Sound</p>
<hr />
<div>#REDIRECT [[Patch Phone Disable Missed-Dropped-Ended-Ignored Call Sound]]</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Various_Call_Sounds&diff=3745Patch Phone Disable Various Call Sounds2009-08-04T06:43:05Z<p>Mamouton: Patch Phone Disable Missed-Dropped-Ended Call Sound moved to Patch Phone Disable Missed-Dropped-Ended-Ignored Call Sound</p>
<hr />
<div>{{template:patch}}<br />
= Disable sound when you miss a call=<br />
<br />
If you're like me, you want to use the alarm clock and hear SMS alerts in case the NOC is on fire, but you don't want some random spam call to wake you up. Even though you turned the ringer volume down, the missed call alert will use the system volume setting and be as loud as your alarm/SMS. How annoying. Here is a very simple trick to make those missed call notifications silent.<br />
<br />
'''First'''<br />
# Gain [[Portal:Accessing_Linux | access to linux]].<br />
<br />
<pre>mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp announcer-assistant.js announcer-assistant.sav<br />
vi announcer-assistant.js</pre><br />
<br />
Look for the following at line 243 (WebOS 1.1)<br />
<pre><br />
soundclass: 'notification'<br />
</pre><br />
change to<br />
<pre><br />
soundclass: 'none'<br />
</pre><br />
<br />
Now, add this same line after line 283 (webOS 1.1). So, change...<br />
<br />
<pre><nowiki><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
},<br />
<br />
</nowiki></pre> to...<pre><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: 'none' <br />
},<br />
</pre><br />
<br />
Now restart the GUI. The luna rescan trick WILL NOT WORK with the phone app. <br />
<br />
<pre><nowiki><br />
initctl stop LunaSysMgr && initctl start LunaSysMgr<br />
</nowiki></pre><br />
<br />
Wait for the GUI to come back and then call your phone. Don't answer it, and then hang up...notice you'll still have your notification but no annoying loud ding.<br />
<br />
Now remount read only<br />
<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
== Notes for coders==<br />
Another way you can mod this is to change the popupalert style stage, which is the 3rd, optional param to createStageWithCallback(). This 3rd param can take a variety of options. So far I've discovered: popupalert, dashboard, card, pin, emergency, activebanner, and banneralert. You can also just leave it blank. I tried them all. Some worked, some didn't. Emergency is probably best left for the 911 functionality. Banneralert, like popupalert will use a sound file by default. Dashboard is the tiny little icon tray that appears at the bottom when you have mail or missed calls. In my mind the best alternative to popupalert with sound off, would be to switch it to dashboard and then you just get a more subtle notification of a missed call. If you use dashboard, you need not add the soundClass param above.<br />
<br />
<br />
=Disable Dropped Call Sound=<br />
<br />
The signal in my office isn't great and due to the Pre's poor tower handling abilities right now (soon to be updated via software, I hope, Palm?) I do get several dropped calls a week. Which is annoying in and of itself but even worse it plays this ridiculous alert tone that taunts you into throwing the phone against the nearest wall, seconds after the call is dropped. I needed this removed ASAP.<br />
<br />
I used the link [http://www.webos-internals.org/wiki/Turn_Off_Missed_Call_Sound Turn Off Missed Call Sound] as a starting point.<br />
<br />
==Procedure==<br />
<br />
1. Gain access to linux, remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for line 743 on WebOS 1.1 - it's not the first occurrence of this line.<br />
<pre><nowiki><br />
QDLogger.log( "announceDisconnectAbnormal"</nowiki></pre> (<br />
<br />
3. A few lines below that it shows:<br />
<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "alerts"</nowiki></pre><br />
<br />
4. Change "alerts" to "none"<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "none"</nowiki></pre><br />
5. Save and quit vi<br><br />
6. I always reboot after every mod<br />
<pre><nowiki><br />
reboot</nowiki></pre><br />
<br />
=Disable Call Ended Sound=<br />
<br />
I have been looking for a way to turn this sound off since day one. I had applied the sound and messaging mod so everytime I ended a call my phone would chime out '''''"You got mail"''''' very irritating. I used this as my starting point. http://www.webos-internals.org/wiki/Patch_Phone_Disable_Missed-Dropped_Call_Sound<br />
<br />
==Procedure==<br />
1. Gain access to http://www.webos-internals.org/wiki/Portal:Accessing_Linux remount as writable and always backup:<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
CD /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for this line (line '''818''' on WebOS 1.1) <pre><nowiki>QDLogger.log( "announceDisconnectNormal"</nowiki></pre><br />
<br />
<br />
<br />
3. A few lines below that (lines 820-823):<br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'</nowiki></pre><br />
<br />
4. Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''</nowiki></pre><br />
<br />
<br />
5. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
6. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
7. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Disable Ignored Call Sound==<br />
I had very few missed call or ignored call sound alert due to being on vacation and I was always able to be by my phone. Today was my first day back at work and I missed several calls and had to ignore several calls and that "'''You Got Mail'''" sound got annoying again. Hence my quest to disable the ignored call sound.<br />
<br />
==Procedure==<br />
<br />
1. If you are here I assumed you have already rooted your Pre.<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Depending on the mods you have done around (line '''394-403''' on WebOS 1.1) you will see the the following, ''your lines may vary depending on your previous mods:''<br />
<pre><nowiki>var message = Messages.callIgnoredBanner;<br />
<br />
message = new Template(message).evaluate({"contact":caller});<br />
<br />
// turn display on<br />
TelephonyCommands.displayOn();<br />
<br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'<br />
}, <br />
</nowiki></pre><br />
<br />
<br />
3.Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''<br />
},<br />
</nowiki></pre><br />
<br />
<br />
4. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
<br />
5. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
<br />
6. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Notes==<br />
<br />
'''**(Do not delete the word message in above statement your phone will keep rebooting)**'''<br />
This will not remove the message being shown.<br />
<br />
Confirmed by Webby_S at PreCentral<br />
<br />
<br />
http://forums.precentral.net/showthread.php?p=1796242&posted=1#post1796242</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Various_Call_Sounds&diff=3744Patch Phone Disable Various Call Sounds2009-08-04T06:42:01Z<p>Mamouton: /* Procedure */</p>
<hr />
<div>{{template:patch}}<br />
= Disable sound when you miss a call=<br />
<br />
If you're like me, you want to use the alarm clock and hear SMS alerts in case the NOC is on fire, but you don't want some random spam call to wake you up. Even though you turned the ringer volume down, the missed call alert will use the system volume setting and be as loud as your alarm/SMS. How annoying. Here is a very simple trick to make those missed call notifications silent.<br />
<br />
'''First'''<br />
# Gain [[Portal:Accessing_Linux | access to linux]].<br />
<br />
<pre>mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp announcer-assistant.js announcer-assistant.sav<br />
vi announcer-assistant.js</pre><br />
<br />
Look for the following at line 243 (WebOS 1.1)<br />
<pre><br />
soundclass: 'notification'<br />
</pre><br />
change to<br />
<pre><br />
soundclass: 'none'<br />
</pre><br />
<br />
Now, add this same line after line 283 (webOS 1.1). So, change...<br />
<br />
<pre><nowiki><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
},<br />
<br />
</nowiki></pre> to...<pre><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: 'none' <br />
},<br />
</pre><br />
<br />
Now restart the GUI. The luna rescan trick WILL NOT WORK with the phone app. <br />
<br />
<pre><nowiki><br />
initctl stop LunaSysMgr && initctl start LunaSysMgr<br />
</nowiki></pre><br />
<br />
Wait for the GUI to come back and then call your phone. Don't answer it, and then hang up...notice you'll still have your notification but no annoying loud ding.<br />
<br />
Now remount read only<br />
<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
== Notes for coders==<br />
Another way you can mod this is to change the popupalert style stage, which is the 3rd, optional param to createStageWithCallback(). This 3rd param can take a variety of options. So far I've discovered: popupalert, dashboard, card, pin, emergency, activebanner, and banneralert. You can also just leave it blank. I tried them all. Some worked, some didn't. Emergency is probably best left for the 911 functionality. Banneralert, like popupalert will use a sound file by default. Dashboard is the tiny little icon tray that appears at the bottom when you have mail or missed calls. In my mind the best alternative to popupalert with sound off, would be to switch it to dashboard and then you just get a more subtle notification of a missed call. If you use dashboard, you need not add the soundClass param above.<br />
<br />
<br />
=Disable Dropped Call Sound=<br />
<br />
The signal in my office isn't great and due to the Pre's poor tower handling abilities right now (soon to be updated via software, I hope, Palm?) I do get several dropped calls a week. Which is annoying in and of itself but even worse it plays this ridiculous alert tone that taunts you into throwing the phone against the nearest wall, seconds after the call is dropped. I needed this removed ASAP.<br />
<br />
I used the link [http://www.webos-internals.org/wiki/Turn_Off_Missed_Call_Sound Turn Off Missed Call Sound] as a starting point.<br />
<br />
==Procedure==<br />
<br />
1. Gain access to linux, remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for line 743 on WebOS 1.1 - it's not the first occurrence of this line.<br />
<pre><nowiki><br />
QDLogger.log( "announceDisconnectAbnormal"</nowiki></pre> (<br />
<br />
3. A few lines below that it shows:<br />
<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "alerts"</nowiki></pre><br />
<br />
4. Change "alerts" to "none"<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "none"</nowiki></pre><br />
5. Save and quit vi<br><br />
6. I always reboot after every mod<br />
<pre><nowiki><br />
reboot</nowiki></pre><br />
<br />
=Disable Call Ended Sound=<br />
<br />
I have been looking for a way to turn this sound off since day one. I had applied the sound and messaging mod so everytime I ended a call my phone would chime out '''''"You got mail"''''' very irritating. I used this as my starting point. http://www.webos-internals.org/wiki/Patch_Phone_Disable_Missed-Dropped_Call_Sound<br />
<br />
==Procedure==<br />
1. Gain access to http://www.webos-internals.org/wiki/Portal:Accessing_Linux remount as writable and always backup:<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
CD /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for this line (line '''818''' on WebOS 1.1) <pre><nowiki>QDLogger.log( "announceDisconnectNormal"</nowiki></pre><br />
<br />
<br />
<br />
3. A few lines below that (lines 820-823):<br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'</nowiki></pre><br />
<br />
4. Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''</nowiki></pre><br />
<br />
<br />
5. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
6. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
7. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Disable Ignored Call Sound==<br />
I had very few missed call or ignored call sound alert due to being on vacation and I was always able to be by my phone. Today was my first day back at work and I missed several calls and had to ignore several calls and that "'''You Got Mail'''" sound got annoying again. Hence my quest to disable the ignored call sound.<br />
<br />
==Procedure==<br />
<br />
1. If you are here I assumed you have already rooted your Pre.<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Depending on the mods you have done around (line '''394-403''' on WebOS 1.1) you will see the the following, ''your lines may vary depending on your previous mods:''<br />
<pre><nowiki>var message = Messages.callIgnoredBanner;<br />
<br />
message = new Template(message).evaluate({"contact":caller});<br />
<br />
// turn display on<br />
TelephonyCommands.displayOn();<br />
<br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'<br />
}, <br />
</nowiki></pre><br />
<br />
<br />
3.Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''<br />
},<br />
</nowiki></pre><br />
<br />
<br />
4. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
<br />
5. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
<br />
6. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Notes==<br />
<br />
'''**(Do not delete the word message in above statement your phone will keep rebooting)**'''<br />
This will not remove the message being shown.<br />
<br />
Confirmed by Webby_S at PreCentral<br />
<br />
<br />
http://forums.precentral.net/showthread.php?p=1796242&posted=1#post1796242</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Various_Call_Sounds&diff=3743Patch Phone Disable Various Call Sounds2009-08-04T06:40:15Z<p>Mamouton: /* Procedure */</p>
<hr />
<div>{{template:patch}}<br />
= Disable sound when you miss a call=<br />
<br />
If you're like me, you want to use the alarm clock and hear SMS alerts in case the NOC is on fire, but you don't want some random spam call to wake you up. Even though you turned the ringer volume down, the missed call alert will use the system volume setting and be as loud as your alarm/SMS. How annoying. Here is a very simple trick to make those missed call notifications silent.<br />
<br />
'''First'''<br />
# Gain [[Portal:Accessing_Linux | access to linux]].<br />
<br />
<pre>mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp announcer-assistant.js announcer-assistant.sav<br />
vi announcer-assistant.js</pre><br />
<br />
Look for the following at line 243 (WebOS 1.1)<br />
<pre><br />
soundclass: 'notification'<br />
</pre><br />
change to<br />
<pre><br />
soundclass: 'none'<br />
</pre><br />
<br />
Now, add this same line after line 283 (webOS 1.1). So, change...<br />
<br />
<pre><nowiki><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
},<br />
<br />
</nowiki></pre> to...<pre><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: 'none' <br />
},<br />
</pre><br />
<br />
Now restart the GUI. The luna rescan trick WILL NOT WORK with the phone app. <br />
<br />
<pre><nowiki><br />
initctl stop LunaSysMgr && initctl start LunaSysMgr<br />
</nowiki></pre><br />
<br />
Wait for the GUI to come back and then call your phone. Don't answer it, and then hang up...notice you'll still have your notification but no annoying loud ding.<br />
<br />
Now remount read only<br />
<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
== Notes for coders==<br />
Another way you can mod this is to change the popupalert style stage, which is the 3rd, optional param to createStageWithCallback(). This 3rd param can take a variety of options. So far I've discovered: popupalert, dashboard, card, pin, emergency, activebanner, and banneralert. You can also just leave it blank. I tried them all. Some worked, some didn't. Emergency is probably best left for the 911 functionality. Banneralert, like popupalert will use a sound file by default. Dashboard is the tiny little icon tray that appears at the bottom when you have mail or missed calls. In my mind the best alternative to popupalert with sound off, would be to switch it to dashboard and then you just get a more subtle notification of a missed call. If you use dashboard, you need not add the soundClass param above.<br />
<br />
<br />
=Disable Dropped Call Sound=<br />
<br />
The signal in my office isn't great and due to the Pre's poor tower handling abilities right now (soon to be updated via software, I hope, Palm?) I do get several dropped calls a week. Which is annoying in and of itself but even worse it plays this ridiculous alert tone that taunts you into throwing the phone against the nearest wall, seconds after the call is dropped. I needed this removed ASAP.<br />
<br />
I used the link [http://www.webos-internals.org/wiki/Turn_Off_Missed_Call_Sound Turn Off Missed Call Sound] as a starting point.<br />
<br />
==Procedure==<br />
<br />
1. Gain access to linux, remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
2. Look for this line QDLogger.log( "announceDisconnectAbnormal" (line 743 on WebOS 1.1 - it's not the first occurrence of this line.<br />
<br />
3. A few lines below that it shows:<br />
<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "alerts"</nowiki></pre><br />
<br />
4. Change "alerts" to "none"<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "none"</nowiki></pre><br />
5. Save and quit vi<br><br />
6. I always reboot after every mod<br />
<pre><nowiki><br />
reboot</nowiki></pre><br />
<br />
=Disable Call Ended Sound=<br />
<br />
I have been looking for a way to turn this sound off since day one. I had applied the sound and messaging mod so everytime I ended a call my phone would chime out '''''"You got mail"''''' very irritating. I used this as my starting point. http://www.webos-internals.org/wiki/Patch_Phone_Disable_Missed-Dropped_Call_Sound<br />
<br />
==Procedure==<br />
1. Gain access to http://www.webos-internals.org/wiki/Portal:Accessing_Linux remount as writable and always backup:<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
CD /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for this line (line '''818''' on WebOS 1.1) <pre><nowiki>QDLogger.log( "announceDisconnectNormal"</nowiki></pre><br />
<br />
<br />
<br />
3. A few lines below that (lines 820-823):<br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'</nowiki></pre><br />
<br />
4. Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''</nowiki></pre><br />
<br />
<br />
5. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
6. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
7. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Disable Ignored Call Sound==<br />
I had very few missed call or ignored call sound alert due to being on vacation and I was always able to be by my phone. Today was my first day back at work and I missed several calls and had to ignore several calls and that "'''You Got Mail'''" sound got annoying again. Hence my quest to disable the ignored call sound.<br />
<br />
==Procedure==<br />
<br />
1. If you are here I assumed you have already rooted your Pre.<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Depending on the mods you have done around (line '''394-403''' on WebOS 1.1) you will see the the following, ''your lines may vary depending on your previous mods:''<br />
<pre><nowiki>var message = Messages.callIgnoredBanner;<br />
<br />
message = new Template(message).evaluate({"contact":caller});<br />
<br />
// turn display on<br />
TelephonyCommands.displayOn();<br />
<br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'<br />
}, <br />
</nowiki></pre><br />
<br />
<br />
3.Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''<br />
},<br />
</nowiki></pre><br />
<br />
<br />
4. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
<br />
5. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
<br />
6. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Notes==<br />
<br />
'''**(Do not delete the word message in above statement your phone will keep rebooting)**'''<br />
This will not remove the message being shown.<br />
<br />
Confirmed by Webby_S at PreCentral<br />
<br />
<br />
http://forums.precentral.net/showthread.php?p=1796242&posted=1#post1796242</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Various_Call_Sounds&diff=3742Patch Phone Disable Various Call Sounds2009-08-04T06:39:24Z<p>Mamouton: /* Procedure */</p>
<hr />
<div>{{template:patch}}<br />
= Disable sound when you miss a call=<br />
<br />
If you're like me, you want to use the alarm clock and hear SMS alerts in case the NOC is on fire, but you don't want some random spam call to wake you up. Even though you turned the ringer volume down, the missed call alert will use the system volume setting and be as loud as your alarm/SMS. How annoying. Here is a very simple trick to make those missed call notifications silent.<br />
<br />
'''First'''<br />
# Gain [[Portal:Accessing_Linux | access to linux]].<br />
<br />
<pre>mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp announcer-assistant.js announcer-assistant.sav<br />
vi announcer-assistant.js</pre><br />
<br />
Look for the following at line 243 (WebOS 1.1)<br />
<pre><br />
soundclass: 'notification'<br />
</pre><br />
change to<br />
<pre><br />
soundclass: 'none'<br />
</pre><br />
<br />
Now, add this same line after line 283 (webOS 1.1). So, change...<br />
<br />
<pre><nowiki><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
},<br />
<br />
</nowiki></pre> to...<pre><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: 'none' <br />
},<br />
</pre><br />
<br />
Now restart the GUI. The luna rescan trick WILL NOT WORK with the phone app. <br />
<br />
<pre><nowiki><br />
initctl stop LunaSysMgr && initctl start LunaSysMgr<br />
</nowiki></pre><br />
<br />
Wait for the GUI to come back and then call your phone. Don't answer it, and then hang up...notice you'll still have your notification but no annoying loud ding.<br />
<br />
Now remount read only<br />
<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
== Notes for coders==<br />
Another way you can mod this is to change the popupalert style stage, which is the 3rd, optional param to createStageWithCallback(). This 3rd param can take a variety of options. So far I've discovered: popupalert, dashboard, card, pin, emergency, activebanner, and banneralert. You can also just leave it blank. I tried them all. Some worked, some didn't. Emergency is probably best left for the 911 functionality. Banneralert, like popupalert will use a sound file by default. Dashboard is the tiny little icon tray that appears at the bottom when you have mail or missed calls. In my mind the best alternative to popupalert with sound off, would be to switch it to dashboard and then you just get a more subtle notification of a missed call. If you use dashboard, you need not add the soundClass param above.<br />
<br />
<br />
=Disable Dropped Call Sound=<br />
<br />
The signal in my office isn't great and due to the Pre's poor tower handling abilities right now (soon to be updated via software, I hope, Palm?) I do get several dropped calls a week. Which is annoying in and of itself but even worse it plays this ridiculous alert tone that taunts you into throwing the phone against the nearest wall, seconds after the call is dropped. I needed this removed ASAP.<br />
<br />
I used the link [http://www.webos-internals.org/wiki/Turn_Off_Missed_Call_Sound Turn Off Missed Call Sound] as a starting point.<br />
<br />
==Procedure==<br />
<br />
1. Gain access to linux, remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cp /usr/palm/applications/com.palm.app.phone/app/controllers/announcer-assistant.js /usr/palm/applications/com.palm.app.phone/app/controllers/announcer-assistant.js.bak</nowiki></pre><br />
<br />
2. Look for this line QDLogger.log( "announceDisconnectAbnormal" (line 743 on WebOS 1.1 - it's not the first occurrence of this line.<br />
<br />
3. A few lines below that it shows:<br />
<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "alerts"</nowiki></pre><br />
<br />
4. Change "alerts" to "none"<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "none"</nowiki></pre><br />
5. Save and quit vi<br><br />
6. I always reboot after every mod<br />
<pre><nowiki><br />
reboot</nowiki></pre><br />
<br />
<br />
=Disable Call Ended Sound=<br />
<br />
I have been looking for a way to turn this sound off since day one. I had applied the sound and messaging mod so everytime I ended a call my phone would chime out '''''"You got mail"''''' very irritating. I used this as my starting point. http://www.webos-internals.org/wiki/Patch_Phone_Disable_Missed-Dropped_Call_Sound<br />
<br />
==Procedure==<br />
1. Gain access to http://www.webos-internals.org/wiki/Portal:Accessing_Linux remount as writable and always backup:<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
CD /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for this line (line '''818''' on WebOS 1.1) <pre><nowiki>QDLogger.log( "announceDisconnectNormal"</nowiki></pre><br />
<br />
<br />
<br />
3. A few lines below that (lines 820-823):<br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'</nowiki></pre><br />
<br />
4. Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''</nowiki></pre><br />
<br />
<br />
5. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
6. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
7. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Disable Ignored Call Sound==<br />
I had very few missed call or ignored call sound alert due to being on vacation and I was always able to be by my phone. Today was my first day back at work and I missed several calls and had to ignore several calls and that "'''You Got Mail'''" sound got annoying again. Hence my quest to disable the ignored call sound.<br />
<br />
==Procedure==<br />
<br />
1. If you are here I assumed you have already rooted your Pre.<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Depending on the mods you have done around (line '''394-403''' on WebOS 1.1) you will see the the following, ''your lines may vary depending on your previous mods:''<br />
<pre><nowiki>var message = Messages.callIgnoredBanner;<br />
<br />
message = new Template(message).evaluate({"contact":caller});<br />
<br />
// turn display on<br />
TelephonyCommands.displayOn();<br />
<br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'<br />
}, <br />
</nowiki></pre><br />
<br />
<br />
3.Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''<br />
},<br />
</nowiki></pre><br />
<br />
<br />
4. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
<br />
5. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
<br />
6. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Notes==<br />
<br />
'''**(Do not delete the word message in above statement your phone will keep rebooting)**'''<br />
This will not remove the message being shown.<br />
<br />
Confirmed by Webby_S at PreCentral<br />
<br />
<br />
http://forums.precentral.net/showthread.php?p=1796242&posted=1#post1796242</div>Mamoutonhttp://wiki.webos-internals.org/index.php?title=Patch_Phone_Disable_Various_Call_Sounds&diff=3741Patch Phone Disable Various Call Sounds2009-08-04T06:35:34Z<p>Mamouton: /* Disable Ignored Call Sound */</p>
<hr />
<div>{{template:patch}}<br />
= Disable sound when you miss a call=<br />
<br />
If you're like me, you want to use the alarm clock and hear SMS alerts in case the NOC is on fire, but you don't want some random spam call to wake you up. Even though you turned the ringer volume down, the missed call alert will use the system volume setting and be as loud as your alarm/SMS. How annoying. Here is a very simple trick to make those missed call notifications silent.<br />
<br />
'''First'''<br />
# Gain [[Portal:Accessing_Linux | access to linux]].<br />
<br />
<pre>mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp announcer-assistant.js announcer-assistant.sav<br />
vi announcer-assistant.js</pre><br />
<br />
Look for the following at line 243 (WebOS 1.1)<br />
<pre><br />
soundclass: 'notification'<br />
</pre><br />
change to<br />
<pre><br />
soundclass: 'none'<br />
</pre><br />
<br />
Now, add this same line after line 283 (webOS 1.1). So, change...<br />
<br />
<pre><nowiki><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
},<br />
<br />
</nowiki></pre> to...<pre><br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: 'none' <br />
},<br />
</pre><br />
<br />
Now restart the GUI. The luna rescan trick WILL NOT WORK with the phone app. <br />
<br />
<pre><nowiki><br />
initctl stop LunaSysMgr && initctl start LunaSysMgr<br />
</nowiki></pre><br />
<br />
Wait for the GUI to come back and then call your phone. Don't answer it, and then hang up...notice you'll still have your notification but no annoying loud ding.<br />
<br />
Now remount read only<br />
<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
== Notes for coders==<br />
Another way you can mod this is to change the popupalert style stage, which is the 3rd, optional param to createStageWithCallback(). This 3rd param can take a variety of options. So far I've discovered: popupalert, dashboard, card, pin, emergency, activebanner, and banneralert. You can also just leave it blank. I tried them all. Some worked, some didn't. Emergency is probably best left for the 911 functionality. Banneralert, like popupalert will use a sound file by default. Dashboard is the tiny little icon tray that appears at the bottom when you have mail or missed calls. In my mind the best alternative to popupalert with sound off, would be to switch it to dashboard and then you just get a more subtle notification of a missed call. If you use dashboard, you need not add the soundClass param above.<br />
<br />
<br />
=Disable Dropped Call Sound=<br />
<br />
The signal in my office isn't great and due to the Pre's poor tower handling abilities right now (soon to be updated via software, I hope, Palm?) I do get several dropped calls a week. Which is annoying in and of itself but even worse it plays this ridiculous alert tone that taunts you into throwing the phone against the nearest wall, seconds after the call is dropped. I needed this removed ASAP.<br />
<br />
I used the link [http://www.webos-internals.org/wiki/Turn_Off_Missed_Call_Sound Turn Off Missed Call Sound] as a starting point.<br />
<br />
==Procedure==<br />
<br />
1. Gain access to linux, remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cp /usr/palm/applications/com.palm.app.phone/app/controllers/announcer-assistant.js /usr/palm/applications/com.palm.app.phone/app/controllers/announcer-assistant.js.bak</nowiki></pre><br />
<br />
2. Look for this line QDLogger.log( "announceDisconnectAbnormal" (line 743 on WebOS 1.1 - it's not the first occurrence of this line.<br />
<br />
3. A few lines below that it shows:<br />
<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "alerts"</nowiki></pre><br />
<br />
4. Change "alerts" to "none"<br />
<pre><nowiki><br />
this.appControl.createStageWithCallback({<br />
lightweight: true,<br />
applicationStylesheets: ["stylesheets/ph<br />
name: stageName,<br />
"height": height,<br />
soundclass: "none"</nowiki></pre><br />
5. Save and quit vi<br><br />
6. I always reboot after every mod<br />
<pre><nowiki><br />
reboot</nowiki></pre><br />
<br />
<br />
=Disable Call Ended Sound=<br />
<br />
I have been looking for a way to turn this sound off since day one. I had applied the sound and messaging mod so everytime I ended a call my phone would chime out '''''"You got mail"''''' very irritating. I used this as my starting point. http://www.webos-internals.org/wiki/Patch_Phone_Disable_Missed-Dropped_Call_Sound<br />
<br />
==Procedure==<br />
1. Gain access to http://www.webos-internals.org/wiki/Portal:Accessing_Linux remount as writable and always backup:<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cp /usr/palm/applications/com.palm.app.phone/app/controllers/announcer-assistant.js /usr/palm/applications/com.palm.app.phone/app/controllers/announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Look for this line (line '''818''' on WebOS 1.1) <pre><nowiki>QDLogger.log( "announceDisconnectNormal"</nowiki></pre><br />
<br />
<br />
<br />
3. A few lines below that (lines 820-823):<br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'</nowiki></pre><br />
<br />
4. Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''</nowiki></pre><br />
<br />
<br />
5. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
6. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
7. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
==Disable Ignored Call Sound==<br />
I had very few missed call or ignored call sound alert due to being on vacation and I was always able to be by my phone. Today was my first day back at work and I missed several calls and had to ignore several calls and that "'''You Got Mail'''" sound got annoying again. Hence my quest to disable the ignored call sound.<br />
<br />
==Procedure==<br />
<br />
1. If you are here I assumed you have already rooted your Pre.<br />
<br />
<pre><nowiki><br />
mount -o remount rw, /<br />
cd /usr/palm/applications/com.palm.app.phone/app/controllers/<br />
cp /announcer-assistant.js announcer-assistant.js.bak</nowiki></pre><br />
<br />
<br />
2. Depending on the mods you have done around (line '''394-403''' on WebOS 1.1) you will see the the following, ''your lines may vary depending on your previous mods:''<br />
<pre><nowiki>var message = Messages.callIgnoredBanner;<br />
<br />
message = new Template(message).evaluate({"contact":caller});<br />
<br />
// turn display on<br />
TelephonyCommands.displayOn();<br />
<br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: 'notifications'<br />
}, <br />
</nowiki></pre><br />
<br />
<br />
3.Delete 'notifications' leaving both apostrophes '' <br />
<br />
<pre><nowiki><br />
this.appControl.showBanner(<br />
{<br />
messageText: message,<br />
soundClass: ''<br />
},<br />
</nowiki></pre><br />
<br />
<br />
4. Save and quit vi <pre><nowiki>:wq </nowiki></pre><br />
<br />
<br />
5. Now restart the GUI<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
<br />
6. Now remount read only <br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
<br />
No more sound!<br><br />
<br />
You will still get your popup message <br><br />
<br />
==Notes==<br />
<br />
'''**(Do not delete the word message in above statement your phone will keep rebooting)**'''<br />
This will not remove the message being shown.<br />
<br />
Confirmed by Webby_S at PreCentral<br />
<br />
<br />
http://forums.precentral.net/showthread.php?p=1796242&posted=1#post1796242</div>Mamouton