http://wiki.webos-internals.org/api.php?action=feedcontributions&user=StoneRyno&feedformat=atomWebOS Internals - User contributions [en]2024-03-29T10:40:23ZUser contributionsMediaWiki 1.35.1http://wiki.webos-internals.org/index.php?title=Application:SaveRestore&diff=10650Application:SaveRestore2010-07-31T21:41:33Z<p>StoneRyno: </p>
<hr />
<div>{{application<br />
|name=SaveRestore<br />
|type=webOS<br />
|version=Version: Beta 0.8.1 <br />(4 Jun 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 />
== 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 />
This application is in a general beta testing phase, but you should not trust it as your sole backup of data.<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>StoneRynohttp://wiki.webos-internals.org/index.php?title=Application:UberKernel&diff=10640Application:UberKernel2010-07-30T19:39:55Z<p>StoneRyno: </p>
<hr />
<div>{{application<br />
|name=UberKernel<br />
|type=webOS<br />
|version=In Development<br />
|tag=Utilities<br />
|screenshot=Govnah_themes.png<br />
|description=}}<br />
<br />
Please add documentation and frequently asked questions and answers to this page.<br />
<br />
== Summary == <br />
[[image:Icon_WebOSInternals_Kernel.png|frameless|right]]<br />
The [http://en.wikipedia.org/wiki/Kernel_(computing) kernel] is the central component of the operating systems. The Uber-Kernel replaces the standard webOS kernel allowing faster speeds and greater control of the CPU. To control the UberKernel you will need to also install a "Governor" such as the [[Govnah]]. "[http://en.wikipedia.org/wiki/Uber Über]" is not a technical term but the German word for super and in this case an inside joke referring to Arnold Schwarzenegger, the "Govnah". That is why the Govnah app header says, "Much better than Arnie."<br />
<br />
====Warning:====<br />
This application is in constant development and testing. It should not be considered a finished product. Please note that usage of this package is very likely to void your warranty if things go wrong. Please, do not contact your carrier or Palm for support for damage resulting from this package. <br />
<br />
WebOS Internals provides this program 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 this program is with you. Should this program prove defective, you assume the cost of all necessary servicing, repair or correction. 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 this program (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 this program to operate with any other programs).<br />
<br />
====Features:====<br />
All WebOS Internals kernels follow the 7 principles of kernel design: http://bit.ly/next-gen-kernels. The Uber-Kernel incorporates the following bleeding-edge features to give you maximum control over your phone:<br />
*720MHz and 800MHz operating points (based on the open source OMAP3440 kernel, ported by uNiXpSyChO)<br />
*All Linux 2.6.24 frequency governors (conservative, ondemand, powersave, userspace, performance)<br />
*New screenstate governor, which runs at a higher speed when the screen is on and at 500MHz when the screen is off (created by uNiXpSyChO)<br />
*OMAP3430 internal CPU temperature sensor (ported by ka6sox and rwhitby)<br />
<br />
<br />
Available in Preware.<br />
<br />
<br />
== Installation ==<br />
<br />
The following guide assumes a Palm Pre/Pre+ that has the original 1.4.1.1 kernel and no over-clocking patches. (Currently unavailable for Pixi/Pixi+ or other kernels.)<br />
<br />
#On Preware's homescreen, type "uber" and hit enter.<br />
#Select "Uber-Kernel (Palm Pre/Pre+)" and "Install"<br />
#After the installation, Preware will prompt to restart your phone. Always listen to Preware; it knows best!<br />
#If you have not yet installed a "Governor", on Preware's homescreen, type "Gov" and hit enter.<br />
#Select "[[Govnah]]" and "Install"<br />
<br />
<br />
== Usage ==<br />
<br />
When your phone reboots after a successful installation of UberKernel, you will now be running UberKernel. You can use Govnah to verify that you now can clock the processor over 600MHz. If you still cannot, refer to the FAQ below to see if any apply to you. The UberKernel Icon that now appears in your launch will only show you a (very!) informational page on UberKernel. <br />
<br />
<br />
<!--== Known Limitations ==<br />
The Uber Kernel will not help you attract the opposite sex. It may in fact hinder you.<br />
:'''You:''' Hey there, can I buy you a drink?<br />
:'''Him/Her:''' Your pants are really hot.<br />
:'''You:''' Why thank you. I like members of the opposite sex looking at my pants.<br />
:'''Him/Her:''' No, seriously, I think they just caught on fire.<br />
:'''You:''' NOOOOOO!!!! Screw you UBERRRKERNELLL!!!<br />
--><br />
<br />
== Frequently Asked Questions ==<br />
<br />
====How do I uninstall and get back to the stock kernel?====<br />
Open Preware. Uninstall Govnah and UberKernel. Hit OK when Preware asks to reboot your phone.<br />
<br />
<br />
====I'm confused, my Pre goes back down to 500 after a reboot, I have to reopen Govnah to set it back to screenstate. Any reason?====<br />
<br />
That is intentional. See the 7 principles of kernel design and packaging at http://bit.ly/next-gen-kernels for details.<br />
<br />
Once we have devised a fail-safe method of making sure that an overclocking failure caused by running your CPU outside of it's guaranteed specification limits does not put you into a reboot loop where you need to doctor your phone to recover it, then we will implement that solution for saving the CPU scaling parameter settings across a reboot.<br />
<br />
<br />
====I have installed UberKernel and when I try to launch it from the Launcher it just shows some documentation and a changelog. What's up? Is this an application? What's going on?====<br />
<br />
To use the kernel you must install a governor app such as Govnah, or be able to control the governor from command line.<br />
<br />
<br />
====My phone gets really hot during heavy use. At what temperatures should I start to worry?====<br />
This is a difficult question to answer. Over-clocking is generally uncharted territory, and as such, there are risks. One is over-heating your cpu. Another is shortening the life of your cpu because of excess heat. Note that the Govnah application measures internals CPU temperature, which may or may not be hotter or colder than battery temperature (depending on how quickly the battery is charging or discharging). The Govnah icon progresses from green to yellow to red to flames as a general indication of what we currently believe to be conservatively safe regions, but the exact boundaries of these regions are yet to be determined.<br />
<br />
At the moment, we have green up to 39, yellow from 40 to 49, red from 50 to 59, and flames from 60.<br />
<br />
<br />
====Can I use other CPU scaler applications while Govnah is installed on my phone?====<br />
Currently, CPUScalerUltimate(v.2.1.2) and Govnah can be installed at the same time.<br />
<br />
CPUScalerUltimate will recognize settings made in Govnah and vice-versa.<br />
<br />
Both applications talk to the same set of kernel instructions. There may be conflicts when running both applications.<br />
<br />
Use any scaler application to program your speeds with UberKernel.<br />
<br />
<br />
====What is the screen state scaling?====<br />
The screen state scaling sets the CPU speed to 500MHz when the LCD screen is off and up to 800MHz when the LCD screen is on. This includes screen off during phone calls or music playback, etc. The speed is also lowered to 500MHz when the phone is charging on the Touchstone and the screen displays the clock. Options for the upper limit include 800, 720, 600, and 550MHz. There are known issues with Brightness Unlinked or the "Reduce Minimum Brightness" patch. The use of either of these to reduce the screen brightness to the lowest levels prevents the screen state scaling to trigger so the CPU may remain at 500mhz. To prevent this, set the brightness to an appropriate level that will trigger the scaling to 800mhz. The Govnah app may be used to monitor CPU speed and set the brightness to an appropriate level to enable the frequency switching.<br />
<br />
<br />
====I set Govnah to Screenstate with min/max values of 500/800. I checked the frequency after turning on the screen manually and found it back at 500. This has happened every time; can you tell me why?====<br />
<br />
The kernel is set up to run at 500 while on the Touchstone. The phone is programmed to dim the screen to a maximum of 19 when on the Touchstone displaying the clock. The kernel reads any screen setting of 19 or below as being on the Touchstone displaying the clock and cannot determine whether the phone is actually on the Touchstone or not. Make sure your screen brightness is set to at least 20, especially if you use Brightness Unlinked. Marco has said he is working on a fix for this issue.<br />
<br />
<br />
====Will I have to uninstall/disable anything in Uber-Kernel prior to installing an OS update?====<br />
<br />
The Uber Kernel should be completely OTA update compatible. You should not have to do anything to you Pre(+) before installing a palm update.<br />
<br />
<br />
====What should I do If Updating the Uber-kernel results in a 'failed to install' error?====<br />
<br />
Install the recovery Palm Kernel. (Find this in Preware/ Kernel/ Recovery/), once installed you will be prompted for a reboot, just click 'Later'<br />
Then instal the Uber-Kernel. (Find this in Preware/ Kernel/ Experimental/), once the Uber-Kernel is installed then go ahead and reboot.<br />
<br />
<br />
====I can't find Uber-Kernel in Preware, Govnah's there but not UK.====<br />
<br />
You need Upgrade to Preware 1.0 or greater. You should then see a webos-kernels feed in your Manage Feeds section; turn it on, and Update Feeds. Now you should see Uber-Kernel within Preware.<br />
<br />
===Does Uber-Kernel get rid of TMC (too many cards) error?===<br />
<br />
It doesn't eliminate this feature of webOS but it does correct an error in the math that didn't account for all the space available before triggering TMC. In addition compcache allows for more space to be available by reserving space in RAM (memory) for compressing data. In a nut shell think of it as having more RAM.<br />
<br />
= Further Discussion=<br />
<br />
If any of the above trouble shooting Q&A doesn't apply to your situation, or you just want to talk about how UberKernel has impacted your day-to-day life, join the discussion at [http://forums.precentral.net/webos-internals/242728-webos-internals-uber-kernel.html the official PreCentral Discussion thread].</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=File:GovnahCompSwap-0.6.1.png&diff=10639File:GovnahCompSwap-0.6.1.png2010-07-30T19:16:09Z<p>StoneRyno: </p>
<hr />
<div></div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Application:Govnah&diff=10638Application:Govnah2010-07-30T19:15:23Z<p>StoneRyno: </p>
<hr />
<div>{{application<br />
|name=Govnah<br />
|type=webOS<br />
|version=Version: 0.6.1 <br />(23 July 2010)<br />
|tag=Utilities<br />
|screenshot=GovnahHome4Life-0.6.1.png<br />
|description=}}<br />
<br />
<BR><br />
=Summary=<br />
[[image:Icon_WebOSInternals_Govnah.png|frameless|right]]<br />
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed. These kernels expose one or more "governors" which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].<br />
<br />
<br />
===Purpose===<br />
The application ''Govnah'' does two things:<br />
:* It provides a real-time graph of CPU speed, CPU temperature, memory usage and system load <br />
:* Provides a mechanism for setting the parameters of the "governors" exposed by the kernel and configuring other kernel features.<br />
<br />
<br />
===Real World Examples===<br />
<br />
The Uber-Kernel exposes a governor called ''on-demand''. The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. <br />
<br />
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: <br />
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.<br />
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.<br />
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.<br />
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. <br />
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. <br />
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000). A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in. <br />
<br />
<br />
Each "Governor" in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are. <br />
<br />
<br />
===Current Governors===<br />
<br />
Current governors available in the Uber-Kernel and supported by Govnah include: <br />
:* On-demand - described above, increases clock speed in response to increases in CPU load. <br />
:* Conservative - The opposite of on-demand conservative decreases CPU clock speed in response to decreases in CPU load. <br />
:* Userspace - sets the CPU speed to a defined rate as chosen by LunaSysMgr<br />
:* powersave - sets the CPU speed to the min frequency value<br />
:* performance - sets the CPU speed to the max frequency value<br />
:* screenstate - runs at a higher speed when the screen is on and at 500MHz when the screen is off <br />
<br />
<BR><br />
=Installation=<br />
The following guide assumes a Palm Pre/Pre+ that has the original 1.4.1.1 kernel and no over-clocking patches.<br />
<br />
#On Preware's home screen, type "Gov" and hit enter.<br />
#Select "Govnah" and "Install"<br />
#If you have not yet installed a "Kernel", on Preware's home screen, type "uber" and hit enter.<br />
#Select "[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]" and "Install"<br />
#Restart your phone as promted<br />
<br />
<BR><br />
=Brief Usage=<br />
===Where To Start===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]<br />
|valign="top"|To begin accessing the power of Govnah's control over the Linux Kernel, tap the "Profile" row at the top of the main screen.<br />
|}<br />
<BR><br />
<br />
===Profiles===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]<br />
|valign="top"|Here is the list of stored Govnah Profiles. Profiles are a simple way for you store various settings that you wish to be applied at boot-time. You have the ability to store several different profiles for testing the best settings for '''your''' usage. Tap "Advanced Settings" at the top to access the individual settings that get stored in the profiles.<br />
|}<br />
<BR><br />
<br />
===Advanced Settings===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]<br />
|valign="top"|This is the list of configurable items. They are explained in more depth below. You are ''strongly'' encouraged to read about what these settings mean and do. Not all of them are beneficial to you or your battery. Most of the defaults are a happy medium between the two. The main one to change is "CPU Frequency". Tap that now.<br />
|}<br />
<BR><br />
<br />
===CPU Frequency===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]<br />
|valign="top"|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz. This is where you ramp it up to 800MHz. Select "800Mhz" in the "Set Speed" section and tap "Apply Settings". Your phone will immediately be running at 800Mhz. Gesture Swipe left return to the "Advanced Settings" screen.<br />
|}<br />
<BR><br />
<br />
===Compressed Swap (compcache)===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]<br />
|valign="top"|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.<br />
|}<br />
<BR><br />
<br />
===Saving your Profile===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]<br />
|valign="top"|After leaving the step above, you will have ended up back at the "Advanced Settings" screen where the button "Save Current Profile" is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed. Set the name you want here and tap "Save As New Profile". Gesture swipe left to return to the "Profiles" screen.<br />
|}<br />
<BR><br />
<br />
===Profile Management===<br />
{| Width="61%" VAlign="top"<br />
|valign="top"|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]<br />
|valign="top"|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that "sweet spot" between speed and battery savings. Only you can find this. [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.<br />
|}<br />
<br />
<BR><br />
<br />
=Governors In-Depth=<br />
* Generic items (needed for all)<br />
** scaling_max_freq - Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies<br />
** scaling_min_freq - Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.<br />
<br />
* ondemand<br />
** sampling_rate - This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.<br />
** sampling_rate_(min|max) - This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also. <br />
** up_threshold - This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. <br />
** ignore_nice_load - This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. <br />
** powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as "For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8" (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be "average". The author also warns "In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz".<br />
<br />
* conservative<br />
** freq_step - This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the "ondemand" governor. <br />
** down_threshold - This is same as the 'up_threshold' found for the "ondemand" governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. <br />
** sampling_rate - same as ondemand.<br />
** sampling_rate_(min|max) - same as ondemand.<br />
** up_threshold - same as ondemand.<br />
** ignore_nice_load - same as ondemand.<br />
<br />
* userspace<br />
** scaling_setspeed - one of the values from scaling_available_frequencies<br />
** NB - when userspace is selected LunaSysMgr will change the frequency as it feels.<br />
<br />
* powersave<br />
** Nothing special<br />
<br />
* performance<br />
** Nothing special<br />
<br />
* screenstate<br />
** Nothing special<br />
<br />
<br />
=Developer Notes=<br />
===Relaunching for Cross-App Integration===<br />
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.<br />
<br />
===Profile List===<br />
The code below is how you would launch govnah and tell it to return a list of profiles to your app:<br />
<pre><nowiki><br />
this.controller.serviceRequest<br />
(<br />
'palm://com.palm.applicationManager',<br />
{<br />
method: 'launch',<br />
parameters:<br />
{<br />
id: 'org.webosinternals.govnah',<br />
params:<br />
{<br />
type: 'get-profiles',<br />
returnid: 'app.to.relaunch'<br />
}<br />
}<br />
}<br />
);<br />
</nowiki></pre><br />
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.<br />
<br />
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)<br />
<pre><nowiki><br />
{<br />
type: 'govnah-profiles',<br />
profiles:<br />
[<br />
{<br />
id: 1,<br />
name: 'Palm Default'<br />
},<br />
{<br />
id: 8,<br />
name: 'Awesome Profile!'<br />
},<br />
{...}<br />
]<br />
}<br />
</nowiki></pre><br />
<br />
<br />
===Profile Apply===<br />
The code below is how you use the list of profiles you received in the prior relaunch to have govnah apply a profile.<br />
<pre><nowiki><br />
this.controller.serviceRequest<br />
(<br />
'palm://com.palm.applicationManager',<br />
{<br />
method: 'launch',<br />
parameters:<br />
{<br />
id: 'org.webosinternals.govnah',<br />
params:<br />
{<br />
type: 'set-profile',<br />
profileid: 1<br />
}<br />
}<br />
}<br />
);<br />
</nowiki></pre><br />
Replace 'profileid' parameters value with the profile id you wish govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)<br />
<br />
<br />
<br />
=Links=<br />
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html<br />
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm<br />
* http://fasterdata.es.net/TCP-tuning/linux.html<br />
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.<br />
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Application:OpenSSH&diff=9328Application:OpenSSH2010-03-09T07:31:43Z<p>StoneRyno: /* Generate Keys from webOS Method */</p>
<hr />
<div>==Introduction==<br />
<br />
OpenSSH is a FREE version of the SSH connectivity tools that technical users of the Internet rely on.<br />
<br />
Please refer to the [http://www.openssh.com/ OpenSSH Home Page] and read the [http://www.openssh.com/manual.html OpenSSH Manual Pages] before using this package.<br />
<br />
There are two ways to generate the keys below. The PC one assumes you have a user account name and password to gain access with putty I assume it is not possible to complete the steps for that method without setting up a user account. I find the webOS method to be much easier to follow. And I imagine if you are new to linux and accessing linux on webOS then you will find the webOS method is the one you will want to follow. I also recommend the webOS method if you have trouble following the PC method or find it too wordy.<br />
<br />
==Generate Keys from Windows PC Method==<br />
<br />
If you are connecting to your webOS device from a Windows host computer, please read the [http://unixwiz.net/techtips/putty-openssh.html Secure Linux/UNIX access with PuTTY and OpenSSH Tech Tip] and follow those instructions for generating your SSH keys. For the section "Install public key on Linux system", you will need to put the "Public Key for pasting into OpenSSH authorized_keys file" into a /home/root/.ssh/authorized_keys file.<br />
<br />
Optware installs openssh under /opt, so you should replace any references to /bin, /sbin, and /etc in the OpenSSH documentation with /opt/bin, /opt/sbin and /opt/etc respectively.<br />
<br />
=== Setting up ExpanDrive (SftpDrive) ===<br />
<br />
''Note: This requires access to the device's file system by any means.''<br />
* Open ExpanDrive<br />
* Click "New drive..."<br />
* Type a name into the "Drive Name" box.<br />
* Type in the IP address of the device in the "Server" box.<br />
* Type "root" into the "Username" box.<br />
* Choose "Use a public key to log in..." from the "Authentication" drop-down.<br />
* Click "Create New Key Pair"<br />
* Choose "RSA (ssh-rsa)" from the "Key type" drop-down.<br />
* Click "Create Key Pairs".<br />
* Click "Ok".<br />
* Click "Export current Key Pair"<br />
* Click both "Export Private Key" and "Export Public Key" and save the files somewhere (remember where you saved them) and click "Ok".<br />
* Open the .pub file you saved in the previous step using a plain text editor.<br />
* Copy the contents of the entire file and paste it into "/var/home/root/.ssh/authorized_keys" (on the device) on the next line and save it.<br />
* Go back to ExpanDrive and click "Ok" on the still open "Public Key Authentication Properties" dialog.<br />
* Choose "Show the entire server" from the "Directory" drop-down.<br />
* Click "Connect" to connect and save the configuration.<br />
* After the connection process is complete, a new Explorer window will open and you will be in the "%DriveLetter%:\var\home\root" directory.<br />
<br />
==Generate Keys from webOS Method==<br />
<br />
Launch Preware and install [http://www.webos-internals.org/wiki/Application:Terminal Terminal] if you haven't previously installed it. It will be used to create your secure SSH keys for use with OpenSSH directly on your webOS device. Once Terminal is installed launch it and follow these steps:<br />
<br />
To go to the root directory type:<br />
<br />
cd /<br />
<br />
Then type:<br />
<br />
/opt/bin/ssh-keygen<br />
<br />
to create the private and public keys. After a short time (about a minute) accept the default filename by pressing Enter at the prompt. Enter a passphrase for your private key file. You will use this passphrase later, so remember it. After the key file is generated type:<br />
<br />
mv /home/root/.ssh/id_rsa.pub /home/root/.ssh/authorized_keys<br />
<br />
to move the public key to become the /home/root/.ssh/authorized_keys file.<br />
<br />
Now the secret key needs to be transferred to the PC you want to access linux on webOS from. First copy the secret key to the area accessible from drive mode. To do this, type:<br />
<br />
cp /home/root/.ssh/id_rsa /media/internal/id_rsa<br />
<br />
We are all done using Terminal so you can close it by tossing it off the top of the screen like you would for any other application. Next you need to connect your device to the PC with the USB cable and tap drive mode. Once drive mode is active open the drive letter for the device on your PC (ex. "PALM PRE (E:)"). Copy the "id_rsa" file to your PC somewhere you will remember it's location (ex. to the desktop).<br />
<br />
===Using the key with PuTTY===<br />
<br />
If you have the webOS SDK installed you will already have PuTTY (in \SDK\bin\ of the folder the SDK was installed in). If you don't have the webOS SDK installed you can install it to get PuTTY or you can download [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY]. You will also need PuTTYgen. If you will be using winSCP you already have it (in start menu>winSCP>key tools) or download it from the same site as PuTTY. If this is your first time using PuTTY to access linux on webOS or wish to verify the configuration is correct please follow these steps:<br />
<br />
*Open PuTTY.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100).<br />
*Enter 22 for the port number.<br />
*Select the radio button for SSH<br />
*Select the Data section under Connection on the left.<br />
*Enter root for the auto-login username.<br />
*Select the Auth section under SSH under Connection on the left.<br />
*Leave PuTTY open here and follow these steps:<br />
**Open PuTTYgen.<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to PuTTY where we left off.<br />
*Click the Browse button for private key file.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Select Session on the left.<br />
*Enter a name in the Saved Session box and click the save button.<br />
**This will allow you to load the settings for future use.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Click open in PuTTY to connect.<br />
<br />
If everything is configured correctly you should see the following in the terminal window on your pc:<br />
<br />
Using username "root".<br />
Authenticating with public key "imported-openssh-key"<br />
Passphrase for key "imported-openssh-key":<br />
<br />
*Enter the passphrase you created during key generation.<br />
<br />
You should now see:<br />
<br />
root@palm-webos-device:/var/home/root#<br />
<br />
Congratulations you now have access to linux on your webOS device. You may now begin using the command prompt to work with anything you need or want to use the command prompt for. There is all sorts of stuff you can use it for so if you haven't already check out the rest of the webos-internals site for a number of things you can do. You may also want to setup winSCP for a explorer like windows interface to access and work with files etc as well.<br />
<br />
===Using the key with winSCP===<br />
<br />
*Open winSCP.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100) in the host name box.<br />
*Enter 22 for the port number.<br />
*Enter root in the user name box.<br />
*Leave winSCP open and follow these steps:<br />
**Open PuTTYgen (startmenu>winSCP>key tools).<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to winSCP where we left off.<br />
*Click the "..." button for the private key file box.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Click the save button and enter a name and click ok.<br />
**This will allow you to load the settings for future use.<br />
*You should now be seeing the stored sessions list with the session you just saved.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Select the session you saved and click the login button.<br />
*Enter the passphrase you created during key generation.<br />
<br />
If everything is configured correctly you should see a window with a list of folders similar to explorer. Congratulations you now have access to linux on your webOS device. You may now begin working with files on the device. You can do stuff like copy, delete, etc file like in windows. You can also edit files. Certain actions will require read write mode (mount -o remount,rw / entered at the command prompt in PuTTY or terminal, mount -o remount,ro / to go back to read only mode).<br />
<br />
===Using the key with SSH in Terminal===<br />
<br />
Put your private key file in the standard location ~/.ssh/id_rsa on the machine you are using to connect to the Pre or you can inform ssh by using the -i switch as follow:<br />
<br />
user@host:~$ ssh -i /path/to/private/key remoteuser@remotehost<br />
<br />
===Enabling non-root Password logins via SSH in Terminal===<br />
<br />
Edit the mobi.optware.dropbear file in the /etc/event.d/ directory and remove the -s parameter on the exec line.<br />
<br />
vi /etc/event.d/mobi.optware.dropbear<br />
<br />
The line should now look like this: exec /opt/sbin/dropbear -g -F -p 22<br />
<br />
Save and exit with ZZ or :wq, then restart the dropbear service as follows:<br />
<br />
stop mobi.optware.dropbear<br />
start mobi.optware.dropbear<br />
<br />
Do not change anything else. Now if you've created a username for yourself and set a password, you'll be able to log in with a password. After every Palm WebOS upgrade, you'll need to recreate any accounts other than root with adduser <account>, which will then prompt you to set a password.<br />
<br />
Warning:<br />
It is strongly suggested that you set up another ssh key for any additional users instead of using the password authentication method. Just follow the steps above.</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Application:OpenSSH&diff=9321Application:OpenSSH2010-03-09T05:08:47Z<p>StoneRyno: /* Generate Keys from webOS Method */</p>
<hr />
<div>==Introduction==<br />
<br />
OpenSSH is a FREE version of the SSH connectivity tools that technical users of the Internet rely on.<br />
<br />
Please refer to the [http://www.openssh.com/ OpenSSH Home Page] and read the [http://www.openssh.com/manual.html OpenSSH Manual Pages] before using this package.<br />
<br />
There are two ways to generate the keys below. The PC one assumes you have a user account name and password to gain access with putty I assume it is not possible to complete the steps for that method without setting up a user account. I find the webOS method to be much easier to follow. And I imagine if you are new to linux and accessing linux on webOS then you will find the webOS method is the one you will want to follow. I also recommend the webOS method if you have trouble following the PC method or find it too wordy.<br />
<br />
==Generate Keys from Windows PC Method==<br />
<br />
If you are connecting to your webOS device from a Windows host computer, please read the [http://unixwiz.net/techtips/putty-openssh.html Secure Linux/UNIX access with PuTTY and OpenSSH Tech Tip] and follow those instructions for generating your SSH keys. For the section "Install public key on Linux system", you will need to put the "Public Key for pasting into OpenSSH authorized_keys file" into a /home/root/.ssh/authorized_keys file.<br />
<br />
Optware installs openssh under /opt, so you should replace any references to /bin, /sbin, and /etc in the OpenSSH documentation with /opt/bin, /opt/sbin and /opt/etc respectively.<br />
<br />
=== Setting up ExpanDrive (SftpDrive) ===<br />
<br />
''Note: This requires access to the device's file system by any means.''<br />
* Open ExpanDrive<br />
* Click "New drive..."<br />
* Type a name into the "Drive Name" box.<br />
* Type in the IP address of the device in the "Server" box.<br />
* Type "root" into the "Username" box.<br />
* Choose "Use a public key to log in..." from the "Authentication" drop-down.<br />
* Click "Create New Key Pair"<br />
* Choose "RSA (ssh-rsa)" from the "Key type" drop-down.<br />
* Click "Create Key Pairs".<br />
* Click "Ok".<br />
* Click "Export current Key Pair"<br />
* Click both "Export Private Key" and "Export Public Key" and save the files somewhere (remember where you saved them) and click "Ok".<br />
* Open the .pub file you saved in the previous step using a plain text editor.<br />
* Copy the contents of the entire file and paste it into "/var/home/root/.ssh/authorized_keys" (on the device) on the next line and save it.<br />
* Go back to ExpanDrive and click "Ok" on the still open "Public Key Authentication Properties" dialog.<br />
* Choose "Show the entire server" from the "Directory" drop-down.<br />
* Click "Connect" to connect and save the configuration.<br />
* After the connection process is complete, a new Explorer window will open and you will be in the "%DriveLetter%:\var\home\root" directory.<br />
<br />
==Generate Keys from webOS Method==<br />
<br />
Launch Preware and install [http://www.webos-internals.org/wiki/Application:Terminal Terminal] if you haven't previously installed it. Alternatively if you have the webOS SDK installed you can use "novacom -t open tty://" from the windows command prompt (you will need to be in the directory novocom is in). It will be used to create your secure SSH keys for use with OpenSSH directly on your webOS device. Once Terminal is installed launch it and follow these steps:<br />
<br />
To go to the root directory type:<br />
<br />
cd /<br />
<br />
Then type:<br />
<br />
/opt/bin/ssh-keygen<br />
<br />
to create the private and public keys. After a short time (about a minute) accept the default filename by pressing Enter at the prompt. Enter a passphrase for your private key file. You will use this passphrase later, so remember it. After the key file is generated type:<br />
<br />
mv /home/root/.ssh/id_rsa.pub /home/root/.ssh/authorized_keys<br />
<br />
to move the public key to become the /home/root/.ssh/authorized_keys file.<br />
<br />
Now the secret key needs to be transferred to the PC you want to access linux on webOS from. First copy the secret key to the area accessible from drive mode. To do this, type:<br />
<br />
cp /home/root/.ssh/id_rsa /media/internal/id_rsa<br />
<br />
We are all done using Terminal so you can close it by tossing it off the top of the screen like you would for any other application. Next you need to connect your device to the PC with the USB cable and tap drive mode. Once drive mode is active open the drive letter for the device on your PC (ex. "PALM PRE (E:)"). Copy the "id_rsa" file to your PC somewhere you will remember it's location (ex. to the desktop).<br />
<br />
===Using the key with PuTTY===<br />
<br />
If you have the webOS SDK installed you will already have PuTTY (in \SDK\bin\ of the folder the SDK was installed in). If you don't have the webOS SDK installed you can install it to get PuTTY or you can download [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY]. You will also need PuTTYgen. If you will be using winSCP you already have it (in start menu>winSCP>key tools) or download it from the same site as PuTTY. If this is your first time using PuTTY to access linux on webOS or wish to verify the configuration is correct please follow these steps:<br />
<br />
*Open PuTTY.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100).<br />
*Enter 22 for the port number.<br />
*Select the radio button for SSH<br />
*Select the Data section under Connection on the left.<br />
*Enter root for the auto-login username.<br />
*Select the Auth section under SSH under Connection on the left.<br />
*Leave PuTTY open here and follow these steps:<br />
**Open PuTTYgen.<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to PuTTY where we left off.<br />
*Click the Browse button for private key file.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Select Session on the left.<br />
*Enter a name in the Saved Session box and click the save button.<br />
**This will allow you to load the settings for future use.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Click open in PuTTY to connect.<br />
<br />
If everything is configured correctly you should see the following in the terminal window on your pc:<br />
<br />
Using username "root".<br />
Authenticating with public key "imported-openssh-key"<br />
Passphrase for key "imported-openssh-key":<br />
<br />
*Enter the passphrase you created during key generation.<br />
<br />
You should now see:<br />
<br />
root@palm-webos-device:/var/home/root#<br />
<br />
Congratulations you now have access to linux on your webOS device. You may now begin using the command prompt to work with anything you need or want to use the command prompt for. There is all sorts of stuff you can use it for so if you haven't already check out the rest of the webos-internals site for a number of things you can do. You may also want to setup winSCP for a explorer like windows interface to access and work with files etc as well.<br />
<br />
===Using the key with winSCP===<br />
<br />
*Open winSCP.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100) in the host name box.<br />
*Enter 22 for the port number.<br />
*Enter root in the user name box.<br />
*Leave winSCP open and follow these steps:<br />
**Open PuTTYgen (startmenu>winSCP>key tools).<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to winSCP where we left off.<br />
*Click the "..." button for the private key file box.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Click the save button and enter a name and click ok.<br />
**This will allow you to load the settings for future use.<br />
*You should now be seeing the stored sessions list with the session you just saved.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Select the session you saved and click the login button.<br />
*Enter the passphrase you created during key generation.<br />
<br />
If everything is configured correctly you should see a window with a list of folders similar to explorer. Congratulations you now have access to linux on your webOS device. You may now begin working with files on the device. You can do stuff like copy, delete, etc file like in windows. You can also edit files. Certain actions will require read write mode (mount -o remount,rw / entered at the command prompt in PuTTY or terminal, mount -o remount,ro / to go back to read only mode).<br />
<br />
===Using the key with SSH in Terminal===<br />
<br />
Put your private key file in the standard location ~/.ssh/id_rsa on the machine you are using to connect to the Pre or you can inform ssh by using the -i switch as follow:<br />
<br />
user@host:~$ ssh -i /path/to/private/key remoteuser@remotehost<br />
<br />
===Enabling non-root Password logins via SSH in Terminal===<br />
<br />
Edit the mobi.optware.dropbear file in the /etc/event.d/ directory and remove the -s parameter on the exec line.<br />
<br />
vi /etc/event.d/mobi.optware.dropbear<br />
<br />
The line should now look like this: exec /opt/sbin/dropbear -g -F -p 22<br />
<br />
Save and exit with ZZ or :wq, then restart the dropbear service as follows:<br />
<br />
stop mobi.optware.dropbear<br />
start mobi.optware.dropbear<br />
<br />
Do not change anything else. Now if you've created a username for yourself and set a password, you'll be able to log in with a password. After every Palm WebOS upgrade, you'll need to recreate any accounts other than root with adduser <account>, which will then prompt you to set a password.<br />
<br />
Warning:<br />
It is strongly suggested that you set up another ssh key for any additional users instead of using the password authentication method. Just follow the steps above.</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Application:OpenSSH&diff=9188Application:OpenSSH2010-02-25T08:21:44Z<p>StoneRyno: /* Using the key with winSCP */</p>
<hr />
<div>==Introduction==<br />
<br />
OpenSSH is a FREE version of the SSH connectivity tools that technical users of the Internet rely on.<br />
<br />
Please refer to the [http://www.openssh.com/ OpenSSH Home Page] and read the [http://www.openssh.com/manual.html OpenSSH Manual Pages] before using this package.<br />
<br />
There are two ways to generate the keys below. The PC one assumes you have a user account name and password to gain access with putty I assume it is not possible to complete the steps for that method without setting up a user account. I find the webOS method to be much easier to follow. And I imagine if you are new to linux and accessing linux on webOS then you will find the webOS method is the one you will want to follow. I also recommend the webOS method if you have trouble following the PC method or find it too wordy.<br />
<br />
==Generate Keys from Windows PC Method==<br />
<br />
If you are connecting to your webOS device from a Windows host computer, please read the [http://unixwiz.net/techtips/putty-openssh.html Secure Linux/UNIX access with PuTTY and OpenSSH Tech Tip] and follow those instructions for generating your SSH keys. For the section "Install public key on Linux system", you will need to put the "Public Key for pasting into OpenSSH authorized_keys file" into a /home/root/.ssh/authorized_keys file.<br />
<br />
Optware installs openssh under /opt, so you should replace any references to /bin, /sbin, and /etc in the OpenSSH documentation with /opt/bin, /opt/sbin and /opt/etc respectively.<br />
<br />
==Generate Keys from webOS Method==<br />
<br />
Launch Preware and install [http://www.webos-internals.org/wiki/Application:Terminal Terminal] if you haven't previously installed it. It will be used to create your secure SSH keys for use with OpenSSH directly on your webOS device. Once Terminal is installed launch it and follow these steps:<br />
<br />
To go to the root directory type:<br />
<br />
cd /<br />
<br />
Then type:<br />
<br />
/opt/bin/ssh-keygen<br />
<br />
to create the private and public keys. After a short time (about a minute) accept the default filename by pressing Enter at the prompt. Enter a passphrase for your private key file. You will use this passphrase later, so remember it. After the key file is generated type:<br />
<br />
mv /home/root/.ssh/id_rsa.pub /home/root/.ssh/authorized_keys<br />
<br />
to move the public key to become the /home/root/.ssh/authorized_keys file.<br />
<br />
Now the secret key needs to be transferred to the PC you want to access linux on webOS from. First copy the secret key to the area accessible from drive mode. To do this, type:<br />
<br />
cp /home/root/.ssh/id_rsa /media/internal/id_rsa<br />
<br />
We are all done using Terminal so you can close it by tossing it off the top of the screen like you would for any other application. Next you need to connect your device to the PC with the USB cable and tap drive mode. Once drive mode is active open the drive letter for the device on your PC (ex. "PALM PRE (E:)"). Copy the "id_rsa" file to your PC somewhere you will remember it's location (ex. to the desktop).<br />
<br />
===Using the key with PuTTY===<br />
<br />
If you have the webOS SDK installed you will already have PuTTY (in \SDK\bin\ of the folder the SDK was installed in). If you don't have the webOS SDK installed you can install it to get PuTTY or you can download [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY]. You will also need PuTTYgen. If you will be using winSCP you already have it (in start menu>winSCP>key tools) or download it from the same site as PuTTY. If this is your first time using PuTTY to access linux on webOS or wish to verify the configuration is correct please follow these steps:<br />
<br />
*Open PuTTY.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100).<br />
*Enter 22 for the port number.<br />
*Select the radio button for SSH<br />
*Select the Data section under Connection on the left.<br />
*Enter root for the auto-login username.<br />
*Select the Auth section under SSH under Connection on the left.<br />
*Leave PuTTY open here and follow these steps:<br />
**Open PuTTYgen.<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to PuTTY where we left off.<br />
*Click the Browse button for private key file.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Select Session on the left.<br />
*Enter a name in the Saved Session box and click the save button.<br />
**This will allow you to load the settings for future use.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Click open in PuTTY to connect.<br />
<br />
If everything is configured correctly you should see the following in the terminal window on your pc:<br />
<br />
Using username "root".<br />
Authenticating with public key "imported-openssh-key"<br />
Passphrase for key "imported-openssh-key":<br />
<br />
*Enter the passphrase you created during key generation.<br />
<br />
You should now see:<br />
<br />
root@palm-webos-device:/var/home/root#<br />
<br />
Congratulations you now have access to linux on your webOS device. You may now begin using the command prompt to work with anything you need or want to use the command prompt for. There is all sorts of stuff you can use it for so if you haven't already check out the rest of the webos-internals site for a number of things you can do. You may also want to setup winSCP for a explorer like windows interface to access and work with files etc as well.<br />
<br />
===Using the key with winSCP===<br />
<br />
*Open winSCP.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100) in the host name box.<br />
*Enter 22 for the port number.<br />
*Enter root in the user name box.<br />
*Leave winSCP open and follow these steps:<br />
**Open PuTTYgen (startmenu>winSCP>key tools).<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to winSCP where we left off.<br />
*Click the "..." button for the private key file box.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Click the save button and enter a name and click ok.<br />
**This will allow you to load the settings for future use.<br />
*You should now be seeing the stored sessions list with the session you just saved.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Select the session you saved and click the login button.<br />
*Enter the passphrase you created during key generation.<br />
<br />
If everything is configured correctly you should see a window with a list of folders similar to explorer. Congratulations you now have access to linux on your webOS device. You may now begin working with files on the device. You can do stuff like copy, delete, etc file like in windows. You can also edit files. Certain actions will require read write mode (mount -o remount,rw / entered at the command prompt in PuTTY or terminal, mount -o remount,ro / to go back to read only mode).</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Application:OpenSSH&diff=9187Application:OpenSSH2010-02-25T08:21:03Z<p>StoneRyno: </p>
<hr />
<div>==Introduction==<br />
<br />
OpenSSH is a FREE version of the SSH connectivity tools that technical users of the Internet rely on.<br />
<br />
Please refer to the [http://www.openssh.com/ OpenSSH Home Page] and read the [http://www.openssh.com/manual.html OpenSSH Manual Pages] before using this package.<br />
<br />
There are two ways to generate the keys below. The PC one assumes you have a user account name and password to gain access with putty I assume it is not possible to complete the steps for that method without setting up a user account. I find the webOS method to be much easier to follow. And I imagine if you are new to linux and accessing linux on webOS then you will find the webOS method is the one you will want to follow. I also recommend the webOS method if you have trouble following the PC method or find it too wordy.<br />
<br />
==Generate Keys from Windows PC Method==<br />
<br />
If you are connecting to your webOS device from a Windows host computer, please read the [http://unixwiz.net/techtips/putty-openssh.html Secure Linux/UNIX access with PuTTY and OpenSSH Tech Tip] and follow those instructions for generating your SSH keys. For the section "Install public key on Linux system", you will need to put the "Public Key for pasting into OpenSSH authorized_keys file" into a /home/root/.ssh/authorized_keys file.<br />
<br />
Optware installs openssh under /opt, so you should replace any references to /bin, /sbin, and /etc in the OpenSSH documentation with /opt/bin, /opt/sbin and /opt/etc respectively.<br />
<br />
==Generate Keys from webOS Method==<br />
<br />
Launch Preware and install [http://www.webos-internals.org/wiki/Application:Terminal Terminal] if you haven't previously installed it. It will be used to create your secure SSH keys for use with OpenSSH directly on your webOS device. Once Terminal is installed launch it and follow these steps:<br />
<br />
To go to the root directory type:<br />
<br />
cd /<br />
<br />
Then type:<br />
<br />
/opt/bin/ssh-keygen<br />
<br />
to create the private and public keys. After a short time (about a minute) accept the default filename by pressing Enter at the prompt. Enter a passphrase for your private key file. You will use this passphrase later, so remember it. After the key file is generated type:<br />
<br />
mv /home/root/.ssh/id_rsa.pub /home/root/.ssh/authorized_keys<br />
<br />
to move the public key to become the /home/root/.ssh/authorized_keys file.<br />
<br />
Now the secret key needs to be transferred to the PC you want to access linux on webOS from. First copy the secret key to the area accessible from drive mode. To do this, type:<br />
<br />
cp /home/root/.ssh/id_rsa /media/internal/id_rsa<br />
<br />
We are all done using Terminal so you can close it by tossing it off the top of the screen like you would for any other application. Next you need to connect your device to the PC with the USB cable and tap drive mode. Once drive mode is active open the drive letter for the device on your PC (ex. "PALM PRE (E:)"). Copy the "id_rsa" file to your PC somewhere you will remember it's location (ex. to the desktop).<br />
<br />
===Using the key with PuTTY===<br />
<br />
If you have the webOS SDK installed you will already have PuTTY (in \SDK\bin\ of the folder the SDK was installed in). If you don't have the webOS SDK installed you can install it to get PuTTY or you can download [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY]. You will also need PuTTYgen. If you will be using winSCP you already have it (in start menu>winSCP>key tools) or download it from the same site as PuTTY. If this is your first time using PuTTY to access linux on webOS or wish to verify the configuration is correct please follow these steps:<br />
<br />
*Open PuTTY.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100).<br />
*Enter 22 for the port number.<br />
*Select the radio button for SSH<br />
*Select the Data section under Connection on the left.<br />
*Enter root for the auto-login username.<br />
*Select the Auth section under SSH under Connection on the left.<br />
*Leave PuTTY open here and follow these steps:<br />
**Open PuTTYgen.<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to PuTTY where we left off.<br />
*Click the Browse button for private key file.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Select Session on the left.<br />
*Enter a name in the Saved Session box and click the save button.<br />
**This will allow you to load the settings for future use.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Click open in PuTTY to connect.<br />
<br />
If everything is configured correctly you should see the following in the terminal window on your pc:<br />
<br />
Using username "root".<br />
Authenticating with public key "imported-openssh-key"<br />
Passphrase for key "imported-openssh-key":<br />
<br />
*Enter the passphrase you created during key generation.<br />
<br />
You should now see:<br />
<br />
root@palm-webos-device:/var/home/root#<br />
<br />
Congratulations you now have access to linux on your webOS device. You may now begin using the command prompt to work with anything you need or want to use the command prompt for. There is all sorts of stuff you can use it for so if you haven't already check out the rest of the webos-internals site for a number of things you can do. You may also want to setup winSCP for a explorer like windows interface to access and work with files etc as well.<br />
<br />
==Using the key with winSCP==<br />
<br />
*Open winSCP.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100) in the host name box.<br />
*Enter 22 for the port number.<br />
*Enter root in the user name box.<br />
*Leave winSCP open and follow these steps:<br />
**Open PuTTYgen (startmenu>winSCP>key tools).<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to winSCP where we left off.<br />
*Click the "..." button for the private key file box.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Click the save button and enter a name and click ok.<br />
**This will allow you to load the settings for future use.<br />
*You should now be seeing the stored sessions list with the session you just saved.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Select the session you saved and click the login button.<br />
*Enter the passphrase you created during key generation.<br />
<br />
If everything is configured correctly you should see a window with a list of folders similar to explorer. Congratulations you now have access to linux on your webOS device. You may now begin working with files on the device. You can do stuff like copy, delete, etc file like in windows. You can also edit files. Certain actions will require read write mode (mount -o remount,rw / entered at the command prompt in PuTTY or terminal, mount -o remount,ro / to go back to read only mode).</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=6053Portal:Patches to webOS2009-10-01T00:40:55Z<p>StoneRyno: </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 />
<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>StoneRynohttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=5741Portal:Patches to webOS2009-09-15T01:32:18Z<p>StoneRyno: Noted patches that I am pretty sure need to be added to the git repo</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>'''''Note''' ''the 1.2 update is not official yet, but has been "leaked"''<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.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 Amazon Download Music over EVDO|Amazon: Download Music over EVDO]]<br />
* ++[[Patch Browser Global Search Addons|Browser: Global Search Addons]]<br />
* ++[[Patch Browser Delete Individual History Items|Browser: Delete Individual History Items]]<br />
* [[Patch Browser Downloading Files|Browser: Downloading Files]] <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 Clock Enabling the Hidden Theme|Clock: Enabling the Hidden Theme]]<br />
* ++[[Patch Email Change "Running Late" Message|Email: Change "Running Late" Message]]<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 To Allow More Icons Per Row|Launcher: Allows More Icons Per Row]]<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 Messaging Adding Timestamps to All Received Messages|Messaging: Adding Timestamps to All Received Messages]]<br />
* [[Patch Messaging Change "Enter Key" To Create Newline|Messaging: Change "Enter Key" To Create Newline]]<br />
* ++[[Patch Messaging Character Counter|Messaging: Character Counter]]<br />
* ++[[Patch Messaging Display Full Status Messages|Messaging: Display Full Status Messages]] <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 Messaging New Cards For Each Conversation|Messaging: New Cards For Each Conversation]]<br />
* ++[[Patch MCraig Enabling Personals Category|mCraig: Enabling Personals Category]]<br />
* [[Patch MediaPlayer Bookmarking|Music Player: Bookmarking]]<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 PDF Viewer Change Orientation|PDF Viewer: Change Orientation]]<br />
* [[Patch Phone Disable Various Call Sounds|Phone: Disable Various Call Sounds]]<br />
* ++[[Patch Phone Edit Dialer Theme|Phone: Edit Dialer Theme]]<br />
* ++[[Patch Phone Editing the Lock Screen|Phone: Editing the Lock Screen]]<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 />
* ++[[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.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 Disable Charging Event Sounds|Disable Charging Event Sounds]]<br />
* ++[[Patch webOS GPS Tracking|GPS Tracking]]<br />
* ++[[Patch webOS Graphics|Graphics]]<br />
* ++[[Patch webOS Hourly Chime|Hourly Chime]] <br />
* [[Patch webOS Turning Off Dialpad Noise|Turning Off Dialpad Noise]]<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 Add Words to AutoCorrect Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[On Screen Keyboard]]<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 Roam Control|Roam Control]]<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>StoneRynohttp://wiki.webos-internals.org/index.php?title=Application_talk:Preware&diff=5738Application talk:Preware2009-09-14T18:03:35Z<p>StoneRyno: /* Features and Suggestions */ modified my suggestions removing stuff that was implimented</p>
<hr />
<div>{{box | color = #cdf |<br />
This is a discussion page. Create a new topic with the '+' tab. Sign your comments using the signature button or by typing <code><nowiki>~~~~</nowiki></code>. If your suggestion reaches consensus, it may be implemented in a future version of the application.<br />
}}<br />
<br />
== Features and Suggestions ==<br />
<br />
Adding some suggestions... --[[User:Decimation|Decimation]] 15:14, 17 August 2009 (EST)<br />
* Show a progress bar or some sort of notification of the download/installation progress of an app..it would really be nice to have some feedback after clicking install.<br />
* Change the pop up dialog when an app is installed/removed... it's kinda ugly. Maybe show a notification at the bottom? That would be pretty cool.<br />
** The popup dialog is temporary until the service can supply progress of the action. When there is a progress bar, the popup will no longer be needed. --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions...for way into the future -- (s4mb4)<br />
* a process that would hook into the notification system to notify of available updates.<br />
<br />
Adding some suggestions... -- [[User:Tlp|Tlp]] 23:30, 18 August 2009 (UTC)<br />
* Swipe installed applications in list to uninstall<br />
** Is there a time where you want to remove multiple apps? (multiple as in more then a couple.) --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... --[[User:Xorg|Xorg]] 16:09, 20 August 2009 (UTC)<br />
* Great that you can no see new/updated apps in 'List of Everything'. Suggest to rename 'List of Everything' to List of Newest/Updated Apps or something else that indicates this is best way to see newest apps (that may not be installed yet). <br />
* Or consider another choice to list only new apps, excluding things already installed.<br />
** The list of everything is called that because in the future it will not list only applications. The list of everything will include patches/themes/whatever else we decide to add to the preware installer. At which point we will add an "All" option to the available applications category list. --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... --[[User:Decimation|Decimation]] 12:30, 20 August 2009 (EST)<br />
* Adding an "Update All" button to the update menu would be cool.. convenience is key ;)<br />
<br />
Adding some suggestions... -- [[User:Flare576|Flare576]] 13:53, 24 August 2009 (UTC)<br />
* Since "List of Everything" holds more than just "normal apps," it would be important for there to be a way to see "All Available Apps." I suggest removing the first page of "genres" under "Available Applications," and having the first page people see be the secondary page (ie: the one after you choose a genre) with the default Genre of "All." Then, if desired, people can use the drop down to drill into an area they care about.<br />
<nowiki><br />
&nbsp;&nbsp;&nbsp;&nbsp;If there is a concern about loading up hundreds of apps when first opening that scene (and there should be concern), or if the "Normal User" likes genre filtering, perhaps leave the initial Genre page as it is, but simply add an "All" Genre so that folks that check daily can just see what's been added/updated. Maybe there needs to be a paging system so that the device only has to worry about 100 apps at a time? Or maybe not if you guys use a clever div/hide system, I don't know :)<br />
</nowiki><br />
<br />
Suggestion: --[[User:Cdjh|Cdjh]] 15:54, 30 August 2009 (UTC)<br />
*Add a feature to remove all patches and modifications to webos before and webos update. Sort of a "Get me ready for and update" button. This would allow the user to remove all these patches such as the virtual keyboard with one button to update webos without fear. One button to add them back after the update would be cool too<br />
<br />
Suggestion: [[User:StoneRyno|StoneRyno]] 21:05, 30 August 2009 (UTC)<br />
*Download counts and ratings. The end of the current detail page is ok but feels more like looking at one of the technical detail scenes like the ##DEBUG# scene. I think that info can be cleaned up to look more presentable, small font size and put version last update and size in a bar near the top of the page like seen in the official app catalog.<br />
<br />
Suggestion: [[User:Hmagoo|Hmagoo]] 11:30, 4 September 2009 (UTC)<br />
*We're in need of a workaround for the limit on installable apps via the app catalog. Preware gets around this but also, in the process, adds to the number of installed apps as seen by the App Catalog, et al. What would be a useful feature is to be able to uninstall hunks of apps previously installed by Preware in an effort to make apps installable via the App Catalog. This would be a temporary removal as we would desire reinstalling the homebrews after using the App Catalog.<br />
**Caveats: Homebrew apps that use databases, and installed/downloaded files would not be removed without reducing their usability, So we would want to exclude on a case by case basis or with the use of flags?<br />
**Preware is great in keeping track of what is installed and which version, would be great to see something like this added so that we can use the App Catalog and install piles of Homebrews. (smile)</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=5599Portal:Patches to webOS2009-09-10T02:03:54Z<p>StoneRyno: </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>'''''Note''' ''the 1.2 update is not official yet, but has been "leaked"''<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.1 OK===<br />
<br />
* [[Patch Amazon Download Music over EVDO|Amazon: Download Music over EVDO]]<br />
* [[Patch Browser Global Search Addons|Browser: Global Search Addons]]<br />
* [[Patch Browser Delete Individual History Items|Browser: Delete Individual History Items]]<br />
* [[Patch Browser Downloading Files|Browser: Downloading Files]] <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 Clock Enabling the Hidden Theme|Clock: Enabling the Hidden Theme]]<br />
* [[Patch Email Change "Running Late" Message|Email: Change "Running Late" Message]]<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 To Allow More Icons Per Row|Launcher: Allows More Icons Per Row]]<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 Messaging Adding Timestamps to All Received Messages|Messaging: Adding Timestamps to All Received Messages]]<br />
* [[Patch Messaging Change "Enter Key" To Create Newline|Messaging: Change "Enter Key" To Create Newline]]<br />
* [[Patch Messaging Character Counter|Messaging: Character Counter]]<br />
* [[Patch Messaging Display Full Status Messages|Messaging: Display Full Status Messages]] <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 Messaging New Cards For Each Conversation|Messaging: New Cards For Each Conversation]]<br />
* [[Patch MCraig Enabling Personals Category|mCraig: Enabling Personals Category]]<br />
* [[Patch MediaPlayer Bookmarking|Music Player: Bookmarking]]<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 PDF Viewer Change Orientation|PDF Viewer: Change Orientation]]<br />
* [[Patch Phone Disable Various Call Sounds|Phone: Disable Various Call Sounds]]<br />
* [[Patch Phone Edit Dialer Theme|Phone: Edit Dialer Theme]]<br />
* [[Patch Phone Editing the Lock Screen|Phone: Editing the Lock Screen]]<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 />
* [[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.1 OK===<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 Disable Charging Event Sounds|Disable Charging Event Sounds]]<br />
* [[Patch webOS GPS Tracking|GPS Tracking]]<br />
* [[Patch webOS Graphics|Graphics]]<br />
* [[Patch webOS Hourly Chime|Hourly Chime]] <br />
* [[Patch webOS Turning Off Dialpad Noise|Turning Off Dialpad Noise]]<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 Add Words to AutoCorrect Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[On Screen Keyboard]]<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 Roam Control|Roam Control]]<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>StoneRynohttp://wiki.webos-internals.org/index.php?title=Portal:Accessing_Linux&diff=5517Portal:Accessing Linux2009-09-08T05:58:18Z<p>StoneRyno: </p>
<hr />
<div>__notoc__<br />
{{portal-one-column-blue<br />
|header=Accessing Linux on the Pre or the Pre Emulator<br />
|column1=<br />
The Palm Pre is a Linux based device. Palm provides a simple method to access Linux running on the Pre or the Pre Emulator.<br />
<br />
Once you have access to Linux, everything else is a process of installing a ''community standard library'' of Linux programs so that users have the same tools and options available to them. Once this is process is completed, pretty much anything you can do on a Linux box you can also do on the Pre or the Pre Emulator.<br />
<br />
The following procedures will walk you through the process of obtaining access to Linux on the Pre or the Pre Emulator, and installing the community standard software packages.<br />
<br />
}}<br />
<br />
{{portal-two-columns<br />
|column1=<br />
== Before you start == <br />
<br />
Please make a note of this page: [[How To Recover]]<br />
<br />
If you are unfamiliar with basic Linux command usage, you should visit this page: [[Basic_Linux_Use|Basic Linux Use]]<br />
<br />
===Disclaimer===<br />
Enacting any set of instructions from this site has the (remote, but greater than zero) potential to void your warranty. Our intention and the specific design of all instructions is such that you should be able to recover using the [http://www.palm.com/ROM webOS Doctor] should anything go wrong, and put your Pre back to a state which is indistinguishable from a factory-new Pre, but we give no guarantee. Use any information from this site at your own risk. At the very least, you should be prepared to lose all data on your phone at any time. We cannot tell you what you should do - we provide the information, but it's up to your own sense of personal responsibility to determine what you do with that information. '''We require you to use the [http://www.palm.com/ROM webOS Doctor] to put your Pre back to factory condition before contacting Palm or your cellular carrier for service or support.'''<br />
<br />
You might also want to consider backing up any files you have in the usb drive portion of the Pre. <br />
|column2=<br />
== Procedure: ==<br />
<br />
# Download the [http://developer.palm.com/index.php?option=com_ajaxregister&view=register&sdkdownload Palm SDK].<br />
# Install it using the [http://developer.palm.com/index.php?option=com_content&view=article&id=1597 Palm SDK installation instructions].<br />
#* If you are on Windows 7, follow these instructions: http://www.juergentreml.de/archives/802 (If the SDK rollbacks 75% of the way through install, you will need to follow special instructions [http://forums.precentral.net/web-os-development/195043-setting-up-novacom-windows-7-easier-method.html here from PreCentral] to get the Novacom to install properly.)<br />
# Enable dev mode on your Pre [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#dev_mode Enable dev mode].<br />
# You can then run [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#CommandLineTools-palminstall palm-install] to install a package onto your Pre (or onto the Pre Emulator)<br />
#* This step is only if you have a package file you need to install. Chances are this means you are developing your own application and need to test it or testing an application for someone and they gave you the package file.<br />
# The next step varies: <br />
#* On Mac or Linux, type '''novaterm''' instead of 'palm-install' to directly access the Linux command line.<br />
#* To perform basic steps on windows (all versions including 64 bit and 7) novacom can be used ([[Novcom on Windows|Using Novacom on Windows]]), but a terminal application such as putty or novaterm will be needed to perform steps that can't be done using novacom. It is recommended to use a terminal application once basic setup is done.<br />
#**On 32 bit XP or Vista You can dowload [http://tkgeisel.com/stuff/novaterm-1.zip novaterm1.zip] and unzip it into the sdk/bin directory. Then, just like the Mac and Linux users you can just type '''novaterm'''.<br />
#** Putty is also available and installed with the SDK. <TODO: Enter link to setting up putty><br />
#* An alternative for 64 bit Windows is to use the [http://msdn.microsoft.com/en-us/library/ms164699(VS.80).aspx Corflags tool] to set the 32 bit flag on the novaterm.exe downloaded from above.<br />
# Follow desired steps from the 'Next steps' below.<br />
* Long Versions<br />
** -- detailed walk through for Mac OS X / Linux / 32 Bit Windows users: [[Accessing Linux Using Novaterm]]<br />
<br />
<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== Advanced Topics ==<br />
<br />
* [[Adding Disks to the Emulator]]<br />
* [[Backing_Up_via_Rsync|Backing Up via Rsync]]<br />
<br />
|column2=<br />
== Next Steps ==<br />
<br />
* [[Next_steps|Set up users, Optware, and access]] '''(Strongly recommended)'''<br />
* [[Applying_Patches|Applying Patches]]<br />
* [[Tutorials_Linux_DDNS_for_EVDO|DDNS for EVDO]]<br />
* [[Setup_SFTP|Setup SFTP]]<br />
<br />
<br />
}}<br />
{{portal-one-column-blue<br />
|header=Obsolete Pages<br />
|column1=<br />
<br />
There are three other old deprecated, unsupported, and much more difficult versions of the secure root access procedure below. These were developed before the Palm SDK was publicly available and are no longer required (since using the Palm SDK and novaterm is so much simpler and more reliable). <br />
* [[Accessing Linux From Windows|Windows XP or Windows Vista via USB cable (novaproxy) ]]<br />
* [[Accessing Linux From OSX|Mac OS X procedure via usb cable ]] <br />
* [[Accessing Linux From Linux|Linux procedure via usb cable ]]<br />
<br />
If you followed '''very early''' sets of obsolete instructions (even before the ones above), you might need this page:<br />
* [[Change_From_Loopback|Change from loopback]] <br />
* [[Alt_optmedia|Alternative optmedia & LVM]]<br />
<br />
}}</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Portal:Accessing_Linux&diff=5512Portal:Accessing Linux2009-09-08T05:41:50Z<p>StoneRyno: </p>
<hr />
<div>__notoc__<br />
{{portal-one-column-blue<br />
|header=Accessing Linux on the Pre or the Pre Emulator<br />
|column1=<br />
The Palm Pre is a Linux based device. Palm provides a simple method to access Linux running on the Pre or the Pre Emulator.<br />
<br />
Once you have access to Linux, everything else is a process of installing a ''community standard library'' of Linux programs so that users have the same tools and options available to them. Once this is process is completed, pretty much anything you can do on a Linux box you can also do on the Pre or the Pre Emulator.<br />
<br />
The following procedures will walk you through the process of obtaining access to Linux on the Pre or the Pre Emulator, and installing the community standard software packages.<br />
<br />
}}<br />
<br />
{{portal-two-columns<br />
|column1=<br />
== Before you start == <br />
<br />
Please make a note of this page: [[How To Recover]]<br />
<br />
If you are unfamiliar with basic Linux command usage, you should visit this page: [[Basic_Linux_Use|Basic Linux Use]]<br />
<br />
===Disclaimer===<br />
Enacting any set of instructions from this site has the (remote, but greater than zero) potential to void your warranty. Our intention and the specific design of all instructions is such that you should be able to recover using the [http://www.palm.com/ROM webOS Doctor] should anything go wrong, and put your Pre back to a state which is indistinguishable from a factory-new Pre, but we give no guarantee. Use any information from this site at your own risk. At the very least, you should be prepared to lose all data on your phone at any time. We cannot tell you what you should do - we provide the information, but it's up to your own sense of personal responsibility to determine what you do with that information. '''We require you to use the [http://www.palm.com/ROM webOS Doctor] to put your Pre back to factory condition before contacting Palm or your cellular carrier for service or support.'''<br />
<br />
You might also want to consider backing up any files you have in the usb drive portion of the Pre. <br />
|column2=<br />
== Procedure: ==<br />
<br />
# Download the [http://developer.palm.com/index.php?option=com_ajaxregister&view=register&sdkdownload Palm SDK].<br />
# Install it using the [http://developer.palm.com/index.php?option=com_content&view=article&id=1597 Palm SDK installation instructions].<br />
#* If you are on Windows 7, follow these instructions: http://www.juergentreml.de/archives/802 (If the SDK rollbacks 75% of the way through install, you will need to follow special instructions [http://forums.precentral.net/web-os-development/195043-setting-up-novacom-windows-7-easier-method.html here from PreCentral] to get the Novacom to install properly.)<br />
# Enable dev mode on your Pre [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#dev_mode Enable dev mode].<br />
# You can then run [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#CommandLineTools-palminstall palm-install] to install a package onto your Pre (or onto the Pre Emulator)<br />
#* This step is only if you have a package file you need to install. Chances are this means you are developing your own application and need to test it or testing an application for someone and they gave you the package file.<br />
# The next step varies: <br />
#* On Mac or Linux, type '''novaterm''' instead of 'palm-install' to directly access the Linux command line.<br />
#* To perform basic steps on windows (all versions including 64 bit and 7) novacom can be used ([[Novcom on Windows|Using Novacom on Windows]]), but a terminal application such as putty or novaterm will be needed to perform steps that can't be done using novacom. It is recommended to use a terminal application.<br />
#**On 32 bit XP or Vista You can dowload [http://tkgeisel.com/stuff/novaterm-1.zip novaterm1.zip] and unzip it into the sdk/bin directory. Then, just like the Mac and Linux users you can just type '''novaterm'''.<br />
#** Putty is also available and installed with the SDK. <TODO: Enter link to setting up putty><br />
#* An alternative for 64 bit Windows is to use the [http://msdn.microsoft.com/en-us/library/ms164699(VS.80).aspx Corflags tool] to set the 32 bit flag on the novaterm.exe downloaded from above.<br />
# Follow desired steps from the 'Next steps' below.<br />
* Long Versions<br />
** -- detailed walk through for Mac OS X / Linux / 32 Bit Windows users: [[Accessing Linux Using Novaterm]]<br />
<br />
<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== Advanced Topics ==<br />
<br />
* [[Adding Disks to the Emulator]]<br />
* [[Backing_Up_via_Rsync|Backing Up via Rsync]]<br />
<br />
|column2=<br />
== Next Steps ==<br />
<br />
* [[Next_steps|Set up users, Optware, and access]] '''(Strongly recommended)'''<br />
* [[Applying_Patches|Applying Patches]]<br />
* [[Tutorials_Linux_DDNS_for_EVDO|DDNS for EVDO]]<br />
* [[Setup_SFTP|Setup SFTP]]<br />
<br />
<br />
}}<br />
{{portal-one-column-blue<br />
|header=Obsolete Pages<br />
|column1=<br />
<br />
There are three other old deprecated, unsupported, and much more difficult versions of the secure root access procedure below. These were developed before the Palm SDK was publicly available and are no longer required (since using the Palm SDK and novaterm is so much simpler and more reliable). <br />
* [[Accessing Linux From Windows|Windows XP or Windows Vista via USB cable (novaproxy) ]]<br />
* [[Accessing Linux From OSX|Mac OS X procedure via usb cable ]] <br />
* [[Accessing Linux From Linux|Linux procedure via usb cable ]]<br />
<br />
If you followed '''very early''' sets of obsolete instructions (even before the ones above), you might need this page:<br />
* [[Change_From_Loopback|Change from loopback]] <br />
* [[Alt_optmedia|Alternative optmedia & LVM]]<br />
<br />
}}</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Application_talk:Preware&diff=4984Application talk:Preware2009-08-30T21:05:33Z<p>StoneRyno: /* Features and Suggestions */</p>
<hr />
<div>{{box | color = #cdf |<br />
This is a discussion page. Create a new topic with the '+' tab. Sign your comments using the signature button or by typing <code><nowiki>~~~~</nowiki></code>. If your suggestion reaches consensus, it may be implemented in a future version of the application.<br />
}}<br />
<br />
== Features and Suggestions ==<br />
<br />
Adding some suggestions... --[[User:Decimation|Decimation]] 15:14, 17 August 2009 (EST)<br />
* Show a progress bar or some sort of notification of the download/installation progress of an app..it would really be nice to have some feedback after clicking install.<br />
* Change the pop up dialog when an app is installed/removed... it's kinda ugly. Maybe show a notification at the bottom? That would be pretty cool.<br />
** The popup dialog is temporary until the service can supply progress of the action. When there is a progress bar, the popup will no longer be needed. --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... -- (xorg)<br />
* Descriptions of each app<br />
** Descriptions will come when the feed supports them. (hopefully soonish) --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions...for way into the future -- (s4mb4)<br />
* a process that would hook into the notification system to notify of available updates.<br />
<br />
Adding some suggestions... -- [[User:Tlp|Tlp]] 23:30, 18 August 2009 (UTC)<br />
* Swipe installed applications in list to uninstall<br />
** Is there a time where you want to remove multiple apps? (multiple as in more then a couple.) --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... [[User:Flare576|Flare576]] 17:49, 19 August 2009 (UTC)<br />
* In addition to xorg's suggestion: screen shots are also supported by filecoaster; perhaps standardizing description/screen shots in the repositories?<br />
** Screenshots will come when the feed supports them. (hopefully soonish) --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... --[[User:Xorg|Xorg]] 16:09, 20 August 2009 (UTC)<br />
* Great that you can no see new/updated apps in 'List of Everything'. Suggest to rename 'List of Everything' to List of Newest/Updated Apps or something else that indicates this is best way to see newest apps (that may not be installed yet). <br />
* Or consider another choice to list only new apps, excluding things already installed.<br />
** The list of everything is called that because in the future it will not list only applications. The list of everything will include patches/themes/whatever else we decide to add to the preware installer. At which point we will add an "All" option to the available applications category list. --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... --[[User:Decimation|Decimation]] 12:30, 20 August 2009 (EST)<br />
* Adding an "Update All" button to the update menu would be cool.. convenience is key ;)<br />
<br />
Adding some suggestions... -- [[User:Flare576|Flare576]] 13:53, 24 August 2009 (UTC)<br />
* Since "List of Everything" holds more than just "normal apps," it would be important for there to be a way to see "All Available Apps." I suggest removing the first page of "genres" under "Available Applications," and having the first page people see be the secondary page (ie: the one after you choose a genre) with the default Genre of "All." Then, if desired, people can use the drop down to drill into an area they care about.<br />
<nowiki><br />
&nbsp;&nbsp;&nbsp;&nbsp;If there is a concern about loading up hundreds of apps when first opening that scene (and there should be concern), or if the "Normal User" likes genre filtering, perhaps leave the initial Genre page as it is, but simply add an "All" Genre so that folks that check daily can just see what's been added/updated. Maybe there needs to be a paging system so that the device only has to worry about 100 apps at a time? Or maybe not if you guys use a clever div/hide system, I don't know :)<br />
</nowiki><br />
<br />
Suggestion: [[User:StoneRyno|StoneRyno]] 00:47, 29 August 2009 (UTC)<br />
*Add a most recent selection to show most recent new apps and updates like the official app catalog has.<br />
<br />
Suggestion: --[[User:Cdjh|Cdjh]] 15:54, 30 August 2009 (UTC)<br />
*Add a feature to remove all patches and modifications to webos before and webos update. Sort of a "Get me ready for and update" button. This would allow the user to remove all these patches such as the virtual keyboard with one button to update webos without fear. One button to add them back after the update would be cool too<br />
<br />
Suggestion: [[User:StoneRyno|StoneRyno]] 21:05, 30 August 2009 (UTC)<br />
*Application detail scene more like the official app catalog.<br />
**Icon and app name at top<br />
**a line below that with version number, last update date, and app size.<br />
**Below that 2-3 screenshot thumbnails<br />
**Below that a description of the app.<br />
*Optionally there can be download counts and ratings. The current detail page is ok but feels more like looking at one of the technical detail scenes like the ##DEBUG# scene. I think having a similar look to the official app catalog app detail scene would be good.<br />
Improvement:<br />
*Loading after launching preware seems to be spotty. So far I find it appears to hang and need to be closed and opened again to load the initial list view. I've only used the app a half dozen times so far so maybe it is a fluke. Will remove this if it is.</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Talk:Preware_Design&diff=4904Talk:Preware Design2009-08-29T00:47:40Z<p>StoneRyno: /* Features and Suggestions */</p>
<hr />
<div>{{box | color = #cdf |<br />
This is a discussion page. Create a new topic with the '+' tab. Sign your comments using the signature button or by typing <code><nowiki>~~~~</nowiki></code>. If your suggestion reaches consensus, you may implement it on the application page.<br />
}}<br />
<br />
== Replacing wiki pages? ==<br />
<br />
Is this going to replace the application pages in this wiki? I think it should.<br />
—[[user:X1011|X1011]] 22:31, 25 July 2009 (UTC)<br />
<br />
This has not been decided yet, but in all odds it eventually will. --[[User:Templarian|Templarian]] 03:18, 3 August 2009 (UTC)<br />
<br />
== XML feeds ==<br />
<br />
* instead of <firmware>:<br />
<source lang='xml'><br />
<webOSVersion><br />
<min>1.0.3</min><br />
<max>1.1</max><br />
</webOSVersion><br />
</source><br />
* maintainer:<br />
<source lang='xml'><br />
<maintainer id="42"><br />
<name>John Doe</name><br />
<email>email@domain.com</email><br />
</maintainer><br />
</source><br />
* should a category have an id? everything else does.<br />
* in the review, you have the type in the message tag, but in the comment, you have it in the messages tag.<br />
* <comment> should be <text> or <body><br />
* in <comment>, what do you mean by 'split it somewhere'?<br />
* does <code>preware.org/feed/xml/type/</code> have a meaning? if not, we should use:<br />
<source lang='text'><br />
preware.org/feed/xml/application/23/<br />
preware.org/feed/xml/plugin/23/<br />
</source><br />
<br />
—[[user:X1011|X1011]] 09:27, 29 July 2009 (UTC)<br />
<br />
- Agreed with all suggestions in this section, and they are now reflected in the article. --[[User:Templarian|Templarian]] 02:33, 3 August 2009 (UTC)<br />
<br />
For "preware.org/feed/xml/application/23/" since it shares id's, couldn't it just be "/xml/23/". --[[user:Templarian|Templarian]]<br />
<br />
== GUI Addition: Version# and Changelog ==<br />
<br />
Idea: Add a small "Details" or "+" button on the app and plugins pages. It can go at the end of the description, or possibly to the right of the very large "Install/Delete" button. It may not be wanted though. I know we don't want to show version numbers on the app page, but I'd love to have some way to access the version number and changelog from within the Preware app, even if its semi-hidden. I read the results of Rick's papercraft gui study, and agree with a lot of the comments, but I still feel like this is something that would be helpful to have available somewhere in the app, even if it isn't immediately obvious how to get to it (since its not something that is necessarily required by the average user). --[[User:Zinge|Zinge]] 02:29, 3 August 2009 (UTC)<br />
<br />
Changes reflected in the Preware Application mockup image. --[[User:Templarian|Templarian]] 02:46, 3 August 2009 (UTC)<br />
<br />
Looks good, but we may want to change the "list" icon to something that look less like "go back to the app list". My suggestions are- are lowercase "i" or the "+" symbol. Any better ideas? --[[User:Zinge|Zinge]] 02:56, 3 August 2009 (UTC)<br />
<br />
lowercase i is the correct icon, I changed it to reflect that in the mockup. --[[User:Templarian|Templarian]] 03:11, 3 August 2009 (UTC)<br />
<br />
== button resizing ==<br />
<br />
For the first screenshot I think it would be best if we made it so that the buttons resize. No scrolling in any form even if there notifications below it. --[[user:Templarian|Templarian]]<br />
<br />
<br />
== License id ==<br />
<br />
Do you think we should put the versions next to all of them to be consistent? --[[User:Templarian|Templarian]] 02:33, 5 August 2009 (UTC)<br />
<br />
what is the purpose of having a license id? —[[user:X1011|X1011]] 04:51, 5 August 2009 (UTC)<br />
<br />
Since the Preware app is listed for Open Source projects it was mentioned it would be nice to have it listed on the information button (which may be moved to a drop down at the right of the top title). Really treating the info screen as the information normal users do not care about seeing immediately. The license id is just a standard id that will never change. --[[User:Templarian|Templarian]] 14:12, 5 August 2009 (UTC)<br />
<br />
are you saying the name of a license is likely to change? i doubt that. if you must have a license id, though, just make it a number like all the other ids. —[[user:X1011|X1011]] 04:35, 6 August 2009 (UTC)<br />
<br />
Yea, probably change that to a number sometime. --[[User:Templarian|Templarian]] 05:29, 6 August 2009 (UTC)<br />
<br />
== Features and Suggestions ==<br />
<br />
Adding some suggestions... --[[User:Decimation|Decimation]] 15:14, 17 August 2009 (EST)<br />
* Show a progress bar or some sort of notification of the download/installation progress of an app..it would really be nice to have some feedback after clicking install.<br />
* Change the pop up dialog when an app is installed/removed... it's kinda ugly. Maybe show a notification at the bottom? That would be pretty cool.<br />
** The popup dialog is temporary until the service can supply progress of the action. When there is a progress bar, the popup will no longer be needed. --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... -- (xorg)<br />
* Descriptions of each app<br />
** Descriptions will come when the feed supports them. (hopefully soonish) --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions...for way into the future -- (s4mb4)<br />
* a process that would hook into the notification system to notify of available updates.<br />
<br />
Adding some suggestions... -- [[User:Tlp|Tlp]] 23:30, 18 August 2009 (UTC)<br />
* Swipe installed applications in list to uninstall<br />
** Is there a time where you want to remove multiple apps? (multiple as in more then a couple.) --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... [[User:Flare576|Flare576]] 17:49, 19 August 2009 (UTC)<br />
* In addition to xorg's suggestion: screen shots are also supported by filecoaster; perhaps standardizing description/screen shots in the repositories?<br />
** Screenshots will come when the feed supports them. (hopefully soonish) --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... --[[User:Xorg|Xorg]] 16:09, 20 August 2009 (UTC)<br />
* Great that you can no see new/updated apps in 'List of Everything'. Suggest to rename 'List of Everything' to List of Newest/Updated Apps or something else that indicates this is best way to see newest apps (that may not be installed yet). <br />
* Or consider another choice to list only new apps, excluding things already installed.<br />
** The list of everything is called that because in the future it will not list only applications. The list of everything will include patches/themes/whatever else we decide to add to the preware installer. At which point we will add an "All" option to the available applications category list. --[[User:Oil|oil]] 20:44, 20 August 2009 (UTC)<br />
<br />
Adding some suggestions... --[[User:Decimation|Decimation]] 12:30, 20 August 2009 (EST)<br />
* Adding an "Update All" button to the update menu would be cool.. convenience is key ;)<br />
<br />
Adding some suggestions... -- [[User:Flare576|Flare576]] 13:53, 24 August 2009 (UTC)<br />
* Since "List of Everything" holds more than just "normal apps," it would be important for there to be a way to see "All Available Apps." I suggest removing the first page of "genres" under "Available Applications," and having the first page people see be the secondary page (ie: the one after you choose a genre) with the default Genre of "All." Then, if desired, people can use the drop down to drill into an area they care about.<br />
<nowiki><br />
&nbsp;&nbsp;&nbsp;&nbsp;If there is a concern about loading up hundreds of apps when first opening that scene (and there should be concern), or if the "Normal User" likes genre filtering, perhaps leave the initial Genre page as it is, but simply add an "All" Genre so that folks that check daily can just see what's been added/updated. Maybe there needs to be a paging system so that the device only has to worry about 100 apps at a time? Or maybe not if you guys use a clever div/hide system, I don't know :)<br />
</nowiki><br />
<br />
Suggestion: [[User:StoneRyno|StoneRyno]] 00:47, 29 August 2009 (UTC)<br />
*Add a most recent selection to show most recent new apps and updates like the official app catalog has.<br />
<br />
== Issues 0.5 first public release ==<br />
* Was working fine first several updates over several hours. Now for last day, just get spinning 'Updating' at startup. (xorg)<br />
<br />
* seems 0.5.1 corrected that.<br />
<br />
* I've updated to 0.5.1 and it ran first time ok. Second time get continuous spinning update. (xorg)<br />
<br />
* Reinstalled, now working again - for now. (xorg)</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Launcher_To_Allow_More_Icons_Per_Row&diff=4778Patch Launcher To Allow More Icons Per Row2009-08-25T16:16:29Z<p>StoneRyno: </p>
<hr />
<div>{{template:patch}}<br />
<br />
==Introduction==<br />
<br />
[[Image: 5by4Launcher.png|thumb|right]]<br />
'''THIS IS 1.1.0 SAFE, DO NOT TRY IT WITH ANY OTHER WEBOS VERSION'''<br />
<br />
This patch allows you to have a 20 icon, 5x4 launcher page. It decreases icon size and text size, changes the apps per row, and moves the text closer to the icon. It also modifies where the page indicators and margins are a little.<br />
<br />
==End Result==<br />
<br />
The thumbnail image on the right shows launcher after the patch is applied.<br />
<br />
==Patch Process==<br />
<br />
If you are not familiar with the Webos-Internals patching process, you'll need to visit the [[Applying Patches|Applying Patches]] section of the wiki to know how to use the patch. After you have set up everything and are ready to download the patch, it is in the''' modifications''' repo under '''"luna/more_icons_per_row.patch"''' ===address forthcoming===<br />
<br />
This patch also includes the patch to allow a user to add and remove additional launcher pages. You might have to remove that patch before applying this one.<br />
<br />
==Patch Code==<br />
<br />
<pre><br />
Index: /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js<br />
===================================================================<br />
--- .orig/usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js<br />
+++ /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js<br />
@@ -16,7 +16,7 @@ var LauncherAssistant = Class.create({<br />
*/<br />
kBottomFadeHeight: 0,<br />
<br />
- kPageIndicatorSpacing: 6, /* spacing between each page indicator */<br />
+ kPageIndicatorSpacing: 1, /* spacing between each page indicator */<br />
kPageMargin: 10, /* 10 pixel margin on each side of a page */<br />
kTopMargin: 12,<br />
kPageWidthNoMargin: NaN,<br />
@@ -30,8 +30,8 @@ var LauncherAssistant = Class.create({<br />
visible: true,<br />
label: $L('Launcher'),<br />
items: [<br />
- /*{ label: $L('New page'), command: 'newpage' },<br />
- { label: $L('Delete page'), command: 'deletepage' },*/<br />
+ { label: $L('New page'), command: 'newpage' },<br />
+ { label: $L('Delete page'), command: 'deletepage' },<br />
Mojo.Menu.editItem,<br />
{ label: $L('List Apps...'), command: 'listapps' },<br />
Mojo.Menu.helpItem<br />
@@ -125,7 +125,24 @@ var LauncherAssistant = Class.create({<br />
ApplicationService.launch(this.deviceInfo.id, this.deviceInfo.params);<br />
break;<br />
/*<br />
- case 'newpage':<br />
+ START ENABLE PAGE ADD AND DELETE */<br />
+ case 'newpage':<br />
+ if (this.pageDivs.length < 10) {<br />
+ this.insertPage(this.activePageIndex, true);<br />
+ }<br />
+ break;<br />
+ case 'deletepage':<br />
+ if (this.pageDivs.length > 1) {<br />
+ this.deletePage(this.activePageIndex);<br />
+ if (this.activePageIndex >= this.pageDivs.length) {<br />
+ this.activePageIndex = this.pageDivs.length - 1;<br />
+ }<br />
+ }<br />
+ break;<br />
+ /*<br />
+ END ENABLE PAGE ADD AND DELETE<br />
+<br />
+ case 'newpage':<br />
if (this.pageDivs.length < 10) {<br />
this.insertPage(this.activePageIndex, true);<br />
}<br />
@@ -382,9 +399,9 @@ var LauncherAssistant = Class.create({<br />
var newAppDiv = $(newAppInfo.launchPointId);<br />
Mojo.assert(newAppDiv !== undefined, "Application (%d) was inserted into the DOM but unable to be retrieved!", newAppInfo.launchPointId);<br />
if (isNaN(this.kAppWidth) || isNaN(this.kAppHeight)) {<br />
- this.kAppWidth = newAppDiv.getWidth();<br />
- this.kAppHeight = newAppDiv.getHeight();<br />
- this.kAppsPerRow = Math.round(this.kPageWidthNoMargin / this.kAppWidth);<br />
+ this.kAppWidth = 55;<br />
+ this.kAppHeight = 90;<br />
+ this.kAppsPerRow = 5;<br />
}<br />
<br />
Mojo.listen(newAppDiv, Mojo.Event.tap, this.onAppTapped.bindAsEventListener(this));<br />
@@ -498,7 +515,7 @@ var LauncherAssistant = Class.create({<br />
/* determines the position of an app element at appIndex within a page */<br />
calculateAppPosition: function(appIndex) {<br />
return {<br />
- left: (((appIndex % this.kAppsPerRow) * this.kAppWidth) + this.kPageMargin),<br />
+ left: (((appIndex % this.kAppsPerRow) * this.kAppWidth)),<br />
top: (Math.floor(appIndex/this.kAppsPerRow) * this.kAppHeight + this.kTopMargin)<br />
};<br />
},<br />
Index: /usr/lib/luna/system/luna-applauncher/stylesheets/launcher.css<br />
===================================================================<br />
--- .orig/usr/lib/luna/system/luna-applauncher/stylesheets/launcher.css<br />
+++ /usr/lib/luna/system/luna-applauncher/stylesheets/launcher.css<br />
@@ -116,7 +116,7 @@ body.palm-default<br />
<br />
.launcher_page .name { <br />
position:absolute;<br />
- top: 68px;<br />
+ top: 48px;<br />
width:100px;<br />
height: 34px;<br />
max-height: 34px;<br />
@@ -125,7 +125,7 @@ body.palm-default<br />
color:white;<br />
text-align:center;<br />
font-weight:bold;<br />
- font-size: 14px; <br />
+ font-size: 9px; <br />
overflow: hidden;<br />
text-overflow: ellipsis;<br />
z-index:5;<br />
@@ -148,8 +148,8 @@ body.palm-default<br />
}<br />
<br />
.draggable {<br />
- width:64px;<br />
- height:64px;<br />
+ width:48px;<br />
+ height:48px;<br />
margin: 0 auto;<br />
-webkit-user-drag: any;<br />
-webkit-user-select: none;<br />
@@ -192,8 +192,8 @@ body.palm-default<br />
<br />
#app-icon {<br />
float:left;<br />
- width:64px;<br />
- height:64px;<br />
+ width:32px;<br />
+ height:32px;<br />
background: center center no-repeat;<br />
}<br />
</pre><br />
<br />
==Multi-line Icon Text==<br />
<br />
[[Image: 4pre_row.jpg|thumb|right]]<br />
I noticed that this makes some of the apps with longer names run into each other. I fixed this by going into the stylesheet and modifying <br />
<pre><br />
.launcher_page .name<br />
left:12px;<br />
width:80px;<br />
</pre><br />
The values may be different for you, I am using 4 icons per row instead of 5.<br />
<br />
'''Suggestion: Can someone provide instructions for a 4x4 icon setup or an NxN setup? I find the 5x4 setup to be too small, and I often misclick on an icon.'''<br />
<br />
For 5 per row you can use:<br />
<pre><br />
.launcher_page .name<br />
left: 20px;<br />
width: 60px;<br />
</pre><br />
This looks fairly center and none of the words run over each other.<br />
<br />
==Widen space between icons and reduce margins==<br />
<br />
[[image: wide_5_row.jpg|thumb|right]]<br />
Change <pre>this.kAppWidth = 55;</pre> to <pre>this.kAppWidth = 64;</pre> will widen the space between each icon in the rows. To allow for this extra space and to balance the look of the page the left margin needs to be reduced by changing <pre>left: (((appIndex % this.kAppsPerRow) * this.kAppWidth) + this.kPageMargin),</pre> to <pre>left: (((appIndex % this.kAppsPerRow) * this.kAppWidth) - 18),</pre></div>StoneRynohttp://wiki.webos-internals.org/index.php?title=File:Wide_5_row.jpg&diff=4777File:Wide 5 row.jpg2009-08-25T16:13:20Z<p>StoneRyno: </p>
<hr />
<div></div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Email_Enable_Landscape_Viewing&diff=4194Patch Email Enable Landscape Viewing2009-08-11T00:57:22Z<p>StoneRyno: /* Procedure prior to 1.1 */</p>
<hr />
<div>{{template:patch}}<br />
==Introduction==<br />
<br />
This will enable landscape mode for email so that using the keyboard entered code to enable it per session will not be needed.<br />
<br />
==Procedure for 1.1==<br />
<br />
From [http://forums.precentral.net/web-os-development/191814-howto-always-enable-e-mail-app-rotation-w-landscape-view.html| precentral.net Email Landscape Patch], it is indicated certified working on 1.1 but not to be applied to versions prior to 1.1. If the author grants permission to duplicate it here please do so.<br />
<br />
==Procedure prior to 1.1==<br />
<br />
Enabling rotation in email is trivial. Whenever you rotate the device, the system calls the orientationChanged function of the app. There's already one defined in email, but for some reason it does nothing. You can enable rotation by applying the following patches.<br />
<br />
NOTE: The root of the patches is /usr/palm/applications/com.palm.app.email/<br />
<br />
You will need write permissions to the file system on your Pre to apply this patch.<br />
<br />
To get write persmissions execute:<br />
<pre><nowiki>rootfs_open -w</nowiki></pre><br />
<br />
After you've made the changes below, remount the file system as read-only:<br />
<pre><nowiki>mount -o remount,ro /</nowiki></pre><br />
<br />
=== app/controllers/list-assistant.js===<br />
<br />
<pre><nowiki><br />
--- list-assistant.js_2009-06-27 Sat Jun 27 19:19:19 2009<br />
+++ list-assistant.js Sat Jun 27 20:03:19 2009<br />
@@ -27,6 +27,9 @@<br />
{label:$L('Update'), icon:'sync', command:'sync'}<br />
]};<br />
this.controller.setupWidget(Mojo.Menu.commandMenu, undefined, this.cmdMenuModel);<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
// NOTE: this is called by app_scene's _setup function<br />
</nowiki></pre><br />
<br />
=== app/controllers/compose-assistant.js===<br />
<br />
<pre><nowiki><br />
--- compose-assistant.js_2009-06-27 Sat Jun 27 19:21:43 2009<br />
+++ compose-assistant.js Sat Jun 27 20:03:45 2009<br />
@@ -178,6 +178,9 @@<br />
<br />
// Delayed a little, since we want the header part of render as quickly as possible<br />
ComposeAssistant.onLoad.defer(this.controller, this.email);<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
cleanup: function() {<br />
</nowiki></pre><br />
<br />
=== app/controllers/accounts-assistant.js===<br />
<br />
<pre><nowiki><br />
--- accounts-assistant.js_2009-06-27 Sat Jun 27 19:29:47 2009<br />
+++ accounts-assistant.js Sat Jun 27 20:01:28 2009<br />
@@ -51,6 +51,9 @@<br />
EmailAppDepot.depot.isShowFavorites(AccountsAssistant.kFavoriteFoldersAccountID, this.depotGetFavExpanded.bind(this));<br />
<br />
this.controller.listen(this.controller.sceneElement, Mojo.Event.keypress, this.keypressHandler.bind(this));<br />
+ <br />
+ // enable free orientation <br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
cleanup: function() {<br />
</nowiki></pre><br />
<br />
== Notes==<br />
<br />
Credit goes to jblebrun for the original hack.<br />
<br />
Seems that the menu disappears in landscape mode and that the orientation mode carries over from one part of the app to the other as you move to a message or back to the message list or account list. This is especially weird in the compose screen since the menu has some needed functionality in it<br />
~ FXDemolisher<br />
<br />
Curious item found in accounts-assitant.js. There seems to be an orientationString variable in the controller that is linked to some kind of hack if you type a specific string while having the account(folder) list open. Will investigate further. <br />
<br />
UPDATE: Seems that typing "RocknRollHax" (see ./app/controllers/accounts-assistant.js) in the accounts list window will cause the email app to go into 'free' orientation mode. Looks like its an easier way to perform orientation changes instead of explicitly calling setWindowOrientation whenever the orientation changes. '''Doesnt work'''<br />
<br />
Alternate to RocknRollHax: In accounts-assistant.js, change key word in line 106 to 'wide' or whatever you want. Change string length in line 104 to num characters of your new key word. - xorg<br />
<br />
- FXDemolisher<br />
<br />
7/25/2009 With webOS 1.1 you can type "wide" to activate this feature w/o editing any files. However it is not persistent between application launches. <br />
<br />
Only the '''accounts-assistant.js''' file needs to be patched in webOS 1.1. The '''compose-assistant.js''' edit needs work as it currently does not work in webOS 1.1.<br />
<br />
-NetWhiz</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Email_Enable_Landscape_Viewing&diff=4193Patch Email Enable Landscape Viewing2009-08-11T00:56:14Z<p>StoneRyno: /* Introduction */</p>
<hr />
<div>{{template:patch}}<br />
==Introduction==<br />
<br />
This will enable landscape mode for email so that using the keyboard entered code to enable it per session will not be needed.<br />
<br />
==Procedure for 1.1==<br />
<br />
From [http://forums.precentral.net/web-os-development/191814-howto-always-enable-e-mail-app-rotation-w-landscape-view.html| precentral.net Email Landscape Patch], it is indicated certified working on 1.1 but not to be applied to versions prior to 1.1. If the author grants permission to duplicate it here please do so.<br />
<br />
==Procedure prior to 1.1==<br />
<br />
Enabling rotation in email is trivial. Whenever you rotate the device, the system calls the orientationChanged function of the app. There's already one defined in email, but for some reason it does nothing. You can enable rotation by applying the following patches.<br />
<br />
NOTE: The root of the patches is /usr/palm/applications/com.palm.app.email/<br />
<br />
=== app/controllers/list-assistant.js===<br />
<br />
<pre><nowiki><br />
--- list-assistant.js_2009-06-27 Sat Jun 27 19:19:19 2009<br />
+++ list-assistant.js Sat Jun 27 20:03:19 2009<br />
@@ -27,6 +27,9 @@<br />
{label:$L('Update'), icon:'sync', command:'sync'}<br />
]};<br />
this.controller.setupWidget(Mojo.Menu.commandMenu, undefined, this.cmdMenuModel);<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
// NOTE: this is called by app_scene's _setup function<br />
</nowiki></pre><br />
<br />
=== app/controllers/compose-assistant.js===<br />
<br />
<pre><nowiki><br />
--- compose-assistant.js_2009-06-27 Sat Jun 27 19:21:43 2009<br />
+++ compose-assistant.js Sat Jun 27 20:03:45 2009<br />
@@ -178,6 +178,9 @@<br />
<br />
// Delayed a little, since we want the header part of render as quickly as possible<br />
ComposeAssistant.onLoad.defer(this.controller, this.email);<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
cleanup: function() {<br />
</nowiki></pre><br />
<br />
=== app/controllers/accounts-assistant.js===<br />
<br />
<pre><nowiki><br />
--- accounts-assistant.js_2009-06-27 Sat Jun 27 19:29:47 2009<br />
+++ accounts-assistant.js Sat Jun 27 20:01:28 2009<br />
@@ -51,6 +51,9 @@<br />
EmailAppDepot.depot.isShowFavorites(AccountsAssistant.kFavoriteFoldersAccountID, this.depotGetFavExpanded.bind(this));<br />
<br />
this.controller.listen(this.controller.sceneElement, Mojo.Event.keypress, this.keypressHandler.bind(this));<br />
+ <br />
+ // enable free orientation <br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
cleanup: function() {<br />
</nowiki></pre><br />
<br />
== Notes==<br />
<br />
Credit goes to jblebrun for the original hack.<br />
<br />
Seems that the menu disappears in landscape mode and that the orientation mode carries over from one part of the app to the other as you move to a message or back to the message list or account list. This is especially weird in the compose screen since the menu has some needed functionality in it<br />
~ FXDemolisher<br />
<br />
Curious item found in accounts-assitant.js. There seems to be an orientationString variable in the controller that is linked to some kind of hack if you type a specific string while having the account(folder) list open. Will investigate further. <br />
<br />
UPDATE: Seems that typing "RocknRollHax" (see ./app/controllers/accounts-assistant.js) in the accounts list window will cause the email app to go into 'free' orientation mode. Looks like its an easier way to perform orientation changes instead of explicitly calling setWindowOrientation whenever the orientation changes. '''Doesnt work'''<br />
<br />
Alternate to RocknRollHax: In accounts-assistant.js, change key word in line 106 to 'wide' or whatever you want. Change string length in line 104 to num characters of your new key word. - xorg<br />
<br />
- FXDemolisher<br />
<br />
7/25/2009 With webOS 1.1 you can type "wide" to activate this feature w/o editing any files. However it is not persistent between application launches. <br />
<br />
Only the '''accounts-assistant.js''' file needs to be patched in webOS 1.1. The '''compose-assistant.js''' edit needs work as it currently does not work in webOS 1.1.<br />
<br />
-NetWhiz</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Email_Enable_Landscape_Viewing&diff=4192Patch Email Enable Landscape Viewing2009-08-11T00:52:23Z<p>StoneRyno: /* Procedure for 1.1 */</p>
<hr />
<div>{{template:patch}}<br />
==Introduction==<br />
<br />
<br />
You will need write permissions to the file system on your Pre to apply this patch.<br />
<br />
To get write persmissions execute:<br />
<pre><nowiki>rootfs_open -w</nowiki></pre><br />
<br />
After you've made the changes below, remount the file system as read-only:<br />
<pre><nowiki>mount -o remount,ro /</nowiki></pre><br />
<br />
==Procedure for 1.1==<br />
<br />
From [http://forums.precentral.net/web-os-development/191814-howto-always-enable-e-mail-app-rotation-w-landscape-view.html| precentral.net Email Landscape Patch], it is indicated certified working on 1.1 but not to be applied to versions prior to 1.1. If the author grants permission to duplicate it here please do so.<br />
<br />
==Procedure prior to 1.1==<br />
<br />
Enabling rotation in email is trivial. Whenever you rotate the device, the system calls the orientationChanged function of the app. There's already one defined in email, but for some reason it does nothing. You can enable rotation by applying the following patches.<br />
<br />
NOTE: The root of the patches is /usr/palm/applications/com.palm.app.email/<br />
<br />
=== app/controllers/list-assistant.js===<br />
<br />
<pre><nowiki><br />
--- list-assistant.js_2009-06-27 Sat Jun 27 19:19:19 2009<br />
+++ list-assistant.js Sat Jun 27 20:03:19 2009<br />
@@ -27,6 +27,9 @@<br />
{label:$L('Update'), icon:'sync', command:'sync'}<br />
]};<br />
this.controller.setupWidget(Mojo.Menu.commandMenu, undefined, this.cmdMenuModel);<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
// NOTE: this is called by app_scene's _setup function<br />
</nowiki></pre><br />
<br />
=== app/controllers/compose-assistant.js===<br />
<br />
<pre><nowiki><br />
--- compose-assistant.js_2009-06-27 Sat Jun 27 19:21:43 2009<br />
+++ compose-assistant.js Sat Jun 27 20:03:45 2009<br />
@@ -178,6 +178,9 @@<br />
<br />
// Delayed a little, since we want the header part of render as quickly as possible<br />
ComposeAssistant.onLoad.defer(this.controller, this.email);<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
cleanup: function() {<br />
</nowiki></pre><br />
<br />
=== app/controllers/accounts-assistant.js===<br />
<br />
<pre><nowiki><br />
--- accounts-assistant.js_2009-06-27 Sat Jun 27 19:29:47 2009<br />
+++ accounts-assistant.js Sat Jun 27 20:01:28 2009<br />
@@ -51,6 +51,9 @@<br />
EmailAppDepot.depot.isShowFavorites(AccountsAssistant.kFavoriteFoldersAccountID, this.depotGetFavExpanded.bind(this));<br />
<br />
this.controller.listen(this.controller.sceneElement, Mojo.Event.keypress, this.keypressHandler.bind(this));<br />
+ <br />
+ // enable free orientation <br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
cleanup: function() {<br />
</nowiki></pre><br />
<br />
== Notes==<br />
<br />
Credit goes to jblebrun for the original hack.<br />
<br />
Seems that the menu disappears in landscape mode and that the orientation mode carries over from one part of the app to the other as you move to a message or back to the message list or account list. This is especially weird in the compose screen since the menu has some needed functionality in it<br />
~ FXDemolisher<br />
<br />
Curious item found in accounts-assitant.js. There seems to be an orientationString variable in the controller that is linked to some kind of hack if you type a specific string while having the account(folder) list open. Will investigate further. <br />
<br />
UPDATE: Seems that typing "RocknRollHax" (see ./app/controllers/accounts-assistant.js) in the accounts list window will cause the email app to go into 'free' orientation mode. Looks like its an easier way to perform orientation changes instead of explicitly calling setWindowOrientation whenever the orientation changes. '''Doesnt work'''<br />
<br />
Alternate to RocknRollHax: In accounts-assistant.js, change key word in line 106 to 'wide' or whatever you want. Change string length in line 104 to num characters of your new key word. - xorg<br />
<br />
- FXDemolisher<br />
<br />
7/25/2009 With webOS 1.1 you can type "wide" to activate this feature w/o editing any files. However it is not persistent between application launches. <br />
<br />
Only the '''accounts-assistant.js''' file needs to be patched in webOS 1.1. The '''compose-assistant.js''' edit needs work as it currently does not work in webOS 1.1.<br />
<br />
-NetWhiz</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Email_Enable_Landscape_Viewing&diff=4189Patch Email Enable Landscape Viewing2009-08-11T00:50:15Z<p>StoneRyno: added a link to a procedure for patching this for 1.1</p>
<hr />
<div>{{template:patch}}<br />
==Introduction==<br />
<br />
<br />
You will need write permissions to the file system on your Pre to apply this patch.<br />
<br />
To get write persmissions execute:<br />
<pre><nowiki>rootfs_open -w</nowiki></pre><br />
<br />
After you've made the changes below, remount the file system as read-only:<br />
<pre><nowiki>mount -o remount,ro /</nowiki></pre><br />
<br />
==Procedure for 1.1==<br />
<br />
From [http://forums.precentral.net/web-os-development/191814-howto-always-enable-e-mail-app-rotation-w-landscape-view.html|precentral.net Email Landscape Patch], it is indicated certified working on 1.1 but not to be applied to versions prior to 1.1. If the author grants permission to duplicate it here please do so.<br />
<br />
==Procedure prior to 1.1==<br />
<br />
Enabling rotation in email is trivial. Whenever you rotate the device, the system calls the orientationChanged function of the app. There's already one defined in email, but for some reason it does nothing. You can enable rotation by applying the following patches.<br />
<br />
NOTE: The root of the patches is /usr/palm/applications/com.palm.app.email/<br />
<br />
=== app/controllers/list-assistant.js===<br />
<br />
<pre><nowiki><br />
--- list-assistant.js_2009-06-27 Sat Jun 27 19:19:19 2009<br />
+++ list-assistant.js Sat Jun 27 20:03:19 2009<br />
@@ -27,6 +27,9 @@<br />
{label:$L('Update'), icon:'sync', command:'sync'}<br />
]};<br />
this.controller.setupWidget(Mojo.Menu.commandMenu, undefined, this.cmdMenuModel);<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
// NOTE: this is called by app_scene's _setup function<br />
</nowiki></pre><br />
<br />
=== app/controllers/compose-assistant.js===<br />
<br />
<pre><nowiki><br />
--- compose-assistant.js_2009-06-27 Sat Jun 27 19:21:43 2009<br />
+++ compose-assistant.js Sat Jun 27 20:03:45 2009<br />
@@ -178,6 +178,9 @@<br />
<br />
// Delayed a little, since we want the header part of render as quickly as possible<br />
ComposeAssistant.onLoad.defer(this.controller, this.email);<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
cleanup: function() {<br />
</nowiki></pre><br />
<br />
=== app/controllers/accounts-assistant.js===<br />
<br />
<pre><nowiki><br />
--- accounts-assistant.js_2009-06-27 Sat Jun 27 19:29:47 2009<br />
+++ accounts-assistant.js Sat Jun 27 20:01:28 2009<br />
@@ -51,6 +51,9 @@<br />
EmailAppDepot.depot.isShowFavorites(AccountsAssistant.kFavoriteFoldersAccountID, this.depotGetFavExpanded.bind(this));<br />
<br />
this.controller.listen(this.controller.sceneElement, Mojo.Event.keypress, this.keypressHandler.bind(this));<br />
+ <br />
+ // enable free orientation <br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
},<br />
<br />
cleanup: function() {<br />
</nowiki></pre><br />
<br />
== Notes==<br />
<br />
Credit goes to jblebrun for the original hack.<br />
<br />
Seems that the menu disappears in landscape mode and that the orientation mode carries over from one part of the app to the other as you move to a message or back to the message list or account list. This is especially weird in the compose screen since the menu has some needed functionality in it<br />
~ FXDemolisher<br />
<br />
Curious item found in accounts-assitant.js. There seems to be an orientationString variable in the controller that is linked to some kind of hack if you type a specific string while having the account(folder) list open. Will investigate further. <br />
<br />
UPDATE: Seems that typing "RocknRollHax" (see ./app/controllers/accounts-assistant.js) in the accounts list window will cause the email app to go into 'free' orientation mode. Looks like its an easier way to perform orientation changes instead of explicitly calling setWindowOrientation whenever the orientation changes. '''Doesnt work'''<br />
<br />
Alternate to RocknRollHax: In accounts-assistant.js, change key word in line 106 to 'wide' or whatever you want. Change string length in line 104 to num characters of your new key word. - xorg<br />
<br />
- FXDemolisher<br />
<br />
7/25/2009 With webOS 1.1 you can type "wide" to activate this feature w/o editing any files. However it is not persistent between application launches. <br />
<br />
Only the '''accounts-assistant.js''' file needs to be patched in webOS 1.1. The '''compose-assistant.js''' edit needs work as it currently does not work in webOS 1.1.<br />
<br />
-NetWhiz</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=2492Portal:Patches to webOS2009-07-26T20:59:25Z<p>StoneRyno: </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 put " - Works with " + version (for instance 1.0.4)<br />
}}<br />
<br />
This page is undergoing structuring please contribute moving or adding new entries under the appropriate headings. For now put pages in alphabetical order. 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 />
==Completed Patches==<br />
<br />
* [[Tutorials webOS Add Or Delete Pages In The Launcher|Add/Delete Launcher Pages]] '''Works with 1.1'''<br />
* [[Add_Words_to_AutoCorrect_Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[Always_Show_Details_of_New_Tasks|Always Show Details of New Tasks]] '''Works with 1.1'''<br />
** If there is a patch process for this please add the details to the page and have it added to the webos-internals gitorious repository info for the repository is on [[Applying Patches]] page.<br />
* [[Unhide the DeveloperMode App|Unhide the DeveloperMode App]] '''Works with 1.1'''<br />
<br />
'''The following have not been checked for which the appropriate heading to be under.'''<br />
<br />
* [[Application_Mods:_PDF_Viewer|Application Mods: PDF Viewer]]<br />
* [[Background_Editing|Background Editing]]<br />
* [[Application_Framework|Application Framework]]<br />
* [[Bookmarking_MediaPlayer|Bookmarking MediaPlayer]]<br />
* [[Boot_Themes|Boot Themes]]<br />
* [[Brightness]]<br />
* [[Browser_Plugins|Browser Plugins]]<br />
* [[Bypassing_Activation|Bypassing Activation]]<br />
* [[Camera_Modifications_%26_Additions|Camera Modifications & Additions]]<br />
* [[Camera_Remote_View|Camera Remote View]]<br />
* [[Change_Enter_To_Create_Newline_Instead_of_Send_Message|Change Enter to Create Newline Instead of Send Message]]<br />
* [[Change_the_default_notification.wav_Sound|Change the Default notification.wav Sound]]<br />
* [[Changes_Alert/Notification_Sounds|Changes Alert/Notification Sounds]]<br />
* [[Changing_clipboard_data_from_the_shell|Changing Clipboard Data from the Shell]]<br />
* [[Changing_the_%22Turn_off_after_X%22_time|Changing the "Turn off after X" Time]]<br />
* [[Change_Carrier_String|Change Carrier String]]<br />
* [[Change_default_font_for_replies/forwards_from_navy_to_black|Change Default Font for Replies/Forwards from Navy to Black]]<br />
* [[Confirm Deletion on Email|Confirm Deletion on Email]] <br />
* [[CPU Frequency or Voltage Scaling|CPU Frequency or Voltage Scaling]] <br />
* [[Disable Charging Event Alerts Sounds|Disable Charging Event Alerts Sounds]] <br />
* [[Downloading From The Browser|Downloading From The Browser]] <br />
* [[Edit Dialer Theme|Edit Dialer Theme]] <br />
* [[Email App Patch to Prompt for IPK Installation|Email App Patch to Prompt for IPK Installation]] <br />
* [[Enable Landscape Viewing in Email|Enable Landscape Viewing in Email]] <br />
* [[Fix Broken Formatting for Reply/Forward E-mails|Fix Broken Formatting for Reply/Forward E-mails]] <br />
* [[Fix Email Attachments|Fix Email Attachments]] <br />
* [[Forward Messages|Forward Messages]] <br />
* [[Global Search Addons Collection]]<br />
* [[GPS Tracking|GPS Tracking]] <br />
* [[Hide/Delete_The_NASCAR_App|Hide/Delete The NASCAR App]]<br />
* [[Hidden Features|Hidden Features]] <br />
* [[Hourly Chime|Hourly Chime]] <br />
* [[Ignore 'A', 'An', and 'The' In Artist and Album names|Ignore 'A', 'An', and 'The' In Artist and Album names]] <br />
* [[Installing Homebrew Apps With A Rooted Pre|Installing Homebrew Apps With A Rooted Pre]] <br />
* [[Message Sound|Message Sound]] <br />
* [[Messaging_Mods|Messaging Modifications]]<br />
* [[Modifying Stock Applications|Modifying Stock Applications]] <br />
* [[Modifying a Stock App While Keeping the Original|Modifying a Stock App While Keeping the Original]] <br />
* [[Logging information from within scripts|Logging information from within scripts]]<br />
* [[Longer Vibrate|Longer Vibrate]] <br />
* [[Packaging Homebrew Apps for Stock Pre without Rooting|Packaging Homebrew Apps for Stock Pre without Rooting]] <br />
* [[My notification|My notification]] <br />
* [[Myavatar In Messaging App|Myavatar In Messaging App]] <br />
* [[New Cards For Each Messaging Conversation|New Cards For Each Messaging Conversation]] <br />
* [[Photos Slideshow|Photos Slideshow]] <br />
* [[Pictures from Self-Test|Pictures from Self-Test]] <br />
* [[Radio_Power_Switch|Phone On/Off Switch]]<br />
* [[Random Wallpaper Switching|Random Wallpaper Switching]] <br />
* [[Roam Control|Roam Control]]<br />
* [[Reverse Tunnel|Reverse Tunnel]] <br />
* [[Screenlock On When Connected|Stay On While Connected]]<br />
* [[Show allday events in calendar month view|Show allday events in calendar month view]] <br />
* [[Splash Application|Splash Application]] <br />
* [[Symlink Applications|Symlink Applications]] <br />
* [[System Sounds|System Sounds]] <br />
* [[Turn Off Missed Call Sound|Turn Off Missed Call Sound]] <br />
* [[Update 1.0.3 Info|Update 1.0.3 Info]] <br />
* [[Update 1.0.4|Update 1.0.4]] <br />
* [[Update 1.1|Update 1.1]] <br />
* [[Using Volume Buttons to Take a Picture|Using Volume Buttons to Take a Picture]]<br />
<br />
==Patches that Need Work==<br />
<br />
==Patch Ideas to be Created or in Progress==<br />
<br />
* [[Add_Ability_To_Choose_Snooze_Length|Add Ability to Choose Snooze Length]]</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=2491Portal:Patches to webOS2009-07-26T20:46:43Z<p>StoneRyno: </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 put " - Works with " + version (for instance 1.0.4)<br />
}}<br />
<br />
This page is undergoing structuring please contribute moving or adding new entries under the appropriate headings. For now put pages in alphabetical order. 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 />
==Completed Patches==<br />
<br />
* [[Tutorials webOS Add Or Delete Pages In The Launcher|Add/Delete Launcher Pages]]<br />
* [[Add_Words_to_AutoCorrect_Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[Always_Show_Details_of_New_Tasks|Always Show Details of New Tasks]] '''Works with 1.1'''<br />
** If there is a patch process for this please add the details to the page and have it added to the webos-internals gitorious repository info for the repository is on [[Applying Patches]] page.<br />
* [[Unhide the DeveloperMode App|Unhide the DeveloperMode App]] '''Works with 1.1'''<br />
<br />
'''The following have not been checked for which the appropriate heading to be under.'''<br />
<br />
* [[Application_Mods:_PDF_Viewer|Application Mods: PDF Viewer]]<br />
* [[Background_Editing|Background Editing]]<br />
* [[Application_Framework|Application Framework]]<br />
* [[Bookmarking_MediaPlayer|Bookmarking MediaPlayer]]<br />
* [[Boot_Themes|Boot Themes]]<br />
* [[Brightness]]<br />
* [[Browser_Plugins|Browser Plugins]]<br />
* [[Bypassing_Activation|Bypassing Activation]]<br />
* [[Camera_Modifications_%26_Additions|Camera Modifications & Additions]]<br />
* [[Camera_Remote_View|Camera Remote View]]<br />
* [[Change_Enter_To_Create_Newline_Instead_of_Send_Message|Change Enter to Create Newline Instead of Send Message]]<br />
* [[Change_the_default_notification.wav_Sound|Change the Default notification.wav Sound]]<br />
* [[Changes_Alert/Notification_Sounds|Changes Alert/Notification Sounds]]<br />
* [[Changing_clipboard_data_from_the_shell|Changing Clipboard Data from the Shell]]<br />
* [[Changing_the_%22Turn_off_after_X%22_time|Changing the "Turn off after X" Time]]<br />
* [[Change_Carrier_String|Change Carrier String]]<br />
* [[Change_default_font_for_replies/forwards_from_navy_to_black|Change Default Font for Replies/Forwards from Navy to Black]]<br />
* [[Confirm Deletion on Email|Confirm Deletion on Email]] <br />
* [[CPU Frequency or Voltage Scaling|CPU Frequency or Voltage Scaling]] <br />
* [[Disable Charging Event Alerts Sounds|Disable Charging Event Alerts Sounds]] <br />
* [[Downloading From The Browser|Downloading From The Browser]] <br />
* [[Edit Dialer Theme|Edit Dialer Theme]] <br />
* [[Email App Patch to Prompt for IPK Installation|Email App Patch to Prompt for IPK Installation]] <br />
* [[Enable Landscape Viewing in Email|Enable Landscape Viewing in Email]] <br />
* [[Fix Broken Formatting for Reply/Forward E-mails|Fix Broken Formatting for Reply/Forward E-mails]] <br />
* [[Fix Email Attachments|Fix Email Attachments]] <br />
* [[Forward Messages|Forward Messages]] <br />
* [[Global Search Addons Collection]]<br />
* [[GPS Tracking|GPS Tracking]] <br />
* [[Hide/Delete_The_NASCAR_App|Hide/Delete The NASCAR App]]<br />
* [[Hidden Features|Hidden Features]] <br />
* [[Hourly Chime|Hourly Chime]] <br />
* [[Ignore 'A', 'An', and 'The' In Artist and Album names|Ignore 'A', 'An', and 'The' In Artist and Album names]] <br />
* [[Installing Homebrew Apps With A Rooted Pre|Installing Homebrew Apps With A Rooted Pre]] <br />
* [[Message Sound|Message Sound]] <br />
* [[Messaging_Mods|Messaging Modifications]]<br />
* [[Modifying Stock Applications|Modifying Stock Applications]] <br />
* [[Modifying a Stock App While Keeping the Original|Modifying a Stock App While Keeping the Original]] <br />
* [[Logging information from within scripts|Logging information from within scripts]]<br />
* [[Longer Vibrate|Longer Vibrate]] <br />
* [[Packaging Homebrew Apps for Stock Pre without Rooting|Packaging Homebrew Apps for Stock Pre without Rooting]] <br />
* [[My notification|My notification]] <br />
* [[Myavatar In Messaging App|Myavatar In Messaging App]] <br />
* [[New Cards For Each Messaging Conversation|New Cards For Each Messaging Conversation]] <br />
* [[Photos Slideshow|Photos Slideshow]] <br />
* [[Pictures from Self-Test|Pictures from Self-Test]] <br />
* [[Radio_Power_Switch|Phone On/Off Switch]]<br />
* [[Random Wallpaper Switching|Random Wallpaper Switching]] <br />
* [[Roam Control|Roam Control]]<br />
* [[Reverse Tunnel|Reverse Tunnel]] <br />
* [[Screenlock On When Connected|Stay On While Connected]]<br />
* [[Show allday events in calendar month view|Show allday events in calendar month view]] <br />
* [[Splash Application|Splash Application]] <br />
* [[Symlink Applications|Symlink Applications]] <br />
* [[System Sounds|System Sounds]] <br />
* [[Turn Off Missed Call Sound|Turn Off Missed Call Sound]] <br />
* [[Update 1.0.3 Info|Update 1.0.3 Info]] <br />
* [[Update 1.0.4|Update 1.0.4]] <br />
* [[Update 1.1|Update 1.1]] <br />
* [[Using Volume Buttons to Take a Picture|Using Volume Buttons to Take a Picture]]<br />
<br />
==Patches that Need Work==<br />
<br />
==Patch Ideas to be Created or in Progress==<br />
<br />
* [[Add_Ability_To_Choose_Snooze_Length|Add Ability to Choose Snooze Length]]</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Launcher_Unhide_the_DeveloperMode_App&diff=2490Patch Launcher Unhide the DeveloperMode App2009-07-26T20:44:02Z<p>StoneRyno: added headings and note about patch vs edit</p>
<hr />
<div>==Introduction==<br />
<br />
This patch will save you the time of not having to type out the code to access the developer mode icon to turn on and off developer mode. After following the steps here you will find the developer mode icon will appear at the bottom of the first page of the launcher.<br />
<br />
==Editing Process==<br />
<br />
1. Root your Pre. (Follow the [[Portal:Accessing_Linux | Enabling Root Access tutorial]] for instructions on how to do this.)<br />
<br />
2. SSH in. (Follow [[Next_steps | the Optware Package Feed tutorial]] to install and enable SSH on your phone.)<br />
<br />
3. Type in sequence:<br />
<pre><nowiki><br />
sudo mount -o remount,rw /<br />
sudo vi /usr/palm/applications/com.palm.app.devmodeswitcher/appinfo.json<br />
</nowiki></pre><br />
<br />
4. Change the line that says (press 'i' in vi to insert/edit text)<br />
<pre><nowiki><br />
"visible": false<br />
</nowiki></pre><br />
<br />
to<br />
<pre><nowiki><br />
"visible": true<br />
</nowiki></pre><br />
<br />
5. Press ESC to exit insert mode, and save and quit vi by typing ':x' (without quotes).<br />
<br />
Remount the file system as readonly:<br />
<pre><nowiki>sudo mount -o remount,ro /</nowiki></pre><br />
<br />
6. Restart your Pre.<br />
<br />
==Patching Process==<br />
<br />
This patch appear in the webos-internals gitorious repository [[Applying Patches]] but the patch application may or may not work with 1.1. However following the editing steps above does work.</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Applying_Patches&diff=2486Applying Patches2009-07-26T19:27:57Z<p>StoneRyno: minor alternation of wording and grammer in intro and made it a heading</p>
<hr />
<div>==Introduction==<br />
<br />
We cannot legally redistribute Palm source code (it is copyrighted code, and is not released under an open source license) therefor we need to manage our modifications as patches. Since these patches will come from many different places, and will need to be removed before each OTA update and then reapplied after-wards, we need a procedure and tools for doing this. This page documents this procedure.<br />
<br />
==Setup Procedure==<br />
(Note: Even though you may have previously installed the optware quilt patch manager, it won't damage anything to follow the Setup procedure. Alternatively, if you KNOW FOR SURE these are installed and your packages are up-to-date, you can skip to Importing and Applying Patches).<br />
<br />
* Log into your Pre, and gain root privileges.<br />
<pre><nowiki><br />
sudo -i # Yes, the -i is important.<br />
</nowiki></pre><br />
<br />
* Put your Pre in to Read Write Mode<br />
<pre><nowiki><br />
mount -o remount,rw /<br />
</nowiki></pre><br />
<br />
* Ensure that you are set up for optware package installations, and make sure you have the latest package index:<br />
<pre><nowiki><br />
ipkg-opt update<br />
</nowiki></pre><br />
<br />
* Install the 'quilt packages, which will be used to manage the patches you apply, and the 'git' package, which will be used to download existing patches from the modifications repository:<br />
<pre><nowiki><br />
ipkg-opt install quilt git<br />
</nowiki></pre><br />
<br />
(If you already have those packages installed, repeating this step will not cause any harm.)<br />
<br />
* Create a directory in which 'quilt' will manage your chosen modifications:<br />
<pre><nowiki><br />
mkdir -p /opt/src/patches<br />
</nowiki></pre><br />
<br />
* Edit /opt/etc/quilt.quiltrc to point quilt to that directory:<br />
<pre><nowiki><br />
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
</nowiki></pre><br />
<br />
* Clone the webos-internals modifications repository:<br />
<pre><nowiki><br />
cd /opt/src<br />
git clone git://gitorious.org/webos-internals/modifications.git<br />
</nowiki></pre><br />
<br />
==Importing and Applying Patches==<br />
<br />
* Ensure your list of modifications is up to date<br />
<pre><nowiki><br />
cd /opt/src/modifications<br />
git pull<br />
</nowiki></pre><br />
** If you find yourself getting errors when you try to pull with the above command then you will need to modify your .git/config file<br />
<pre><nowiki><br />
sudo vi /opt/src/modifications/.git/config<br />
</nowiki></pre><br />
<br />
** Your [master] section should look like the following<br />
<pre><nowiki><br />
[branch "master"]<br />
remote = origin<br />
merge = refs/heads/master <br />
</nowiki></pre><br />
<br />
* Browse the set of available patches. Each patch should have a description at the top.<br />
<pre><nowiki><br />
find /opt/src/modifications -name *.patch<br />
</nowiki></pre><br />
<br />
* Choose a patch from the modifications repository and import it into your own patches directory:<br />
<pre><nowiki><br />
cd / # It is *very* important to be in the / directory when you run quilt.<br />
quilt import /opt/src/modifications/application_name/patch_name.patch # Note that you need to replace application_name and patch_name here.<br />
</nowiki></pre><br />
<br />
* Verify that quilt has imported the patch successfully:<br />
<pre><nowiki><br />
# You should still be in the / directory to run quilt.<br />
quilt series # you should see your patch listed in here<br />
</nowiki></pre><br />
<br />
* Instruct quilt to apply your patch<br />
<pre><nowiki><br />
# You should still be in the / directory to run quilt.<br />
quilt push<br />
# Use this to push all patches at once.<br />
quilt push -a<br />
</nowiki></pre><br />
<br />
* If everything worked correctly, the patch should now be applied. You will usually need to restart the luna service on the Pre to see the effect of patches to applications. Here's how to initiate a rescan.<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.applicationManager/rescan {}<br />
</nowiki></pre><br />
<br />
If that doesn't work, try a service restart with:<br />
<pre><nowiki><br />
stop LunaSysMgr && start LunaSysMgr<br />
</nowiki></pre><br />
<br />
And if all else fails, simply reboot:<br />
<pre><nowiki><br />
reboot<br />
</nowiki></pre><br />
<br />
==Removing all patches==<br />
<br />
Before you accept an OTA update, you should remove any patches you have applied. Luckily, using quilt makes this very easy.<br />
<br />
* Remove all patches:<br />
<pre><nowiki><br />
cd / # It is *very* important to be in the / directory when you run quilt.<br />
quilt pop -a<br />
</nowiki></pre><br />
<br />
==Reapplying all patches==<br />
<br />
After your OTA update is complete, you will want to reapply any patches you have selected. This may or may not go smoothly.<br />
<br />
* Apply all patches:<br />
<pre><nowiki><br />
cd / # It is *very* important to be in the / directory when you run quilt.<br />
quilt push -a<br />
</nowiki></pre><br />
<br />
* Put your Pre back in to Read Only mode<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
</nowiki></pre><br />
<br />
==Information for developing patches==<br />
<br />
===Getting Authenticated with gitorious.org===<br />
Before you can commit to gitorious you need to [http://gitorious.org/users/new create an account]. <br />
<br />
Next you'll need to generate a public key and share that with gitorious.org, your public key is how gitorious.org authenticates you and checks if have the permissions required to do a commit to a given repository.<br />
<br />
Getting your key on windows<br />
* Download [*http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTYgen] and [*http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Pageant]<br />
<br />
--Gitorious.org [http://gitorious.org/about/faq gitorious.org recommends] you use [http://code.google.com/p/msysgit/ msysGit].--<br />
<br />
* On Windows use [*http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTYgen] to generate a public/private key pair. <br />
<br />
<pre><nowiki><br />
Key -> SSH-2 RSA KEY<br />
Key -> Generate key pair<br />
</nowiki></pre><br />
After some wiggling of the mouse your keys will be generated. You should fill in the //Key passphrase// and it's confirmation to secure you key. Save off the public and private key pairs to your user folder.<br />
<br />
* After which you will need to run [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Pageant] on your pc. Pageant holds your private key in memory for PuTTY to use.<br />
<br />
* To commit changes to gitorious.org from the pre you will need to install openssh on the device.<br />
<pre><nowiki><br />
ipkg-opt update<br />
ipkg-opt install openssh # since dropbear doesn't do agent forwarding, you need to use openssh<br />
</nowiki></pre><br />
<br />
As an alternative, if you don't use the keys for anything else you could just generate them on the pre after installing open-ssh<br />
<pre><nowiki><br />
sudo ssh-keygen -t rsa # follow the prompts<br />
cat ~/.ssh/id_rsa.pub # display the public key you need to paste into gitorious<br />
</nowiki></pre><br />
<br />
* Don't forget to upload your public key to gitorious.org after generating it.<br />
Now you should be able to follow the steps below and contribute your code to gitorious.org.<br />
<br />
* If you find yourself getting errors about your public key when you try to push changes, check to make sure your keys are under /var/home/root/.ssh/ and not under your regular user account.<br />
<br />
===Creating a patch===<br />
<br />
* Before making any changes to files:<br />
<br />
<pre><nowiki><br />
cd / # It is *very* important to be in the / directory when you run quilt.<br />
quilt new patch_name.patch<br />
quilt add /usr/palm/applications/com.palm.app.appYouWantToMod/app/controllers/mod-assistant.js<br />
quilt add /usr/palm/applications/com.palm.app.appYouWantToMod/app/controllers/mod2-assistant.js<br />
</nowiki></pre><br />
<br />
* Now you can make changes on the Pre using vi/nano/joe/whatever, or sftp files to your machine and make changes. Make sure any file you change has been added in the above step.<br />
<br />
<pre><nowiki><br />
quilt files # view files that are being tracked<br />
quilt header -e # add a header to the patch to describe it (please do this!)<br />
</nowiki></pre><br />
<br />
* Once you are finished and ready to create a patch<br />
<br />
<pre><nowiki><br />
quilt refresh # this will create/update the /opt/src/patches/patch_name.patch file<br />
</nowiki></pre><br />
<br />
===Pushing the change back to gitorious.org===<br />
<br />
* copy the patch into the modification tree you cloned above<br />
<br />
<pre><nowiki><br />
mkdir /opt/src/modifications/application_name # You need to change application_name to the leaf of the palm application id.<br />
cp /opt/src/patches/patch_name.patch /opt/src/modifications/application_name/patch_name.patch<br />
</nowiki></pre><br />
<br />
* Identify yourself in git (use the user you have setup at gitorious.org)<br />
<br />
<pre><nowiki><br />
cd /opt/src/modifications<br />
git config --global user.name "user"<br />
git config --global user.email "youremail@example.com"<br />
</nowiki></pre><br />
<br />
* Commit your changes to your local git<br />
<br />
<pre><nowiki><br />
git add application_name/patch_name.patch<br />
git commit<br />
</nowiki></pre><br />
<br />
* Since we did a clone the first time, we need to recreate the origin:<br />
<br />
<pre><nowiki><br />
git remote rm origin # (if you did a clone, we have to replace the origin)<br />
git remote add origin git@gitorious.org:webos-internals/modifications.git<br />
</nowiki></pre><br />
<br />
* Finally, push your changes up to gitorious.org<br />
<br />
<pre><nowiki><br />
git push origin master # first time<br />
git push # any future pushes<br />
</nowiki></pre><br />
<br />
* If the push does not work, try to debug the ssh connection<br />
<pre><nowiki><br />
/opt/bin/ssh -v git@gitorious.org<br />
</nowiki></pre><br />
<br />
==Extended, annotated sample session with quilt==<br />
* First, we just need to setup a file to muck with<br />
<pre><nowiki><br />
root@castle:/# cd /<br />
root@castle:/# echo "Original file" > /usr/test<br />
root@castle:/# echo "2nd lien" >> /usr/test<br />
root@castle:/# echo "3rd ilne" >> /usr/test<br />
root@castle:/# echo "last line" >> /usr/test<br />
</nowiki></pre><br />
* Start a new patch (normally you'll want to use patch_name.patch, I just wanted a shortened name)<br />
<pre><nowiki><br />
root@castle:/# quilt new p1<br />
Patch /opt/src/patches/p1 is now on top<br />
</nowiki></pre><br />
* You must quilt add any files that you are going to edit or create '''before''' you edit or create them.<br />
<pre><nowiki><br />
root@castle:/# quilt add /usr/test<br />
File /usr/test added to patch /opt/src/patches/p1<br />
</nowiki></pre><br />
* Just using sed to correct the spelling on the 2nd line<br />
<pre><nowiki><br />
root@castle:/# sed -i -e 's/lien/line/' /usr/test<br />
</nowiki></pre><br />
* quilt refresh actually finds what you have changed and writes it to the patch file (at this point, you can use git to push your changes)<br />
<pre><nowiki><br />
root@castle:/# quilt refresh<br />
Refreshed patch /opt/src/patches/p1<br />
</nowiki></pre><br />
* Just for fun, let's do it again<br />
<pre><nowiki><br />
root@castle:/# quilt new p2<br />
Patch /opt/src/patches/p2 is now on top<br />
</nowiki></pre><br />
* Again, add file, make some changes, refresh to update the patch.<br />
<pre><nowiki><br />
root@castle:/# quilt add /usr/test<br />
File /usr/test added to patch /opt/src/patches/p2<br />
root@castle:/# sed -i -e 's/ilne/line/' /usr/test<br />
root@castle:/# quilt refresh<br />
Refreshed patch /opt/src/patches/p2<br />
</nowiki></pre><br />
* Just an example of rolling back changes<br />
<pre><nowiki><br />
root@castle:/# quilt pop<br />
Removing patch /opt/src/patches/p2<br />
Restoring usr/test<br />
<br />
Now at patch /opt/src/patches/p1<br />
root@castle:/# quilt pop<br />
Removing patch /opt/src/patches/p1<br />
Restoring usr/test<br />
<br />
Now at patch /opt/src/patches/enable-browser-downloads.patch<br />
root@castle:/# cat /usr/test<br />
Original file<br />
2nd lien<br />
3rd ilne<br />
last line<br />
</nowiki></pre><br />
* delete will delete the patch from your series, but leave the actual patch file in /opt/src/patches (so you could import it later)<br />
<pre><nowiki><br />
root@castle:/# quilt delete p1<br />
Removed patch /opt/src/patches/p1<br />
</nowiki></pre><br />
* Since we removed p1, push will now apply p2. However, since p2 was applied against p1 originally, p2 will report an error. If the changes are too significant, you can force with -f, but you should carefully inspect the resulting files.<br />
<pre><nowiki><br />
root@castle:/# quilt push<br />
Applying patch /opt/src/patches/p2<br />
patching file usr/test<br />
Hunk #1 succeeded at 1 with fuzz 2.<br />
<br />
Now at patch /opt/src/patches/p2<br />
</nowiki></pre><br />
* If we want, we can refresh the patch so that future users of the patch do not receive the "fuzz" warning.<br />
<pre><nowiki><br />
root@castle:/# quilt refresh<br />
Refreshed patch /opt/src/patches/p2<br />
root@castle:/# cat /usr/test<br />
Original file<br />
2nd lien<br />
3rd line<br />
last line<br />
</nowiki></pre><br />
* cleanup<br />
<pre><nowiki><br />
root@castle:/# rm /usr/test<br />
</nowiki></pre><br />
<br />
==Background info==<br />
<br />
* [http://pkg-perl.alioth.debian.org/howto/quilt.html quilt]<br />
<br />
==Script for Updating/Installing Patches==<br />
<br />
I just wanted to share the following script that I just finished testing out. It's only been tested on my Pre so far, as I don't have access to any others.. It just updates the patch list, prints out available patches, then lets you choose which to apply.<br />
<br />
<pre><nowiki><br />
cd /opt/src/modifications<br />
tput clear<br />
echo Updating list...<br />
git pull<br />
tput clear<br />
cd /<br />
<br />
a=0<br />
for inputline in $(find /opt/src/modifications -name *.patch | sort)<br />
do<br />
a=$(($a+1));<br />
line="$(echo $inputline)"<br />
MYARRAY[$a]="$line"<br />
echo "${a}${line}" | awk -F "/" 'sub(".patch","",$6) {printf "%-3s %-15s %s\n", $1, $5, $6}'<br />
done<br />
echo "q quit"<br />
<br />
x=$(($a+1));<br />
until [ -n "$opt" ] ; do<br />
read -p "Enter the line number for patch to apply [1 - $a] " opt<br />
if [ "$opt" = "q" ] ; then<br />
exit 0<br />
fi<br />
if [ "$opt" -lt "$x" 2> /dev/null ] && [ "$opt" -gt 0 2> /dev/null ] ; then<br />
true<br />
else<br />
opt=""<br />
fi<br />
done<br />
<br />
tput clear<br />
cd /<br />
quilt import ${MYARRAY[$opt]}<br />
quilt push<br />
luna-send -n 1 palm://com.palm.applicationManager/rescan {}<br />
<br />
</nowiki></pre></div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=2485Portal:Patches to webOS2009-07-26T19:11:44Z<p>StoneRyno: </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 put " - Works with " + version (for instance 1.0.4)<br />
}}<br />
<br />
This page is undergoing structuring please contribute moving or adding new entries under the appropriate headings. 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 />
==Completed Patches==<br />
<br />
* [[Tutorials webOS Add Or Delete Pages In The Launcher|Add/Delete Launcher Pages]]<br />
* [[Add_Words_to_AutoCorrect_Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[Always_Show_Details_of_New_Tasks|Always Show Details of New Tasks]] '''Works with 1.1'''<br />
** If there is a patch process for this please add the details to the page and have it added to the webos-internals gitorious repository info for the repository is on [[Applying Patches]] page.<br />
<br />
'''The following have not been checked for which the appropriate heading to be under.'''<br />
<br />
* [[Application_Mods:_PDF_Viewer|Application Mods: PDF Viewer]]<br />
* [[Background_Editing|Background Editing]]<br />
* [[Application_Framework|Application Framework]]<br />
* [[Bookmarking_MediaPlayer|Bookmarking MediaPlayer]]<br />
* [[Boot_Themes|Boot Themes]]<br />
* [[Brightness]]<br />
* [[Browser_Plugins|Browser Plugins]]<br />
* [[Bypassing_Activation|Bypassing Activation]]<br />
* [[Camera_Modifications_%26_Additions|Camera Modifications & Additions]]<br />
* [[Camera_Remote_View|Camera Remote View]]<br />
* [[Change_Enter_To_Create_Newline_Instead_of_Send_Message|Change Enter to Create Newline Instead of Send Message]]<br />
* [[Change_the_default_notification.wav_Sound|Change the Default notification.wav Sound]]<br />
* [[Changes_Alert/Notification_Sounds|Changes Alert/Notification Sounds]]<br />
* [[Changing_clipboard_data_from_the_shell|Changing Clipboard Data from the Shell]]<br />
* [[Changing_the_%22Turn_off_after_X%22_time|Changing the "Turn off after X" Time]]<br />
* [[Change_Carrier_String|Change Carrier String]]<br />
* [[Change_default_font_for_replies/forwards_from_navy_to_black|Change Default Font for Replies/Forwards from Navy to Black]]<br />
* [[Confirm Deletion on Email|Confirm Deletion on Email]] <br />
* [[CPU Frequency or Voltage Scaling|CPU Frequency or Voltage Scaling]] <br />
* [[Disable Charging Event Alerts Sounds|Disable Charging Event Alerts Sounds]] <br />
* [[Downloading From The Browser|Downloading From The Browser]] <br />
* [[Edit Dialer Theme|Edit Dialer Theme]] <br />
* [[Email App Patch to Prompt for IPK Installation|Email App Patch to Prompt for IPK Installation]] <br />
* [[Enable Landscape Viewing in Email|Enable Landscape Viewing in Email]] <br />
* [[Fix Broken Formatting for Reply/Forward E-mails|Fix Broken Formatting for Reply/Forward E-mails]] <br />
* [[Fix Email Attachments|Fix Email Attachments]] <br />
* [[Forward Messages|Forward Messages]] <br />
* [[Global Search Addons Collection]]<br />
* [[GPS Tracking|GPS Tracking]] <br />
* [[Hide/Delete_The_NASCAR_App|Hide/Delete The NASCAR App]]<br />
* [[Hidden Features|Hidden Features]] <br />
* [[Hourly Chime|Hourly Chime]] <br />
* [[Ignore 'A', 'An', and 'The' In Artist and Album names|Ignore 'A', 'An', and 'The' In Artist and Album names]] <br />
* [[Installing Homebrew Apps With A Rooted Pre|Installing Homebrew Apps With A Rooted Pre]] <br />
* [[Message Sound|Message Sound]] <br />
* [[Messaging_Mods|Messaging Modifications]]<br />
* [[Modifying Stock Applications|Modifying Stock Applications]] <br />
* [[Modifying a Stock App While Keeping the Original|Modifying a Stock App While Keeping the Original]] <br />
* [[Logging information from within scripts|Logging information from within scripts]]<br />
* [[Longer Vibrate|Longer Vibrate]] <br />
* [[Packaging Homebrew Apps for Stock Pre without Rooting|Packaging Homebrew Apps for Stock Pre without Rooting]] <br />
* [[My notification|My notification]] <br />
* [[Myavatar In Messaging App|Myavatar In Messaging App]] <br />
* [[New Cards For Each Messaging Conversation|New Cards For Each Messaging Conversation]] <br />
* [[Photos Slideshow|Photos Slideshow]] <br />
* [[Pictures from Self-Test|Pictures from Self-Test]] <br />
* [[Radio_Power_Switch|Phone On/Off Switch]]<br />
* [[Random Wallpaper Switching|Random Wallpaper Switching]] <br />
* [[Roam Control|Roam Control]]<br />
* [[Reverse Tunnel|Reverse Tunnel]] <br />
* [[Screenlock On When Connected|Stay On While Connected]]<br />
* [[Show allday events in calendar month view|Show allday events in calendar month view]] <br />
* [[Splash Application|Splash Application]] <br />
* [[Symlink Applications|Symlink Applications]] <br />
* [[System Sounds|System Sounds]] <br />
* [[Turn Off Missed Call Sound|Turn Off Missed Call Sound]] <br />
* [[Unhide the DeveloperMode App|Unhide the DeveloperMode App]] <br />
* [[Update 1.0.3 Info|Update 1.0.3 Info]] <br />
* [[Update 1.0.4|Update 1.0.4]] <br />
* [[Update 1.1|Update 1.1]] <br />
* [[Using Volume Buttons to Take a Picture|Using Volume Buttons to Take a Picture]]<br />
<br />
==Patches that Need Work==<br />
<br />
==Patch Ideas to be Created or in Progress==<br />
<br />
* [[Add_Ability_To_Choose_Snooze_Length|Add Ability to Choose Snooze Length]]</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Portal:Patches_to_webOS&diff=2484Portal:Patches to webOS2009-07-26T19:10:37Z<p>StoneRyno: began stucturing and added some info to help with the page and for creating and editing articles in this section</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 put " - Works with " + version (for instance 1.0.4)<br />
}}<br />
<br />
This page is undergoing structuring please contribute moving or adding new entries under the appropriate headings. 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 />
==Completed Patches==<br />
<br />
* [[Tutorials webOS Add Or Delete Pages In The Launcher|Add/Delete Launcher Pages]]<br />
* [[Add_Words_to_AutoCorrect_Dictionary|Modify AutoCorrect Dictionary]]<br />
* [[Always_Show_Details_of_New_Tasks|Always Show Details of New Tasks]] '''Works with 1.1'''<br />
** If there is a patch process for this please add the details to the page and have it added to the webos-internals gitorious repository info for the repository is on [[Applying Patches]] page.<br />
<br />
'''The following have not been checked for which the appropriate heading to be under.'''<br />
<br />
* [[Application_Mods:_PDF_Viewer|Application Mods: PDF Viewer]]<br />
* [[Background_Editing|Background Editing]]<br />
* [[Application_Framework|Application Framework]]<br />
* [[Bookmarking_MediaPlayer|Bookmarking MediaPlayer]]<br />
* [[Boot_Themes|Boot Themes]]<br />
* [[Brightness]]<br />
* [[Browser_Plugins|Browser Plugins]]<br />
* [[Bypassing_Activation|Bypassing Activation]]<br />
* [[Camera_Modifications_%26_Additions|Camera Modifications & Additions]]<br />
* [[Camera_Remote_View|Camera Remote View]]<br />
* [[Change_Enter_To_Create_Newline_Instead_of_Send_Message|Change Enter to Create Newline Instead of Send Message]]<br />
* [[Change_the_default_notification.wav_Sound|Change the Default notification.wav Sound]]<br />
* [[Changes_Alert/Notification_Sounds|Changes Alert/Notification Sounds]]<br />
* [[Changing_clipboard_data_from_the_shell|Changing Clipboard Data from the Shell]]<br />
* [[Changing_the_%22Turn_off_after_X%22_time|Changing the "Turn off after X" Time]]<br />
* [[Change_Carrier_String|Change Carrier String]]<br />
* [[Change_default_font_for_replies/forwards_from_navy_to_black|Change Default Font for Replies/Forwards from Navy to Black]]<br />
* [[Confirm Deletion on Email|Confirm Deletion on Email]] <br />
* [[CPU Frequency or Voltage Scaling|CPU Frequency or Voltage Scaling]] <br />
* [[Disable Charging Event Alerts Sounds|Disable Charging Event Alerts Sounds]] <br />
* [[Downloading From The Browser|Downloading From The Browser]] <br />
* [[Edit Dialer Theme|Edit Dialer Theme]] <br />
* [[Email App Patch to Prompt for IPK Installation|Email App Patch to Prompt for IPK Installation]] <br />
* [[Enable Landscape Viewing in Email|Enable Landscape Viewing in Email]] <br />
* [[Fix Broken Formatting for Reply/Forward E-mails|Fix Broken Formatting for Reply/Forward E-mails]] <br />
* [[Fix Email Attachments|Fix Email Attachments]] <br />
* [[Forward Messages|Forward Messages]] <br />
* [[Global Search Addons Collection]]<br />
* [[GPS Tracking|GPS Tracking]] <br />
* [[Hide/Delete_The_NASCAR_App|Hide/Delete The NASCAR App]]<br />
* [[Hidden Features|Hidden Features]] <br />
* [[Hourly Chime|Hourly Chime]] <br />
* [[Ignore 'A', 'An', and 'The' In Artist and Album names|Ignore 'A', 'An', and 'The' In Artist and Album names]] <br />
* [[Installing Homebrew Apps With A Rooted Pre|Installing Homebrew Apps With A Rooted Pre]] <br />
* [[Message Sound|Message Sound]] <br />
* [[Messaging_Mods|Messaging Modifications]]<br />
* [[Modifying Stock Applications|Modifying Stock Applications]] <br />
* [[Modifying a Stock App While Keeping the Original|Modifying a Stock App While Keeping the Original]] <br />
* [[Logging information from within scripts|Logging information from within scripts]]<br />
* [[Longer Vibrate|Longer Vibrate]] <br />
* [[Packaging Homebrew Apps for Stock Pre without Rooting|Packaging Homebrew Apps for Stock Pre without Rooting]] <br />
* [[My notification|My notification]] <br />
* [[Myavatar In Messaging App|Myavatar In Messaging App]] <br />
* [[New Cards For Each Messaging Conversation|New Cards For Each Messaging Conversation]] <br />
* [[Photos Slideshow|Photos Slideshow]] <br />
* [[Pictures from Self-Test|Pictures from Self-Test]] <br />
* [[Radio_Power_Switch|Phone On/Off Switch]]<br />
* [[Random Wallpaper Switching|Random Wallpaper Switching]] <br />
* [[Roam Control|Roam Control]]<br />
* [[Reverse Tunnel|Reverse Tunnel]] <br />
* [[Screenlock On When Connected|Stay On While Connected]]<br />
* [[Show allday events in calendar month view|Show allday events in calendar month view]] <br />
* [[Splash Application|Splash Application]] <br />
* [[Symlink Applications|Symlink Applications]] <br />
* [[System Sounds|System Sounds]] <br />
* [[Turn Off Missed Call Sound|Turn Off Missed Call Sound]] <br />
* [[Unhide the DeveloperMode App|Unhide the DeveloperMode App]] <br />
* [[Update 1.0.3 Info|Update 1.0.3 Info]] <br />
* [[Update 1.0.4|Update 1.0.4]] <br />
* [[Update 1.1|Update 1.1]] <br />
* [[Using Volume Buttons to Take a Picture|Using Volume Buttons to Take a Picture]]<br />
<br />
==Patches that Need Work==<br />
<br />
==Patch Ideas to be Created or in Progress==<br />
<br />
* [[Add_Ability_To_Choose_Snooze_Length|Add Ability to Choose Snooze Length]]</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Tasks_Always_Show_Details_of_New_Tasks&diff=2483Patch Tasks Always Show Details of New Tasks2009-07-26T18:46:03Z<p>StoneRyno: edited TOC to be more uniform with other patches pages and slight modification of page text</p>
<hr />
<div>[[Image:Tasks.png|right]]<br />
== Introduction==<br />
<br />
I've made a small modification that changes how new tasks are handled. Ordinarily, new tasks appear at the bottom of the task list. In this view, you need to tap again to enter details like a due date. With this modification when add a task, the details card appears (pictured). At this window you can immediately set the task name, due date, task list, and priority. You're not forced to fill out each of those fields, they're just available. Enter your info, then swipe back and you'll see your new task in the list, or close the new task card (flick up) and the task is saved automatically. <br />
<br />
==Disclaimer==<br />
<br />
'''I've tested this on v1.03 and v1.04 and I haven't had any problems yet. Use at your own risk. I'm not responsible. And make a backup!'''<br />
<br />
==Editing Process==<br />
<br />
[[Portal:Accessing Linux|Accessing linux]] is required. These directions assume you have already done so.<br />
<br />
'''1.''' Mount for rw access:<br />
<br />
<pre><nowiki><br />
mount -o remount,rw /<br />
</nowiki></pre><br />
<br />
<br />
'''2.''' Make a backup of the file! Don't be lazy!<br />
<br />
<pre><nowiki><br />
cd /usr/palm/applications/com.palm.app.tasks/app/controllers/<br />
cp tasks-assistant.js tasks-assistant.js.bak<br />
</nowiki></pre><br />
<br />
'''3.''' Then open the file /usr/palm/applications/com.palm.app.tasks/app/controllers/tasks-assistant.js<br />
<br />
<pre><nowiki><br />
vi tasks-assistant.js<br />
</nowiki></pre><br />
<br />
'''4.''' In _newTask: function(previousTask)<br />
<br />
Replace line 917 (line 921 in os 1.1):<br />
<br />
<pre><nowiki><br />
this.listElement.mojo.focusItem(task);<br />
</nowiki></pre><br />
<br />
with this code:<br />
<br />
<pre><nowiki><br />
this.state.edit.call(this, index);<br />
</nowiki></pre><br />
<br />
'''5.''' Also, replace line 940 of the same file (line 944 in os 1.1):<br />
<br />
<pre><nowiki><br />
self.listElement.mojo.focusItem(task);<br />
</nowiki></pre><br />
<br />
with this code:<br />
<br />
<pre><nowiki><br />
self.state.edit.call(self, index);<br />
</nowiki></pre><br />
<br />
'''6.''' Save and reboot.<br />
<pre><nowiki><br />
mount -o remount,ro /<br />
reboot<br />
</nowiki></pre><br />
<br />
Enjoy!<br />
<br />
(os 1.1 changes verified by tcurtin on 7/24/09)<br />
<br />
===Contact Me===<br />
Please leave me a note if it works for you:<br />
http://www.everythingpre.com/forum/webos-development/new-mod-always-show-new-task-details-21326.html#post106281<br />
<br />
//-Tuckmobile//<br />
<br />
==Patching Process==<br />
<br />
This space for details of performing this modification through a patch file.</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_webOS_Add_Words_to_AutoCorrect_Dictionary&diff=2482Patch webOS Add Words to AutoCorrect Dictionary2009-07-26T18:17:28Z<p>StoneRyno: Improved wording and linking</p>
<hr />
<div>The Pre has an autocorrect function. For example if you type 'u' in a text field, it will be replaced with 'you'. The autocorrect file can be easily edited to add more entries for auto replacing text. The files that contain auto corrections are located in (2nd path is the US english folder and autocorrect file name):<br />
<pre><br />
/etc/palm/autoreplace/<br />
/etc/palm/autoreplace/en_us/text-edit-autoreplace<br />
</pre><br />
<br />
There is an unused copy of the file at <br />
<pre><br />
/etc/palm/text-edit-autoreplace<br />
</pre><br />
<br />
Efforts for a webOS application for editing the autocorrect dictionary can be found [http://forums.precentral.net/web-os-development/193362-autocorrect-edit-private-testing-rooting-required.html in this thread on PreCentral]<br />
<br />
PreCentral user dimfeld has created replacement autocorrect files based on the British National Corpus, the Google Corpus and a merger of the two. His files can be found [http://drop.io/dimfeld/asset/autoreplace-common-zip here].<br />
<br />
In [http://forums.precentral.net/web-os-development/187993-autoreplace-upgrade.html this PreCentral thread], dimfeld explains: <br />
<br />
> I found that when typing on the Pre, most of my typing mistakes would come from pressing the key either to the left or the right of the correct key. Personally, I never have a problem with hitting the wrong row, so that makes things somewhat simpler.<br />
> I wrote a Python script to read in a word list file (I used a standard Mac OSX word list with contractions added) and generate all the possible single-letter mistakes from that file that could result from pressing the button to the left or right of the intended button. This script also reads in the Pre's autoreplace file, and it gives precedence to the corrections in there. To keep the output file to a reasonable size, I didn't do corrections for words more than 7 letters long. With this restriction, the file is 9MB, and with a max length of 9 letters, it's 27MB. <br />
<br />
The 27 meg file was unusable. However, by dropping the file to 15,000 words, based on the sustainable english concept he was able to get the file size down to 1.2 meg. This seems to work. <br />
<br />
'''* Credits: xorg, dimfeld'''</div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Launcher_Add_or_Delete_Pages&diff=2481Patch Launcher Add or Delete Pages2009-07-26T17:48:21Z<p>StoneRyno: </p>
<hr />
<div>[[Image:Launcher_AddDeletePages.jpg|border|right|Add/Delete Pages]]<br />
==Introduction==<br />
<br />
Someone in the forum talked about being able to add and delete pages in the Launcher app and I thought I would look into it further. They stated that they were able to add new pages and delete existing pages. Upon further investigation, they were correct. There is existing code, commented out, that will allow you to create a new launcher page or delete the current launcher page. There is a variable for the max number of pages palm set to 10. This value can probably be increased, but I don't recommend it and seriously, who would need more that 10 pages anyway, right?<br />
<br />
===Usage===<br />
<br />
*The new page and delete page functions will appear in the launcher menu.<br />
**New Page<br />
***This will create a new page and move whatever page you were on to the right. There is nothing special to this page besides the fact that you now have a new page. You can drag icons to it just like any other page.<br />
<br />
**Delete Page<br />
***This will delete the current launcher page. Any icons on the page will automatically move to the page to the left of the page being deleted. If there is no page to the left of the page being deleted icons are automatically moved to the default page of the Web Browser.<br />
<br />
==Editing Process==<br />
<br />
<pre><br />
/usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js<br />
</pre><br />
*Uncomment the following<br />
**Look for "appMenuModel" (line 27) a few lines below you will see a line that has "newpage" in it. On the line that remove the "/*" and on the line that has "deletepage" remove the "*/"<br />
**Look further in the file (line 119) for "switch" again remove the "/* and "*/" that surrounds the cases for newpage and deletepage.<br />
*Perform a restart and the new page and delete page options will be in the launcher menu.<br />
<br />
Original discovery credit is unknown. Pyrognome tested and confirmed the new page and delete page functionality.<br />
<br />
==Patch Process==<br />
<br />
The patch is also located in the webos-internals gitorious repository. Click [[Applying Patches]] for info on patching from it. <br />
<br />
I'm trying to make most of my modifications into patches --[[User:HattCzech|HattCzech]]<br />
<br />
*Run the following commands:<br />
<br />
''In this example, I have the patch file located in my home directory under '''patches'''''<br />
<source lang="bash"><br />
cd /<br />
sudo patch -p0 --backup-if-mismatch < ~/patches/adddelpages.patch<br />
</source><br />
<br />
*This is what you should see if it ran properly:<br />
<source lang="text"><br />
patching file /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js<br />
</source><br />
<br />
These modifications will require LunaSysMgr to be restarted. A rescan will not work. After you've run the commands above, run one more command:<br />
<source lang="bash"><br />
pkill LunaSysMgr<br />
</source><br />
<br />
<br />
===Patch Source (adddelpages.patch)===<br />
<br />
<source lang="diff"><br />
diff -ur /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js /usr/lib/luna/sysmod/luna-applauncher/app/controllers/launcher-assistant.js<br />
--- /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js 2009-07-18 00:21:37.000000000 -0500<br />
+++ /usr/lib/luna/sysmod/luna-applauncher/app/controllers/launcher-assistant.js 2009-07-24 11:03:32.000000000 -0500<br />
@@ -30,8 +30,8 @@<br />
visible: true,<br />
label: $L('Launcher'),<br />
items: [<br />
- /*{ label: $L('New page'), command: 'newpage' },<br />
- { label: $L('Delete page'), command: 'deletepage' },*/<br />
+ { label: $L('New page'), command: 'newpage' },<br />
+ { label: $L('Delete page'), command: 'deletepage' },<br />
Mojo.Menu.editItem,<br />
{ label: $L('List Apps...'), command: 'listapps' },<br />
Mojo.Menu.helpItem<br />
@@ -124,7 +124,6 @@<br />
case 'listapps':<br />
ApplicationService.launch(this.deviceInfo.id, this.deviceInfo.params);<br />
break;<br />
- /*<br />
case 'newpage':<br />
if (this.pageDivs.length < 10) {<br />
this.insertPage(this.activePageIndex, true);<br />
@@ -138,7 +137,6 @@<br />
}<br />
}<br />
break;<br />
- */<br />
}<br />
}<br />
},<br />
</source></div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Launcher_Add_or_Delete_Pages&diff=2480Patch Launcher Add or Delete Pages2009-07-26T17:30:15Z<p>StoneRyno: /* Patch Process */</p>
<hr />
<div>[[Image:Launcher_AddDeletePages.jpg|border|right|Add/Delete Pages]]<br />
==Introduction==<br />
<br />
Someone in the forum talked about being able to add and delete pages in the Launcher app and I thought I would look into it further. They stated that they were able to add new pages and delete existing pages. Upon further investigation, they were correct. There is existing code, commented out, that will allow you to create a new launcher page or delete the current launcher page. There is a variable for the max number of pages palm set to 10. This value can probably be increased, but I don't recommend it and seriously, who would need more that 10 pages anyway, right?<br />
<br />
===Usage===<br />
<br />
*The new page and delete page functions will appear in the launcher menu.<br />
**New Page<br />
***This will create a new page and move whatever page you were on to the right. There is nothing special to this page besides the fact that you now have a new page. You can drag icons to it just like any other page.<br />
<br />
**Delete Page<br />
***This will delete the current launcher page. Any icons on the page will automatically move to the page to the left of the page being deleted. If there is no page to the left of the page being deleted icons are automatically moved to the default page of the Web Browser.<br />
<br />
==Editing Process==<br />
<br />
*Uncomment the following<br />
**/usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js<br />
***Look for "appMenuModel" (line 27) a few lines below you will see a line that has "newpage" in it. On the line that remove the "/*" and on the line that has "deletepage" remove the "*/"<br />
***Look further in the file (line 119) for "switch" again remove the "/* and "*/" that surrounds the cases for newpage and deletepage.<br />
*Perform a restart and the new page and delete page options will be in the launcher menu.<br />
<br />
Original discovery credit is unknown. Pyrognome tested and confirmed the new page and delete page functionality.<br />
<br />
==Patch Process==<br />
<br />
The patch is also located in the webos-internals gitorious repository. Click [[Applying Patches]] for info on patching from it. <br />
<br />
I'm trying to make most of my modifications into patches --[[User:HattCzech|HattCzech]]<br />
<br />
*Run the following commands:<br />
<br />
''In this example, I have the patch file located in my home directory under '''patches'''''<br />
<source lang="bash"><br />
cd /<br />
sudo patch -p0 --backup-if-mismatch < ~/patches/adddelpages.patch<br />
</source><br />
<br />
*This is what you should see if it ran properly:<br />
<source lang="text"><br />
patching file /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js<br />
</source><br />
<br />
These modifications will require LunaSysMgr to be restarted. A rescan will not work. After you've run the commands above, run one more command:<br />
<source lang="bash"><br />
pkill LunaSysMgr<br />
</source><br />
<br />
<br />
===Patch Source (adddelpages.patch)===<br />
<br />
<source lang="diff"><br />
diff -ur /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js /usr/lib/luna/sysmod/luna-applauncher/app/controllers/launcher-assistant.js<br />
--- /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js 2009-07-18 00:21:37.000000000 -0500<br />
+++ /usr/lib/luna/sysmod/luna-applauncher/app/controllers/launcher-assistant.js 2009-07-24 11:03:32.000000000 -0500<br />
@@ -30,8 +30,8 @@<br />
visible: true,<br />
label: $L('Launcher'),<br />
items: [<br />
- /*{ label: $L('New page'), command: 'newpage' },<br />
- { label: $L('Delete page'), command: 'deletepage' },*/<br />
+ { label: $L('New page'), command: 'newpage' },<br />
+ { label: $L('Delete page'), command: 'deletepage' },<br />
Mojo.Menu.editItem,<br />
{ label: $L('List Apps...'), command: 'listapps' },<br />
Mojo.Menu.helpItem<br />
@@ -124,7 +124,6 @@<br />
case 'listapps':<br />
ApplicationService.launch(this.deviceInfo.id, this.deviceInfo.params);<br />
break;<br />
- /*<br />
case 'newpage':<br />
if (this.pageDivs.length < 10) {<br />
this.insertPage(this.activePageIndex, true);<br />
@@ -138,7 +137,6 @@<br />
}<br />
}<br />
break;<br />
- */<br />
}<br />
}<br />
},<br />
</source></div>StoneRynohttp://wiki.webos-internals.org/index.php?title=Patch_Launcher_Add_or_Delete_Pages&diff=2479Patch Launcher Add or Delete Pages2009-07-26T17:28:32Z<p>StoneRyno: Cleaned up and organized page and made some parts less wordy</p>
<hr />
<div>[[Image:Launcher_AddDeletePages.jpg|border|right|Add/Delete Pages]]<br />
==Introduction==<br />
<br />
Someone in the forum talked about being able to add and delete pages in the Launcher app and I thought I would look into it further. They stated that they were able to add new pages and delete existing pages. Upon further investigation, they were correct. There is existing code, commented out, that will allow you to create a new launcher page or delete the current launcher page. There is a variable for the max number of pages palm set to 10. This value can probably be increased, but I don't recommend it and seriously, who would need more that 10 pages anyway, right?<br />
<br />
===Usage===<br />
<br />
*The new page and delete page functions will appear in the launcher menu.<br />
**New Page<br />
***This will create a new page and move whatever page you were on to the right. There is nothing special to this page besides the fact that you now have a new page. You can drag icons to it just like any other page.<br />
<br />
**Delete Page<br />
***This will delete the current launcher page. Any icons on the page will automatically move to the page to the left of the page being deleted. If there is no page to the left of the page being deleted icons are automatically moved to the default page of the Web Browser.<br />
<br />
==Editing Process==<br />
<br />
*Uncomment the following<br />
**/usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js<br />
***Look for "appMenuModel" (line 27) a few lines below you will see a line that has "newpage" in it. On the line that remove the "/*" and on the line that has "deletepage" remove the "*/"<br />
***Look further in the file (line 119) for "switch" again remove the "/* and "*/" that surrounds the cases for newpage and deletepage.<br />
*Perform a restart and the new page and delete page options will be in the launcher menu.<br />
<br />
Original discovery credit is unknown. Pyrognome tested and confirmed the new page and delete page functionality.<br />
<br />
==Patch Process==<br />
<br />
The patch is also located in the webos-internals gitorious repository info for patching from it: [[Applying Patches]]<br />
<br />
I'm trying to make most of my modifications into patches --[[User:HattCzech|HattCzech]]<br />
<br />
*Run the following commands:<br />
<br />
''In this example, I have the patch file located in my home directory under '''patches'''''<br />
<source lang="bash"><br />
cd /<br />
sudo patch -p0 --backup-if-mismatch < ~/patches/adddelpages.patch<br />
</source><br />
<br />
*This is what you should see if it ran properly:<br />
<source lang="text"><br />
patching file /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js<br />
</source><br />
<br />
These modifications will require LunaSysMgr to be restarted. A rescan will not work. After you've run the commands above, run one more command:<br />
<source lang="bash"><br />
pkill LunaSysMgr<br />
</source><br />
<br />
<br />
===Patch Source (adddelpages.patch)===<br />
<br />
<source lang="diff"><br />
diff -ur /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js /usr/lib/luna/sysmod/luna-applauncher/app/controllers/launcher-assistant.js<br />
--- /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js 2009-07-18 00:21:37.000000000 -0500<br />
+++ /usr/lib/luna/sysmod/luna-applauncher/app/controllers/launcher-assistant.js 2009-07-24 11:03:32.000000000 -0500<br />
@@ -30,8 +30,8 @@<br />
visible: true,<br />
label: $L('Launcher'),<br />
items: [<br />
- /*{ label: $L('New page'), command: 'newpage' },<br />
- { label: $L('Delete page'), command: 'deletepage' },*/<br />
+ { label: $L('New page'), command: 'newpage' },<br />
+ { label: $L('Delete page'), command: 'deletepage' },<br />
Mojo.Menu.editItem,<br />
{ label: $L('List Apps...'), command: 'listapps' },<br />
Mojo.Menu.helpItem<br />
@@ -124,7 +124,6 @@<br />
case 'listapps':<br />
ApplicationService.launch(this.deviceInfo.id, this.deviceInfo.params);<br />
break;<br />
- /*<br />
case 'newpage':<br />
if (this.pageDivs.length < 10) {<br />
this.insertPage(this.activePageIndex, true);<br />
@@ -138,7 +137,6 @@<br />
}<br />
}<br />
break;<br />
- */<br />
}<br />
}<br />
},<br />
</source></div>StoneRyno