Application:ThemeManager

From WebOS Internals

Jump to: navigation, search
Theme manager.png

Overview

Icon Theme-Manager.png

Theme Manager is a webOS (2.1+ w/Enyo installed) application that brings theme support to your device. Using Theme Manager, you will be able to browse locally downloaded themes and apply them to your device.


Installation

The following information will help you install Theme Manager.


Overview

Stable Releases
The stable releases of Theme Manager can be found in the WebOS-Internals feed and are recommended for general public use.

Alpha/Beta Releases
The alpha/beta releases of Theme Manager can be found in the the WebOS-Internals Alpha or Beta feeds WebOS-Internals Testing Feed.


Method

The following method can be used to install Theme Manager.


Preware
  1. Open Preware
  2. Start typing “Theme Manager” (no quotes)
  3. Tap the Theme Manager from the list
  4. Tap the Install button
  5. Restart your device (optional, but recommended)

Or

  1. Open Preware
  2. Tap Available Packages
  3. Tap Application > System Utilities > Theme Manager
  4. Tap the Install button
  5. Tap the Ok button to restart Luna


Updating

webOS OTA Updates

Since Theme Manager is an app, it is OTA (over-the-air) update safe. When there is an OTA update to a newer version of webOS from your carrier/HP, you do not need to remove the app before updating. Themes applied with Theme Manager are also OTA safe. After an OTA update, you must re-apply the theme. Before applying a new OTA update, you might want to make sure that the themes you use are supported on the new webOS version.


Application Updates

Updated versions of Theme Manager can be applied via Preware.


Usage

Adding Themes to your Device

Theme Manager compatible themes come in two types: ZIP and IPK. Themes need to be added to your device before they can be accessed in Theme Manager.

ZIP Compatible Themes
To add a ZIP theme to your device, save the ZIP package to the Downloads folder on the USB partition of your device.

IPK Compatible Themes
To add an IPK theme to your device, save the IPK package to the USB partition of your device.


Installing Themes to the Theme Library

Once themes are added to your device, they must be installed into the Theme Library so they can be accessed in Theme Manager.

ZIP Compatible Themes
  1. Tap or Swipe down the Application Menu (left of the screen/top bar)
  2. Tap Theme Library
  3. Tap Install New Themes
  4. Tap one or multiple ZIP themes in the file picker
  5. Tap Ok


IPK Compatible Themes
  1. Install the IPK package with Preware
Note: If you have Theme Manager already open, you'll need to rescan for the newly installed theme(s).
  1. Tap or Swipe down the Application Menu (left of the screen/top bar)
  2. Tap Theme Library
  3. Tap Re-Scan All Themes


Applying your Theme(s)

Now that you have your theme(s) added to your device and installed in the Theme Library, you can start applying the themes or various components from many themes to your device. (NOTE: Be sure to remove any previous "non supported/non Theme Manager" themes prior to applying new themes with Theme Manager!)

Applying A Complete Theme
  1. Browse (swipe) to the theme you wish to apply.
  2. Tap the Select This Theme button
  3. Tap the Apply Current Theme button


Selecting Various Components From Many Themes
  1. Browse (swipe) to the theme you wish you select components from
  2. Scroll down to and tap the Theme Components section
  3. Tap the checkbox to select the components you wish to apply
  4. Tap the Select Components button (Note: Repeat the above steps to select components from other themes before you apply the custom theme.)
  5. Tap the Apply Current Theme button


Making Themes

First you should create a directory for your theme and you should name it in the following style to avoid any conflict with other themes: com.domain.theme-name (e.g. org.webosinternals.simple-test-theme). Even the theme can be set to support different devices you should make separate theme for different types of devices, i.e. most likely nobody wants to have files for TouchPad installed in his phone for example.

The hierarchy inside of that directory is free but the example below uses following hierarchy (the theme.json file is the only one required and has to be named as theme.json):

org.webosinternals.simple-test-theme/
  data/
  images/
  patches/
  sounds/
  theme.json


Then the contents of the theme.json file is as below. The optional stuff if not used can be left out. You should make sure that the file contains valid json, i.e. don't use tabs or make typos :). Also you should leave out the comments.

{
  "name": "Theme Name", // Mandatory
  "version": "1.0.0", // Mandatory
  
  "description": "Description for the theme.", // Mandatory

  "creator": "Authors Name", // Mandatory
  "website": "", // Mandatory but can be left empty

  "donations": "", // Optional donation link

  "devices": [
    // Mandatory list of supported devices, valid devices are
    // emulator, touchpad, veer, pre3, pre (= pre,pre+,pre2)
    
    "emulator",
    "touchpad"
  ],

  "screenshots": [ 
    // Mandatory, at least one screenshot is required
    
    "data/default-view.png"
  ],

  "themedata": { 
    // Mandatory, different data can be set for different webOS versions, 
    // every supported version must be listed, the components that does 
    // not exist in the theme should be removed. Components can contain 
    // images, sounds and patches.

    // Allowed files at the moment are, images: jpg/png, sounds: mp3/wav 
    // and only files that can be patched are css files.
  
    "3.0.0": {
      // You can refer to other version with alias if the version is 
      // compatible. At the moment if they differ even the slightest
      // amount you need to create new set, i.e. after alias you can
      // not set any "overrides" at the moment.
    
      "alias": "3.0.2"
    },
    "3.0.2": {
      // Path is always the path in the device and the file path to
      // to the file inside the theme directory.
    
      "app_icons": {
        "images": [
          {
            "path": "/usr/palm/applications/com.palm.app.phone/icon.png",
            "file": "images/icon-phone.png"
          }
        ]
      },
      "app_launcher": {
        "images": [
          {
            "path": "/usr/lib/luna/system/luna-applauncher/images/bg.png",
            "file": "images/search-bg.png"
          }
        ]
      },
      "applications": {
        "sounds": [
          {
            "path": "/media/internal/ringtones/Silent.mp3",
            "file": "sounds/silent.mp3"
          }
        ],
        "patches": [
          {
            "path": "/usr/palm/applications/com.palm.app.messaging/stylesheets/messaging.css",
            "file": "patches/messaging-css.patch"
          }
        ]
      },
      
      // If the component does not have images, sounds or patches then it can
      // be left out, but these are listed here just as an example what components
      // are supported.
      
      "enyo_widgets": {
      },
      "exhibition": {
      },
      "just_type": {
      },
      "keyboard": {
      },
      "lock_screen": {
      },
      "quick_launcher": {
      },
      "status_bar": {
      },
      "system_menus": {
      },
      "wallpapers": {
        "images": [
          {
            "path": "/media/internal/wallpapers/wallpaper.jpg",
            "file": "images/wallpaper.jpg"
          }
        ]
      }
    }
  }
}


Once the theme is ready you should zip the directory with the directory name, e.g. com.mydomain.test-theme.zip. Its good practice also to include the device type in the zip name as well, e.g. com.mydomain.test-theme-tablet.zip / com.mydomain.test-theme-phone.zip.

The zip file can be then installed with Theme Manager. Theme Manager unpacks the theme into /media/internal/.themes/ directory where you can even unpack your theme manually while in USB mode or edit/view the already installed themes (when in USB mode you should see .themes directory if you have installed themes).


Troubleshooting/FAQs

Q: What webOS version or device is Theme Manager compatible with?
A: Theme Manager is available for any device running webOS 2.1 and later. (NOTE: Enyo must be installed for Theme Manager to work. This can be done on older devices by installing the updated Maps app available in the App Catalog.)
Q: Where can a person find theme's compatible with Theme Manager?
A: While in the application is in beta, themes are being distributed independently. In the future, when the app is stable, a method, such as a preware and/or webosnation feed, will be in place. Some themes that are working with theme manager can be found below.

Resources

Supporting Development
Btn donateCC LG.gif
Official Developer Project Page
Official Forum
Official Twitter Account

Current Compatible Themes

Black & White by Sconix and Pink Forever by Sconix
Devices: Legacy(pre, pre+, Pre2 running 2.1.0), Pre2 (running 2.2.4) Pre3, TouchPad
Download: Index of Public Themes
Dark Glass by Michote
Devices: Legacy(pre, pre+, Pre2 running 2.1.0), Pre2 (running 2.2.4) Pre3, TouchPad, Veer
Forum Thread: WebosNation
Glass Themes by Garrett
Devices: Pre3, TouchPad
Forum Thread:Touchpad on WebosNation
Forum Thread:Pre3 on WebNation
Classic PalmOS by Sketch42
Devices: Pre3, TouchPad
PalmOS-TouchPad PalmOS-Pre3

Status

Changelog
1.0.0 - Current Release - (Feb. 5th, 2012)
  • First public release of Theme Manager
Personal tools
Google AdSense