Script functions description
These are the script functions that run when Portable app is open (not all present on each Portable app)
Sorry, notes below are outdate, althougt the concept is still valid, now quite all portable apps are opened by a shell script wrapped as applicaton using Platypus.
Please post questions, tips, suggestions, clues, helps, bugs to our OS X Portable Apps support forum.
All <app_name> provided are unmodified binaries downloaded from developer sites.
Portable <app_name> the Portable root folder
OPEN <app_name>.app ithe AppleScript that open original <app_name>.
app folder that contain the original <app_name> and the profile folder.
Don't modify this tree or <app_name> will not start.
Portable Apps (root folder)
- OPEN <app_name>.app (AppleScript)
- app (foleder)
- <App_name>.app (real application)
- profile (folder)
Click image to enlarge
As the Portable <app_name> folder can be everywhere the first part of the script fetch it:
tell application "Finder" to set perc to the container of (path to me) as alias set perc to quoted form of POSIX path of perc
This means that you can change the name of your portable drive or the Portable <app_name> root folder position and OPEN <apps> will launch it.
Standard profile folder is ~/Library/Application Support/<app_name>
Portable <app_name> use the given profile folder (Portable <app_name>/app/profile/).
Each Portable <app_name> use various way to get this:
Firefox, Thunderbird, Nvu, Sunbird
All Mozilla related applications are launched with "-proflie" flag that set the profile folder path:
do shell script "" & perc & "app/Firefox.app/Contents/MacOS/firefox -profile " & perc & "app/profile"
Adium need a key <Preference Folder Location> in the Info.plist file with value <profile_path>. This is get with "defaults write" command:
do shell script "defaults write " & perc & "app/Adium.app/Contents/info \"Preference Folder Location\" " & perc & "app/profile"
As "default write" output is a binary file, this is convered to xml using "plutil" command:
plutil -convert xml1 "$here/app/Adium.app/Contents/Info.plist"
Adium binary are launched with the modifed Info.plist file:
do shell script "open " & perc & "app/Adium.app"
AbiWord should work as Mozilla applications using a -u flag to set profile folder but this is not yet implemented on OS X porting: Bug 9944 - OS X command line -u option fail
Profile folder path is set modifing HOME environment with "export HOME" command:
do shell script "export HOME=" & perc & "app; open " & perc & "app/abiWord.app"