MioPocket Outline

download MioPocket Outline

of 4

description

pout

Transcript of MioPocket Outline

This document is intended to outline how MioPocket is structured so that serious users may understand how to more easily make their own modifications and adapt/extend MioPocket. For specific help, such as with installing and adding/removing programs and icons, please see the Readme.Folder Structure================Extras \Device-Specific Install - Files needed by specific brands for installation. See the Readme for instructions \Patches - Optional additions that most people do not need \Win32 - Programs to be run from a Windows (ex. XP/Vista/7) desktop/laptop computerMedia - Sample media (video/music/books/pictures) to get started playing with MioPocketMioAutoRun \Programs - All programs \Games - All games \Registry - Registry files to be automatically imported during installation \320x240 - Registry files to be automatically imported only for 320x240 displays \480x272 - Registry files to be automatically imported only for 480x272 displays \800x480 - Registry files to be automatically imported only for 800x480 displays \CE4 - Registry files to be automatically imported only for devices with Windows CE 4.x \CE5 - Registry files to be automatically imported only for devices with at least Windows CE 5.0 \CE6 - Registry files to be automatically imported only for devices with Windows CE 6.0 \Custom - User-added registry files to be automatically imported \Exclude - Any registry files that will NOT be automatically imported \Scripts - All scripts \Skin - Skins and all associated files that make up MioPocket's look \iPhoneToday - The new shell introduced in MioPocket 4.0. \LockScreen - Files for the lock screen. \MiniBar - Files for the MiniBar, the hovering icon bar in the lower-right corner \SkinChanger - Files for the skin changer. \Taskbar - Files and skins for WisBar, a program for skinning the CE taskbar \System - DLLs and other files to be added to the system path. Files here can be found by any program \CE4 - DLLs to be added only for devices with Windows CE 4.x \CE5 - DLLs to be added only for devices with at least Windows CE 5.0 (i.e. CE5 and CE6 devices) \CE6 - DLLs to be added only for devices with Windows CE 6.0 \Extra - DLLs that are not used by MioPocket apps but may be needed by some user-added apps \FlashDrive - DLLs that, for SD installation, need to be copied to the flash drive to work \WLAN - DLLs for a few different wireless network SDIO cards \Windows - Files for customizing Windows CE \Administrative Tools - Shortcut (.lnk) files to be available in Control Panel->Administrative Tools \Application Data - Files to be copied to \Application Data \Control Panel - Applets to be added to the Control Panel \Desktop - Shortcut (.lnk) files that will show up on the CE desktop \Favorites - Favorites to be installed for Internet Explorer \Fonts - Fonts to be automatically added to the operating system \Root - Files to be copied to the internal root directory ("\") \SendTo - Shortcut (.lnk) files to be available via "Send To" on the context menus in some apps (like GSFinder) \Startup - Any files or links that will be run at startup \Start Menu - Shortcut (.lnk) files to be available in the WinCE start menu under Programs \Wallpaper - Wallpapers used for the desktop \Windows - Files that may or may not be copied to the internal \Windows folderInstallation Sequence=====================MioAutoRun.mscr |> Unlock.mscrMioAutoRun.mscr - Determines the type of installation (SD/SDFree/SD-to-SDFree), displays the startup menu (if enabled), then hands installation off to MioAutoRun\Scripts\Unlock.mscr.Unlock.mscr - Installs MioPocket. Among other things, that includes importing registry files, configuring the skin and setting \MioAutoRun\Launch.exe to run at startup via the HKLM\init registry key. Afterwards, the script resets the device.Startup Sequence================Launch.exe |> Initialize.mscr |> ShellStart.mscr |> StartupPrograms.mscrLaunch.exe - Runs at system startup (via the HKLM\init registry key) and launches Initialize.mscr (set in Launch.ini) once it is available (which can take a few seconds if it's on SD card).Initialize.mscr - Kills and/or minimizes OEM menus and other apps so that they don't interfere with MioPocket, then calls ShellStart.mscr.ShellStart.mscr - Launches the shell (iPhoneToday or SystemInformation), then calls StartupPrograms.mscr.StartupPrograms.mscr - Runs any other apps or services that need running, such as the MiniBar, the power button utility and device-specific utilities.Settings========MioPocket.ini - Stores MioPocket's settings. They may be modified here or via the MioPocket Settings menu in MioPocket. Most settings are also automatically available for use in scripts as variables via Variables.mscr. It starts as MioPocket.ini.defaults in the MioPocket zip so that a user's MioPocket.ini isn't overwritten. During installation, any settings in MioPocket.ini.defaults that are missing in MioPocket.ini are added to MioPocket.ini, or, if a new installation and MioPocket.ini doesn't exist, MioPocket.ini.defaults is renamed to MioPocket.ini.Variables.mscr - Determines and retrieves MioPocket's settings (some from MioPocket.ini, others from the file system). Some describe paths (ex. "ProgramsFolder", so that one need not know whether it's \Storage Card\MioAutoRun\Programs or \SDMMC\MioAutoRun\Programs) and others describe settings (ex. which skin is set or whether the MiniBar is enabled). For speed reasons, variables are broken into general categories:Variables_Common - all common paths for MioPocket. Normally, this is all that you need to call. Variables_Install - less-used variables related to installation. Includes Variables_Common.Variables_Apps - variables related to skins, apps and services. Includes Variables_Common.Variables_Navigation - variables used for navigation software. Includes Variables_Common.Variables_Language - variables for language translation. Includes Variables_Common.Variables - retrieves ALL variables. Useful for debugging; otherwise, not recommended (slow).See Variables.mscr or the existing scripts to use these variables.DLLs====MioPocket stores most of its DLLs under MioAutoRun\System. During installation, that folder and its sub-folders are added to the Windows CE system path (defined in HKLM\Loader). Windows CE checks the system path whenever a program requests a file that can't be found in the app's folder or in \Windows. Storing DLLs there allows MioPocket (and you) to add them to Windows CE without copying them to \Windows. Additionally, it should be noted that many common DLLs have been moved from the folders of programs to the System folder to eliminate duplicates and save space.Nav App Launching=================It's beneficial for MioPocket's components (ex. the shell and MiniBar) to be closed when nav apps run, because they often interfere and killing them frees up memory. MioPocket is set up for this automatically, but the way that it goes about it is slightly different depending on how the nav app is launched...* Via the "launcher" scripts (ex. iGOLauncher.mscr) in MioAutoRun\Scripts. When a nav app is run via its launcher script, that script calls AppLauncher.mscr, which does all of the required killing, then runs the nav app and exits the script. The nav app is run with a low-memory-using utility called RunWait.exe that waits for the nav app to exit and then calls AppLauncher.mscr again, this time to re-run the apps that were killed. This is the preferred method.* Via direct launching of the executable. When a nav app is run directly from its executable (.exe file), MioPocket's AlwaysRunning.mscr script detects it and calls AppLauncher.mscr to do the required killing. Afterward, AlwaysRunning.mscr waits for the nav app to exit, then calls AppLauncher.mscr again, this time to re-run the apps that were killed. This method uses a bit more memory than the other (because keeping a script in memory consumes more memory than RunWait.exe does), but works even if the user doesn't use the launcher scripts (ex. when creating new icons).Tools=====MortScript - The incredibly powerful scripting engine used by MioPocket. See http://www.sto-helit.de/ to download the manual, a must-have resource for serious scripting, and for scripting support.iPhoneToday - The shell (GUI) software used by MioPocket 4.0. It's also used by the lock screen and skin changer. See http://forum.xda-developers.com/showthread.php?t=633618 for new versions and for support specific to the program, itself.