Difference between revisions of "Application:ThemeManager"

From WebOS Internals
Jump to navigation Jump to search
m
m
Line 2: Line 2:
 
{{application
 
{{application
 
|name=Theme Manager
 
|name=Theme Manager
|version=0.5.1
+
|version=0.8.0
 
|type=webOS
 
|type=webOS
 
|tag=Utilities
 
|tag=Utilities
Line 289: Line 289:
 
:'''Changelog'''
 
:'''Changelog'''
 
<blockquote>
 
<blockquote>
:'''0.5.1 - Current Alpha Release''' - (''Oct. 23rd, 2011'')
+
:'''0.8.0 - Current Alpha Release''' - (''Oct. 29th, 2011'')
 +
:* Added searching/filtering of theme and made UI smoother
 +
<br />
 +
:'''0.7.0'''
 +
:* Logic changes and added list view mode for theme library
 +
<br />
 +
:'''0.5.1 - 0.6.9'''
 +
:* Fixed third party applications theming which was broken
 +
:* Couple small bug fixes for user interface and service
 +
:* Fixed a bug in theme applying that could have caused problems.
 +
:* Fixed serious bug that caused theme applying time get long
 +
:* More user interface fixes and polishing for phones
 +
:* Couple small bug fixes and fine tuned user interface
 +
:* Small fixes and added support for Boot Logo component
 +
:* Interface fine tuning for both phones and TouchPad
 +
:* Few interface fixes when running on Touchpad
 +
:* Few interface fixes and theme installation fix
 
:* Couple small bug and typo fixes
 
:* Couple small bug and typo fixes
 
<br />
 
<br />

Revision as of 02:09, 30 October 2011

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 the 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


Selecting/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.


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.mydomain.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.)


Resources

Supporting Development

Btn donateCC LG.gif

Official Developer Project Page
Official Forum
Official Twitter Account


Status

Changelog
0.8.0 - Current Alpha Release - (Oct. 29th, 2011)
  • Added searching/filtering of theme and made UI smoother


0.7.0
  • Logic changes and added list view mode for theme library


0.5.1 - 0.6.9
  • Fixed third party applications theming which was broken
  • Couple small bug fixes for user interface and service
  • Fixed a bug in theme applying that could have caused problems.
  • Fixed serious bug that caused theme applying time get long
  • More user interface fixes and polishing for phones
  • Couple small bug fixes and fine tuned user interface
  • Small fixes and added support for Boot Logo component
  • Interface fine tuning for both phones and TouchPad
  • Few interface fixes when running on Touchpad
  • Few interface fixes and theme installation fix
  • Couple small bug and typo fixes


0.5.0
  • First beta release with many changes


0.2.0
  • Added support for phones with enyo


0.1.2
  • Initial alpha release