We proudly present a new version of Icy, 1.4. It was tested on 2.2.1 and 3.0b5 firmware versions, and everything seems to work great.
A first thing you will notice is the new icon. This is something we wanted to do all along since pre-1.0, but unfortunately Max was busy for a while, so we only got the icon a few days ago, but I think it was worth the wait. 🙂
Full change list is available on the Icy webpage, but overall, this release is aimed at providing customizability and fixes.
Customizing Icy for Your Skinning Needs
We have been contacted by many people to adjust the look of Icy so it fits their theme, instead of pure black and white look. The biggest challenge was to keep the speed (app launch time, overall GUI responsiveness) the same as before while giving the flexibility to the theme makers. I believe we have achieved that perfectly.
So, in order to change the Icy appearance, include the file named IcyThemeDefiniton.plist in the theme bundle. Icy will automatically see it and use the definitions from there.
The following keys are available for the IcyThemeDefinition.plist file:
StatusBarStyle (string): can be either “black”, “white” or “transparent”. Defines the appearance of the status bar style in the application.
NavigationBarTintColor (string): defines the global color for all navigation bars used in the application, unless a specific section overrides it (see below).
TableBackgroundColor (string): defines the global table background color (or pattern), unless a specific section overrides it (see below as well).
TableSeparatorColor (string): defines the global table separator color, unless a specific section overrides it.
TableTextColor (string): defines the global table text color, unless a specific section overrides it.
InstallBackgroundColor (string): defines the install/remove pane background color (or pattern).
PackageInfoBackgroundColor (string): defines the package info background color (or pattern).
How to define a color: a color string may be either a triplet or quad of digits separated by comma, or an image file name. It’s easier to give some examples:
0,0,0: black color — each digit is a floating point number from 0 to 1, inclusive. If fourth digit is given, it is an alpha value.
0.5,0,0: dark red (0.5 red, 0 everything else)
DottyBackground.png: pattern loaded from the image DottyBackground.png in the theme bundle.
(empty): clear (transparent) color.
As you can see, you can easily customize the appearance of Icy by defining the keys above. If any key is not found, a default value is used. Now to make things even more flexible, you can define the colors for each section of the application. If any section-specific key is found, it will override the global one for that particular section:
NavigationBarTintColor_Packages, NavigationBarTintColor_Sources, NavigationBarTintColor_Search, NavigationBarTintColor_Installed
TableBackgroundColor_Packages, TableBackgroundColor_Sources, TableBackgroundColor_Search, TableBackgroundColor_Installed
TableSeparatorColor_Packages, TableSeparatorColor_Sources, TableSeparatorColor_Search, TableSeparatorColor_Installed
TableTextColor_Packages, TableTextColor_Sources, TableTextColor_Search, TableTextColor_Installed
You can also specify custom category icons in your theme — simply include the files named CategoryCATEGORYNAME.png and if present, the specified category will use that image, for example, CategoryThemes.png.
If you need more flexibility, let us know. 🙂