<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daventx</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daventx"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Daventx"/>
	<updated>2026-04-17T06:35:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Key_Codes&amp;diff=6646</id>
		<title>Key Codes</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Key_Codes&amp;diff=6646"/>
		<updated>2009-10-24T16:52:38Z</updated>

		<summary type="html">&lt;p&gt;Daventx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Found in: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/usr/palm/frameworks/mojo/submissions/200.18/javascripts/keycodes.js&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That file has the key codes for the keys on the keyboard:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
* @name keycodes.js&lt;br /&gt;
* @fileOverview This file has character code value&lt;br /&gt;
&lt;br /&gt;
Copyright 2009 Palm, Inc.  All rights reserved.&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
/**&lt;br /&gt;
@namespace Holds character code value (Refer to the actual source for values) and some useful key code checking methods.&lt;br /&gt;
@description &lt;br /&gt;
Holds character code value (Refer to the actual source for values) and some useful key code checking methods.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
Mojo.Char = {};&lt;br /&gt;
&lt;br /&gt;
Mojo.Char.backspace	=  8;&lt;br /&gt;
Mojo.Char.tab		=  9;&lt;br /&gt;
Mojo.Char.enter		= 13;&lt;br /&gt;
Mojo.Char.shift		= 16;&lt;br /&gt;
Mojo.Char.opt		= 17;&lt;br /&gt;
Mojo.Char.ctrl		= 17;&lt;br /&gt;
Mojo.Char.sym       = 17;&lt;br /&gt;
Mojo.Char.altKey	= 18;&lt;br /&gt;
Mojo.Char.pause		= 19;&lt;br /&gt;
Mojo.Char.breakKey	= 19;&lt;br /&gt;
Mojo.Char.capsLock	= 20;&lt;br /&gt;
Mojo.Char.escape	= 27;&lt;br /&gt;
Mojo.Char.spaceBar	= 32;&lt;br /&gt;
Mojo.Char.pageUp	= 33;&lt;br /&gt;
Mojo.Char.pageDown	= 34;&lt;br /&gt;
Mojo.Char.end		= 35;&lt;br /&gt;
Mojo.Char.home		= 36;&lt;br /&gt;
Mojo.Char.leftArrow	= 37;&lt;br /&gt;
Mojo.Char.upArrow	= 38;&lt;br /&gt;
Mojo.Char.rightArrow= 39;&lt;br /&gt;
Mojo.Char.downArrow	= 40;&lt;br /&gt;
Mojo.Char.insert	= 45;&lt;br /&gt;
Mojo.Char.deleteKey = 46;&lt;br /&gt;
Mojo.Char.zero= 48;&lt;br /&gt;
Mojo.Char.one= 49;&lt;br /&gt;
Mojo.Char.two= 50;&lt;br /&gt;
Mojo.Char.three=51;&lt;br /&gt;
Mojo.Char.four=	52;&lt;br /&gt;
Mojo.Char.five=	53;&lt;br /&gt;
Mojo.Char.six=	54;&lt;br /&gt;
Mojo.Char.seven=	55;&lt;br /&gt;
Mojo.Char.eight=	56;&lt;br /&gt;
Mojo.Char.nine=	57;&lt;br /&gt;
Mojo.Char.a=	65;&lt;br /&gt;
Mojo.Char.b=	66;&lt;br /&gt;
Mojo.Char.c=	67;&lt;br /&gt;
Mojo.Char.d=	68;&lt;br /&gt;
Mojo.Char.e=	69;&lt;br /&gt;
Mojo.Char.f=	70;&lt;br /&gt;
Mojo.Char.g=	71;&lt;br /&gt;
Mojo.Char.h=	72;&lt;br /&gt;
Mojo.Char.i=	73;&lt;br /&gt;
Mojo.Char.j=	74;&lt;br /&gt;
Mojo.Char.k=	75;&lt;br /&gt;
Mojo.Char.l=	76;&lt;br /&gt;
Mojo.Char.m=	77;&lt;br /&gt;
Mojo.Char.n=	78;&lt;br /&gt;
Mojo.Char.o=	79;&lt;br /&gt;
Mojo.Char.p=	80;&lt;br /&gt;
Mojo.Char.q=	81;&lt;br /&gt;
Mojo.Char.r=	82;&lt;br /&gt;
Mojo.Char.s=	83;&lt;br /&gt;
Mojo.Char.t=	84;&lt;br /&gt;
Mojo.Char.u=	85;&lt;br /&gt;
Mojo.Char.v=	86;&lt;br /&gt;
Mojo.Char.w=	87;&lt;br /&gt;
Mojo.Char.x=	88;&lt;br /&gt;
Mojo.Char.y=	89;&lt;br /&gt;
Mojo.Char.z=	90;&lt;br /&gt;
Mojo.Char.leftWindowKey=	91;&lt;br /&gt;
Mojo.Char.rightWindowKey=	92;&lt;br /&gt;
Mojo.Char.selectKey=	93;&lt;br /&gt;
Mojo.Char.numpad0=	96;&lt;br /&gt;
Mojo.Char.numpad1=	97;&lt;br /&gt;
Mojo.Char.numpad2=	98;&lt;br /&gt;
Mojo.Char.numpad3=	99;&lt;br /&gt;
Mojo.Char.numpad4=	100;&lt;br /&gt;
Mojo.Char.numpad5=	101;&lt;br /&gt;
Mojo.Char.numpad6=	102;&lt;br /&gt;
Mojo.Char.numpad7=	103;&lt;br /&gt;
Mojo.Char.numpad8=	104;&lt;br /&gt;
Mojo.Char.numpad9=	105;&lt;br /&gt;
Mojo.Char.multiply=	106;&lt;br /&gt;
Mojo.Char.add=	107;&lt;br /&gt;
Mojo.Char.subtract=	109;&lt;br /&gt;
Mojo.Char.decimalPoint=	110;&lt;br /&gt;
Mojo.Char.divide=	111;&lt;br /&gt;
Mojo.Char.f1=	112;&lt;br /&gt;
Mojo.Char.f2=	113;&lt;br /&gt;
Mojo.Char.f3=	114;&lt;br /&gt;
Mojo.Char.f4=	115;&lt;br /&gt;
Mojo.Char.f5=	116;&lt;br /&gt;
Mojo.Char.f6=	117;&lt;br /&gt;
Mojo.Char.f7=	118;&lt;br /&gt;
Mojo.Char.f8=	119;&lt;br /&gt;
Mojo.Char.f9=	120;&lt;br /&gt;
Mojo.Char.f10=	121;&lt;br /&gt;
Mojo.Char.f11=	122;&lt;br /&gt;
Mojo.Char.f12=	123;&lt;br /&gt;
Mojo.Char.numLock=	144;&lt;br /&gt;
Mojo.Char.scrollLock=	145;&lt;br /&gt;
Mojo.Char.semiColon=	186;&lt;br /&gt;
Mojo.Char.equalSign=	187;&lt;br /&gt;
Mojo.Char.comma=	188;&lt;br /&gt;
Mojo.Char.dash=	189;&lt;br /&gt;
Mojo.Char.period=	190;&lt;br /&gt;
Mojo.Char.forwardSlash=	191;&lt;br /&gt;
Mojo.Char.graveAccent=	192;&lt;br /&gt;
Mojo.Char.openBracket=	219;&lt;br /&gt;
Mojo.Char.backSlash=	220;&lt;br /&gt;
Mojo.Char.closeBracket=	221;&lt;br /&gt;
Mojo.Char.singleQuote=	222;&lt;br /&gt;
&lt;br /&gt;
Mojo.Char.metaKey = 231; //NEED THIS FOR META CUT/ COPY/ PASTE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mojo.Char.asciiZero = 48;&lt;br /&gt;
Mojo.Char.asciiNine = 57;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It also has several useful functions such as 'isEnterKey()' and 'isDeleteKey()'&lt;/div&gt;</summary>
		<author><name>Daventx</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_Calendar_Show_All-Day_Events_in_Month_View&amp;diff=6643</id>
		<title>Patch Calendar Show All-Day Events in Month View</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_Calendar_Show_All-Day_Events_in_Month_View&amp;diff=6643"/>
		<updated>2009-10-24T03:27:33Z</updated>

		<summary type="html">&lt;p&gt;Daventx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This patch will modify the calendar application to show all day events in the month view of the application.&lt;br /&gt;
It denotes days with all day events by grey in the all view, and by the calendar color when viewing a specific calendar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
--- /tmp/month-assistant.js	Fri Aug 28 12:51:48 2009&lt;br /&gt;
+++ /usr/palm/applications/com.palm.app.calendar/app/controllers/month-assistant.js	Fri Oct 23 12:37:41 2009&lt;br /&gt;
@@ -27,12 +27,21 @@&lt;br /&gt;
 		this.scrollerModel = { scrollbars: false, mode: &amp;quot;vertical-snap&amp;quot;, snapIndex: 0, snapElements: { y: [] } };&lt;br /&gt;
 	},&lt;br /&gt;
 														&lt;br /&gt;
- 	setupMonth: function(startDate, endDate, callbackfn) &lt;br /&gt;
+ 	fullEvts: null,&lt;br /&gt;
+&lt;br /&gt;
+        setupMonth: function(startDate, endDate, callbackfn) &lt;br /&gt;
 	{&lt;br /&gt;
-		getCalendarService().getBusyDays(getCurrentCal(), startDate.getTime(), endDate.getTime(), callbackfn, this.controller);&lt;br /&gt;
+		getCalendarService().getEvents(getCurrentCal(),startDate.getTime(), endDate.getTime(), this.getEventsCallback.bind(this), this.controller, this.getEventsFailCallback, {useSlices: true});&lt;br /&gt;
+                getCalendarService().getBusyDays(getCurrentCal(), startDate.getTime(), endDate.getTime(), callbackfn, this.controller);&lt;br /&gt;
 	},&lt;br /&gt;
 	&lt;br /&gt;
-	buildViewHeader: function() &lt;br /&gt;
+	getEventsCallback: function(resp)&lt;br /&gt;
+        {&lt;br /&gt;
+                //Mojo.Log.info('month-assistant:getEventsCallback');&lt;br /&gt;
+                this.fullEvts = resp.days;&lt;br /&gt;
+        },&lt;br /&gt;
+&lt;br /&gt;
+        buildViewHeader: function() &lt;br /&gt;
 	{&lt;br /&gt;
 		//Mojo.Log.info(&amp;quot;month-assistant: buildViewHeader&amp;quot;);&lt;br /&gt;
 		this.controller.get('mv_header_container1').update(Mojo.View.render({object: { viewPrefix: 'mv' }, template: 'shared/calendar_view_header'}));&lt;br /&gt;
@@ -376,7 +385,11 @@&lt;br /&gt;
 			var cls;&lt;br /&gt;
 			for (var i = 1; i &amp;lt; 8; i &amp;lt;&amp;lt;= 1)&lt;br /&gt;
 			{&lt;br /&gt;
-				if (day &amp;amp; (i &amp;lt;&amp;lt; 3)) &lt;br /&gt;
+				if (this.fullEvts[d].allDayEvents.length &amp;gt; 0)&lt;br /&gt;
+				{&lt;br /&gt;
+					cls = &amp;quot;monthview-busy-time &amp;quot; + calStyle;&lt;br /&gt;
+				}&lt;br /&gt;
+				else if (day &amp;amp; (i &amp;lt;&amp;lt; 3)) &lt;br /&gt;
 				{&lt;br /&gt;
 					cls = &amp;quot;monthview-busy-time &amp;quot; + calStyle;&lt;br /&gt;
 				}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Updated and working with 1.2.1 on 2009/10/23 by daventx&lt;/div&gt;</summary>
		<author><name>Daventx</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Solution_to_App_Catalog_Installation_Limit&amp;diff=6118</id>
		<title>Solution to App Catalog Installation Limit</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Solution_to_App_Catalog_Installation_Limit&amp;diff=6118"/>
		<updated>2009-10-02T21:32:25Z</updated>

		<summary type="html">&lt;p&gt;Daventx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Based on rwhitby's findings that temporarily moving /var/usr/palm/applications will allow installing apps from the App Catalog, here's a permanent way to keep the apps on (much larger) /media/internal by using links. This will permanently save space on /var.&lt;br /&gt;
&lt;br /&gt;
It's unfortunate that Palm has not resolved the issue in the 1.2 update. This is a workaround that could work long term, also saving space on /var, but this needs support by the homebrew community to add in the homebrew installer apps.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
This solution involves creating a (hidden) directory in the /media/internal area, moving selected applications to the newly created directory, and then creating a symbolic link in the /var/usr/palm/applications directory pointing to the new location. This frees up the disk space from the relatively limited /var volume to the larger /media/internal. The included script (which must be created) will move the files and create the appropriate link. It will also provide information on the size of the applications stored in the /var/usr/palm/applications directory.&lt;br /&gt;
&lt;br /&gt;
== Solution (symbolic link method) ==&lt;br /&gt;
&lt;br /&gt;
- create a script to move apps to new home and create link&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mount -o remount,rw /&lt;br /&gt;
&lt;br /&gt;
vi /usr/bin/mvapp&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# This code is open for re-use with no restrictions.  xorg&lt;br /&gt;
&lt;br /&gt;
# Usage: mvapp link com.org.appname  - move app to media and link&lt;br /&gt;
# Usage: mvapp unlink                - restore app to var and remove link&lt;br /&gt;
# Usage: mvapp list                  - list all apps sorted by size&lt;br /&gt;
# Usage: mvapp clean                 - remove app dir and links&lt;br /&gt;
&lt;br /&gt;
COMMAND=$1&lt;br /&gt;
APP=$2&lt;br /&gt;
# can change destination to anything you want, but use a leading . - props to emoney_33&lt;br /&gt;
MEDIA=/media/internal/.apps&lt;br /&gt;
VAR=/var/usr/palm/applications&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
# function cleanapp - removes symbolic links and folder in media and var&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
cleanapp () {&lt;br /&gt;
&lt;br /&gt;
 mount -o remount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Size of $VAR before move... &amp;quot;&lt;br /&gt;
 du -sh $VAR&lt;br /&gt;
&lt;br /&gt;
 if [ -d $MEDIA/$APP ]&lt;br /&gt;
 then&lt;br /&gt;
      rm -r $MEDIA/$APP&lt;br /&gt;
      echo &amp;quot;Removed directory&amp;quot; $MEDIA/$APP&lt;br /&gt;
 fi&lt;br /&gt;
 if [ -d $VAR/$APP ]&lt;br /&gt;
 then&lt;br /&gt;
      rm -r $VAR/$APP&lt;br /&gt;
      echo &amp;quot;Removed directory&amp;quot; $VAR/$APP&lt;br /&gt;
 fi&lt;br /&gt;
 if [ -L $VAR/$APP ]&lt;br /&gt;
 then&lt;br /&gt;
      rm -r $VAR/$APP&lt;br /&gt;
      echo &amp;quot;Removed link&amp;quot; $VAR/$APP&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # rescan luna in case it's needed&lt;br /&gt;
 luna-send -n 1 palm://com.palm.applicationManager/rescan {} &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;$APP directories and links removed.&amp;quot;&lt;br /&gt;
 echo &amp;quot;Size of $VAR after move... &amp;quot;&lt;br /&gt;
 du -sh $VAR&lt;br /&gt;
 exit 0&lt;br /&gt;
}&lt;br /&gt;
# end of cleanup function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
# function listapps - list the size of each app, sort showing largest last&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
listapps () {&lt;br /&gt;
&lt;br /&gt;
 du -s $VAR/* | sort -n&lt;br /&gt;
 exit 0&lt;br /&gt;
}&lt;br /&gt;
# end of listapps function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
# function linkapp - move the app to media and create symbolic link&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
linkapp () {&lt;br /&gt;
&lt;br /&gt;
 if [ ! -d $MEDIA ]&lt;br /&gt;
 then&lt;br /&gt;
      mkdir $MEDIA&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -h $VAR/$APP ]&lt;br /&gt;
 then&lt;br /&gt;
      echo &amp;quot;Link already exists for... ${APP}&amp;quot;&lt;br /&gt;
      exit 1&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -d $VAR/$APP ]&lt;br /&gt;
 then&lt;br /&gt;
   echo &amp;quot;Moving $APP to $MEDIA...&amp;quot;&lt;br /&gt;
 else&lt;br /&gt;
   echo &amp;quot;Usage: mvapp link com.org.appname   - move app to media and link&amp;quot;&lt;br /&gt;
   echo &amp;quot;Usage: mvapp unlink com.org.appname - restore app to var and remove link&amp;quot;&lt;br /&gt;
   echo &amp;quot;Usage: mvapp list                   - list all apps sorted by size&amp;quot;&lt;br /&gt;
   echo &amp;quot;Usage: mvapp clean                  - remove app dir and links&amp;quot;&lt;br /&gt;
   exit 2&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 mount -o remount,rw /&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;Size of $VAR before move... &amp;quot;&lt;br /&gt;
 du -sh $VAR&lt;br /&gt;
&lt;br /&gt;
 # move over to USB drive&lt;br /&gt;
 cp -r  $VAR/$APP $MEDIA&lt;br /&gt;
 if [ $? != 0 ]&lt;br /&gt;
 then&lt;br /&gt;
  echo &amp;quot;Copy failed. Leaving app in $VAR.&amp;quot;&lt;br /&gt;
  exit 3&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 rm -r $VAR/$APP&lt;br /&gt;
 if [ $? != 0 ]&lt;br /&gt;
 then&lt;br /&gt;
  echo &amp;quot;Remove failed. Leaving app in $VAR.&amp;quot;&lt;br /&gt;
  rm -r $MEDIA/$APP&lt;br /&gt;
  exit 4&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 # create the symbolic link&lt;br /&gt;
 ln -s $MEDIA/$APP $VAR/$APP&lt;br /&gt;
&lt;br /&gt;
 # rescan luna in case it's needed&lt;br /&gt;
 luna-send -n 1 palm://com.palm.applicationManager/rescan {} &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;$APP moved and linked.&amp;quot;&lt;br /&gt;
 echo &amp;quot;Size of $VAR after move... &amp;quot;&lt;br /&gt;
 du -sh $VAR&lt;br /&gt;
}&lt;br /&gt;
# end of linkapp function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
# function unlinkapp -  restore the app to var and remove symbolic link&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
unlinkapp () {&lt;br /&gt;
&lt;br /&gt;
 mount -o remount,rw / &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;Size of $VAR before move... &amp;quot;&lt;br /&gt;
 du -sh $VAR&lt;br /&gt;
&lt;br /&gt;
 # remove the old symbolic link&lt;br /&gt;
 rm -r $VAR/$APP&lt;br /&gt;
&lt;br /&gt;
 # move to original location&lt;br /&gt;
 cp -r  $MEDIA/$APP $VAR&lt;br /&gt;
 if [ $? != 0 ]&lt;br /&gt;
 then&lt;br /&gt;
  echo &amp;quot;Copy failed. Leaving app in $MEDIA.&amp;quot;&lt;br /&gt;
  exit 3&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 rm -r $MEDIA/$APP&lt;br /&gt;
 if [ $? != 0 ]&lt;br /&gt;
 then&lt;br /&gt;
  echo &amp;quot;Remove failed. Leaving app in $MEDIA.&amp;quot;&lt;br /&gt;
  rm -r $VAR/$APP&lt;br /&gt;
  exit 4&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 # rescan luna in case it's needed&lt;br /&gt;
 luna-send -n 1 palm://com.palm.applicationManager/rescan {} &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;$APP moved and unlinked.&amp;quot;&lt;br /&gt;
 echo &amp;quot;Size of $VAR after move... &amp;quot;&lt;br /&gt;
 du -sh $VAR&lt;br /&gt;
}&lt;br /&gt;
# end of unlinkapp function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
# Script Begins Here&lt;br /&gt;
#-------------------------------------------------------------------------#&lt;br /&gt;
&lt;br /&gt;
case $COMMAND in&lt;br /&gt;
&amp;quot;clean&amp;quot;)&lt;br /&gt;
   cleanapp&lt;br /&gt;
   ;;&lt;br /&gt;
&amp;quot;list&amp;quot;)&lt;br /&gt;
   listapps&lt;br /&gt;
   ;;&lt;br /&gt;
&amp;quot;link&amp;quot;)&lt;br /&gt;
   linkapp&lt;br /&gt;
   ;;&lt;br /&gt;
&amp;quot;unlink&amp;quot;)&lt;br /&gt;
   unlinkapp&lt;br /&gt;
   ;;&lt;br /&gt;
*)&lt;br /&gt;
   echo &amp;quot;Usage: mvapp link com.org.appname   - move app to media and link&amp;quot;&lt;br /&gt;
   echo &amp;quot;Usage: mvapp unlink com.org.appname - restore app to var and remove link&amp;quot;&lt;br /&gt;
   echo &amp;quot;Usage: mvapp list                   - list all apps sorted by size&amp;quot;&lt;br /&gt;
   echo &amp;quot;Usage: mvapp clean                  - remove app dir and links&amp;quot;&lt;br /&gt;
   exit 1&lt;br /&gt;
   ;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod 777 /usr/bin/mvapp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
'''To find the largest apps in /var/usr/palm/applications'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mvapp list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It shows the largest apps last... IE....&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
8352 com.apnews.webos&amp;lt;br&amp;gt;&lt;br /&gt;
8512 com.fandango.app.fandango&amp;lt;br&amp;gt;&lt;br /&gt;
8672 com.palm.app.musicplayerremix&amp;lt;br&amp;gt;&lt;br /&gt;
10304 com.shortcovers.palm.pre&amp;lt;br&amp;gt;&lt;br /&gt;
10432 com.fusioncreativestudios.deadman&amp;lt;br&amp;gt;&lt;br /&gt;
10656 com.ulocate.app.where&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''To move and link com.ulocate.app.where, use the script'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mvapp link com.ulocate.app.where&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should now work in the new location thanks to the link. Test each app to make sure it works before doing another. I don't recommend looping the script to do every app in the dir or to link the entire app dir. File attributes are lost on the move, which some apps may need. You need to test each app after a move.&lt;br /&gt;
&lt;br /&gt;
'''To revert the move and delete the link command, use this script'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mvapp unlink com.ulocate.app.where&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The application will then be placed back in the original directory. File attributes are lost on the move, which some apps may need. You need to test each app after a move.&lt;br /&gt;
&lt;br /&gt;
'''To cleanup and remove directories and symlinks'''&lt;br /&gt;
&lt;br /&gt;
If you have any issues, issuing the following command will remove the applications directories at both locations and also the symlink. While this may not solve all the problems, it does give you a fresh start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mvapp clean com.ulocate.app.where&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan==&lt;br /&gt;
If you have issues with an app, remove it completely and reinstall through the respective app catalog or homebrew installer app.&lt;br /&gt;
&lt;br /&gt;
== Proposal==&lt;br /&gt;
&lt;br /&gt;
Would like to propose that PreWare, WebOS Quick Install and other Pre installer apps provide an option to move any app in /var to the /media fs and create a link per the code above. Also provide option to move back. Could make a backup retaining file attributes using tar and restore that way.&lt;br /&gt;
&lt;br /&gt;
== Risks, Issues, Dependencies ==&lt;br /&gt;
&lt;br /&gt;
- File attributes of linux fs are not copied over to fat fs.  May not work with apps that rely on file attributes.&lt;br /&gt;
&lt;br /&gt;
- Jason Robitaille has indicated that a future version of WebOS Quick Install will include a routine to resize the /var partition. He has also indicated that doing so will wipe the /media/internal area, so any applications stored there would need to be backed up first. It might be good to be able to reverse the process of this soulution. This could be done either by adding to this &amp;lt;code&amp;gt;mvapp&amp;lt;/code&amp;gt; script, or cerating a new one.&lt;br /&gt;
&lt;br /&gt;
== Discuss ==&lt;br /&gt;
Discuss in the Discussion tab or PreCentral...&lt;br /&gt;
&lt;br /&gt;
http://forums.precentral.net/web-os-development/205649-resolution-app-catalog-install-limit-proposal.html&lt;/div&gt;</summary>
		<author><name>Daventx</name></author>
	</entry>
</feed>