Voodooprojects

Chameleon => Theme Park => Topic started by: Blackosx on May 23, 2009, 10:20:16 AM

Title: Creating Themes Guide - Updated for v2.1 rev1994
Post by: Blackosx on May 23, 2009, 10:20:16 AM
(http://i33.tinypic.com/35ipt7q.jpg)

Creating themes for the Chameleon bootloader

First of all, I want to congratulate the Chameleon team for all their hard work creating this fantastic bootloader which features a customisable GUI. Thanks also to fassl for helping me get my head around some issues and thanks to Zef and meklort for believing in the rollover feature enough to implement it properly ;)




Guide update - 7th June 2012

Chameleon v2.1rev 1994 now includes icon support for Mountain Lion. This builds upon the previous GUI changes that were introduced in February with rev1738 where Chameleon's GUI gained the ability to distinguish between different versions of OS X and reflect that by using specific device images.

I'm updating this guide to give more information about the additional graphic files and as I did before, taking the opportunity to make any other changes to keep it current. And since rocksteady upped the max character limit for posts, I can now extend this guide to make it more detailed.




Previous guide update - 26th August 2010

I think this guide has served it's purpose well for the last 16 months from when I first made it, but there have been some changes to the GUI in the upcoming RC5 which warrant an update of the guide and it also gives me a chance to add, tweak and amend the existing guide to make it more complete. Thanks to everyone who commented on the guide and gave feedback to help improve it.

RC5 can now draw a different image for the device icon when the user highlights that device in the GUI. This gives it rollover functionality and can be used to great effect to give the interface more feel. I used the effect in Chameleon's new default theme to indicate the selected device with the changing of the LED colour. The device_selection graphic can still be used in combination with the rollover devices and is still drawn below the highlighted device, though I chose to use a blank device_selection for the new default Chameleon theme.

The rollover devices are identified by the bootloader by having a '_o' at the end of the filename, before the extension. So for example, the optical drive is normally shown with the graphic device_cdrom.png, where as to add a rollover image for the optical drive, a new image is needed and that shall be named device_cdrom_o.png.

The rollover devices don't have to be used and if they're not in the theme folder then the bootloader will just draw the non-rollover device image instead, as you would normally see with current themes.




An explanation of a theme

A theme is a folder of files which the bootloader can read and load to present a graphical user interface to the user and when all the available items are used to their full, a theme can create a dramatic screen not seen in any other bootloader.

I like to class themes in to two different categories, flexible and rigid. This is important to understand as flexible themes are easier to use on multiple systems where as rigid themes might need altering to fit a different resolution other than it was designed for. If I were to try to define each category, it would come to something like this:

Flexible theme: One that doesn't use a full-screen image such as a background, doesn't have any element too close to the edge of the screen and it's elements can be determined as floating (or don't need to be in any exact location on the screen).

Rigid theme: One that uses a background image and/or requires the device icons, menu etc. be to in a specific location on the screen to achieve an overall effect.

(http://i38.tinypic.com/168sw9g.jpg)




Theme elements

Themes are made from a set of .PNG files for the images and a theme.plist which contains properties describing the various details for each theme element. for example positioning, levels of transparency, screen size.

As Chameleon has evolved, so has the number of supported files used in it's GUI. You can use Chameleon's revision identifier to know what graphic files are supported in that version:

Chameleon v2.1 rev1994 added GUI support for 10.8 (aka Mountain Lion) by using four extra files, bringing the total number of files for a complete theme to 64 (63 .PNG files and 1 theme.plist).

Chameleon v2.1 rev1738 was updated to use a set of 60 files to describe a complete theme (59 .PNG files and 1 theme.plist). The additional files over previous versions are for displaying different OS installations which Chameleon can now distinguish. For example, Haiku, FreeBSD, OpenBSD and the different flavours of OS X from 10.4 to 10.7.

RC5 (which eventually evolved to be the official v2.0 release). This version used a set of 38 files (37 .PNG files and 1 theme.plist) because of the introduction of using a separate graphic per device to show it's selected state (aka the rollover effect). RC5 no longer used separate image files for device_fat16 and device_fat32 as it classed them both as device_fat and device graphics were added for the GUI to show RAID drives.

RC1-RC4 used a set of 31 files (30 .PNG files and 1 theme.plist).

To ease identification, individual files can be grouped in to 9 sections as shown in the following table which shows the theme files used for each major theme upgraded version of Chameleon.

(http://i46.tinypic.com/2rwxfkn.jpg)

Note: Please see the bottom of the post for details of an application 'Lizard' by sonotone which can make use of 1 x additional PNG file named thumb.png in the theme folder to serve as a preview image of the theme.




Screen resolution

Resolution of Chameleon's GUI
The bootloader will recognise a range of available resolutions from your system and these can be seen by selecting the ‘Video Info’ option from the options menu. Only these resolutions can be used to display the theme at boot. To find out more abut identifying the screen resolution that Chameleon is using on your system, see here (http://forum.voodooprojects.org/index.php/topic,1181.0.html). Ultimately though, Chameleon will draw the GUI at the best screen resolution it can for your monitor based around the resolution it finds defined in the GraphicsMode boot option in to com.apple.Boot.plist.

Resolution of a theme
The theme.plist holds values entered in the screen_width and screen_height fields to identify the resolution the theme is designed for, but the bootloader will always draw the theme in to the resolution it's selected for the GUI regardless of the screen size set in the theme.plist. This will normally go unnoticed when using a 'flexible' theme, but will be obvious when using a 'rigid' theme.

Lets see how a theme will look at it's intended resolution and when used at a different resolution, so for this example we will use Chameleon's new default theme, which we can say is a 'flexible' theme. It has screen_width & screen_height values set at 1024x768 in it's theme.plist and here's how it renders in the GUI when drawn at both 1024x768 and 1680x1050. 

(http://i37.tinypic.com/2j47qk2.jpg)

To also enable a theme to better accommodate a different resolution, the developers have sensibly allowed themes to use relative positioning for their elements, so from one screen resolution to another, apart from the size of the graphics, everything should be positioned more or less the same regardless of screen size. Notice that when the theme is drawn on the 1680x1050 pixel grid the theme elements are still positioned correctly. This is due to the relative positioning described in the theme.plist. 

The same doesn't happen though for a 'rigid' theme, and next we look at a theme that uses a full screen image for the background. While background images can spice up a theme and greatly enhance the overall effect, they require the user to manually resize the image to fit the desired screen resolution as Chameleon isn't able to resize images. So if using a theme sized 1024x768 with a matching sized background image on a 1680x1050 screen then the background will still draw as 1024x768 with the remainder of the pixels filled with the colour specified in the screen_bgcolor field in the theme.plist.

You can see this happening in the next example which is showing OcciJano's lovely 'Like a Mac (http://forum.voodooprojects.org/index.php/topic,426.0.html)' theme. It was designed for a resolution of 1280x1024 and here's how it renders in the GUI when drawn at both 1280x1024 and 1680x1050.

(http://i33.tinypic.com/mx0p3p.jpg)

In this case it’s up to me, the end user, to resize (http://forum.voodooprojects.org/index.php/topic,237.0.html) the graphics to fit my screen resolution.

The resizing process can be greatly aided by the theme designer if they think about other resolutions than just their own. After some trials I recommend supplying three different sized themes using the ratios of 16:10, 16:9 and 4:3 designed at a high resolution which will allow anyone to resize the theme to fit their required resolution whilst keeping the intended shape. So in the above example of OcciJano's theme where it's just the background that doesn't work at different screen sizes, he could have supplied a higher-res background image which I could then crop/scale to fit my display without loss of quality. Instead the only options I have is to either A) not use a background image, B) resize (make larger) the supplied one to fit my screen which will decrease the quality of the image or C) create a new background or use a different image.




Theme.plist

The properties in this list describe positional, colour, size and transparency information for the individual elements that make up a theme.  Also note how the list is nicely broken down in to sections to make it easy to read and find particular items. Please try to keep this default order because changing it just makes it harder to quickly locate items.

(Note: items in red are because at the time of writing I can’t remember if that’s the exact edge used, for example, logo_pos_y could be positioned by the bottom edge not the top edge)

(http://i49.tinypic.com/2mwsf13.jpg)




Theme elements, what they're used for and where

I have created a series of illustrations to show what each graphic is and where it is intended to be used. But when designing a theme, feel free to place different sections where you want as who's to say the logo has to be at the top middle of the screen? or that the menu has to be centred at the bottom?
Note: Items in blue can all be found in the theme.plist, items in BOLD are graphics. Fonts used are shown as red.


(http://i35.tinypic.com/300r86c.jpg)
(http://i38.tinypic.com/v8obkp.jpg)
(http://i46.tinypic.com/4jpdhz.jpg)
I have also included this positional guide to show how the values in the theme.plist relate to co-ordinates on the screen. (I found info for this in docs from the Chameleon SVN)
(http://i50.tinypic.com/2hi8pcp.jpg)




Image file format

The bootloader uses 24 bit PNG images with 8 bit transparency. Many applications allow saving files in this format. I use Photoshop’s 'Save for Web & Devices' file option which aims to keep the maximum image quality possible whilst using the smallest possible file size.  Here's a screen shot for reference:

(http://i48.tinypic.com/30c7oyq.jpg)




Fonts

Like the other graphic files, the fonts are also made as PNG files. Chameleon's GUI uses two fonts , font_small which is used to display the device names, and font_console which is used to display the menus and also the boot information generated by the bootloader and displayed in the top left of the screen.

They are created as a continuous string of characters in the following order.
!”#$%&’()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_’abcdefghijklmnopqrstuvwxyz{|}~

Each character is then separated by a full red pixel (R:255 G:0 B:0) as you can see on the shipped themes. Here's a blown up section of the font_small graphic from the Chameleon default theme for reference.

(http://i50.tinypic.com/23upo3.jpg)

Note: Be careful with fonts because in my many trials with different sizes etc, I have on occasion had a boot failure with a Memory Allocation (XXXX, Deadbeef) error, or something like that. I haven't discovered the exact reason why this happens but I have a feeling it's got something to do with having an incorrect number red dots in the file which means the booter will fail to recognise the correct characters. Sometimes you can get away with just seeing ciphered writing (e.g. APPLE might read BQQMF), or at worst the memory allocation error.  If this happens to you then you can recover by booting from another HDD with a Chameleon install, a bootable USB or a boot-132 CD.

The process of creating fonts has been simplified by cizko's fantastic FontMaker. You can find it at http://www.cyberdisk.de/ (http://www.cyberdisk.de/).




Things you can’t control

Screen  A
The countdown text. i.e ‘Press any key to enter startup options’. This is hard coded in the booter and there is no option to change it.

Screen  B
The text in the top left hand corner of the device selection screen (screen B in the illustrations) is know as the 'boot banner' and serves a purpose of telling you what version the bootloader is. This text is hard coded in the booter and cannot be changed, though since the release of RC2 you can now turn this off in your /Extra/org.chameleon.Boot.plist (formerly /Extra/com.apple.Boot.plist) by using the <key>Boot Banner</key> with the <string>No</string> option.

Screen  B
device_selection.png layer. The device_selection always gets drawn underneath the device. This is something to think about when designing how your theme will operate.

Screen  C
Menu wording. This is hard coded in the booter and can’t be changed to read anything different.

Screen  C
Menu size. This is set and can’t be changed to a different size.
UPDATE: I have discovered in the source code that you can use the key 'menu_width' to change the width of the menu.



Tips / Points to remember

• All the theme files must be present in the theme folder*, even if a certain image isn't used in a theme then it's necessary to supply a blank file. For example, with Chameleon's default theme, the background is supplied as an empty file.

* this has changed with RC5 as far as the device icons are concerned. So that includes most of the images in the 'Devices' section of the initial table in this guide. The only mandatory device icon is 'device_generic.png' as the booter is now able to use that icon for any device it can't find a graphic image for. The purpose of this is, if needed, the booter can be complied with an embedded theme but use only the minimum of resources.

• All devices MUST be the same size, though the device_selection.png can be different. See the shipped default theme for an example (thanks for the correction Enzo). Changing the size of the device_selection graphic can sometimes enhance the way a theme works / looks. For example, my blackosx_switch theme uses a glow around the rollover device. By using a device selection graphic that's thinner than the device icons allows the device icons to be drawn closer together, essentially overlapping, which enables the glow to seamlessly blend in to another device icon without ugly spaces between them.

• The device_selection.png is always drawn behind the devices.

• The devices_iconspacing in the theme.plist also has a role to play with the height of the devices cropbox*. I’ve noticed when playing with larger fonts that sometimes they get cropped at the bottom. This is due to the devices_iconspacing being too small. So, if you use larger fonts, you might need to increase the devices_iconspacing. See image below for an example.

(http://i44.tinypic.com/10r8rih.jpg)

* The devices crop box (that’s what I call it), the box that frames the devices, device_selection and device names, you can see it when the devices_transparency is not set to 255.

• If the devices_max_visible is set to 3 and the system has more than 3 devices then the device_scroll_next.png and device_scroll_prev.png graphics are automatically drawn either side of the devices.

• progressbar_width and progressbar_height don’t seem to have any effect.

• devices_layout in the theme.plist can be set to vertical and will display the devices vertically but the keyboard input doesn’t change to allow use of the menu.




Monitor calibration

Something else to remember if you use a calibrated display is that when the theme is drawn by the bootloader, no calibration profiles will be used. So if you use one when designing a theme, bear in mind how it will look without any adjustment.



Building and using your theme

When you have your idea you can start to build your theme. And remember, no ideas are dumb, they are individual and unique to each and every person, with no right or wrong. The more choice available, the better.

The recommended way to use themes is to put all the files in a folder, give the folder a name and add that folder in to the Themes folder. I recommend not using a space in the folder name, so for instance use something like 'My_Great_Theme'. Then edit the /Extra/org.chameleon.Boot.plist (formerly /Extra/com.apple.Boot.plist) and add the Theme key/string to point Chameleon to your new theme, for example:

Code: [Select]
<key>Theme</key>
<string>My_Great_Theme</string>

By default, without the Theme key/string, Chameleon will always read from the 'default' folder in the Themes folder.

I then photograph the screen at different stages to refer back to when adjusting the theme (otherwise I found I was rebooting again, cos I had forgotten things). Or if you are feeling more adventurous you can create a disc image .iso containing your theme which you can then load in to a VM (VMWare, QEMU, Parallels..) to see your theme in a window without rebooting. Using this method I was successful at getting to see the GUI but I never figured out how to add any other volumes for Chameleon to display so I only ever saw the CD-ROM icon. But it works :) (thanks Zef). For instructions on creating a Chameleon disc image for testing your themes using VMWare Fusion, see here (http://forum.voodooprojects.org/index.php/topic,1505.msg7409.html#msg7409).




Uploading your theme with image previews / thumbnail

Once you have tweaked and tested and are happy with the theme you can zip it up and uploaded it for everyone to see, along with a screen shot of the theme. For making a screenshot you have a couple of options. Personally, as I make my themes in Photoshop, I can easily save an image, but you can always reboot and see it in action when Chameleon draws it onscreen then take a photograph, or try creating a disc image and running in a VM as described above.

Please resize any images before uploading to respect the bandwidth of others and the storage space on the server. As a guide I suggest resizing screenshots to 800pixels wide.

You can now include an image to be used as a thumbnail for the theme in the main 'Theme Park' forum. For this you need to create a JPEG image sized at 200pixels wide and save it with the name thumb.jpg. Then attach it to your theme post where it will be automatically picked up by the forum software for displaying.




Supporting the Lizard app

Sonotone has released an application to assist with editing and tweaking your com.apple.Boot.plist, SMBIOS.plist and managing themes. For themes, the application uses two extra key/strings in the theme.plist, and a thumbnail icon of the theme in the theme folder. The app has become quite popular now so it make sense for themes to support it. You can read about and find a download link here (http://forum.voodooprojects.org/index.php/topic,842.0.html).

The two new key/strings are as follows.
key>Author</key>
<string>Me</string>
<key>Version</key>
<string>1.0</string>

You can add these anywhere in the theme.plist you like but it's easy to add them to the top like this.....

(http://i38.tinypic.com/znq2pd.jpg)

(obviously replacing Blackosx with your name)

The size of the thumbnail for the theme is 120 pixels square and should be saved as a .png format with the filename 'thumb.png'. Add it in your theme folder along with all the other devices etc.

Here's an example of what a finished thumb.png will look like...

(http://i35.tinypic.com/2dvsci8.jpg)

I've attached a photoshop template 'Thumbs Template.psd' for the thumbs icon for reference.
Title: Re: Creating Themes Guide
Post by: SilverZero on May 26, 2009, 05:28:45 AM
Ah, exactly what I was looking for. I was wading through the Info.plist for too long in trial-and-error mode. Thanks!
Title: Re: Creating Themes Guide (UPDATED) v2
Post by: rocksteady on May 26, 2009, 02:45:38 PM
Fantastic work Blackosx,

Pure quality post, thank you
Title: Re: Creating Themes Guide (UPDATED) v2
Post by: Kabyl on May 26, 2009, 03:17:07 PM
Very nice Blackosx :)
We would want to include a PDF version of this in the next (or final) release, if you don't mind.
Thanks!
Title: Re: Creating Themes Guide (UPDATED) v2
Post by: Blackosx on May 26, 2009, 03:22:02 PM
Fantastic work Blackosx,

Pure quality post, thank you

Thank you.

Very nice Blackosx :)
We would want to include a PDF version of this in the next (or final) release, if you don't mind.
Thanks!

Thanks also.
Yes I can supply a PDF. I might update it in the mean time, so let me know when you need it so you can have the most up to date version.
Title: Re: Creating Themes Guide (UPDATED) v2
Post by: Nolesfan on May 26, 2009, 09:37:58 PM
Nice job, I just wish this was out before I started trying to modify a theme.  It sure would have helped.
Title: Re: Creating Themes Guide
Post by: Dalton63841 on May 29, 2009, 01:11:01 AM
Is there any way to make the progressbar scroll from left to right, instead of right to left?
Title: Re: Creating Themes Guide
Post by: Blackosx on May 29, 2009, 08:20:55 AM
Is there any way to make the progressbar scroll from left to right, instead of right to left?

No, that is hard coded in the bootloader.
Title: Re: Creating Themes Guide
Post by: Unliked on July 03, 2009, 05:00:46 PM
Is there any way to make the progressbar scroll from left to right, instead of right to left?

No, that is hard coded in the bootloader.

I know this is a bit late but it's possible to invert them so that the progressbar is actually the background and vice versa. Then it will be from right to left (kind of).
Title: Re: Creating Themes Guide
Post by: Blackosx on July 04, 2009, 12:17:34 AM
I know this is a bit late but it's possible to invert them so that the progressbar is actually the background and vice versa. Then it will be from right to left (kind of).
Hi Unliked, good thinking.. I never thought of that...
I have just had a quick look at your deviantart account and Wow!.. you have created some fantastic artwork and I think if you ever contributed a theme it would be stunning.  ;)
Title: Re: Creating Themes Guide
Post by: Unliked on July 04, 2009, 02:41:10 PM
I know this is a bit late but it's possible to invert them so that the progressbar is actually the background and vice versa. Then it will be from right to left (kind of).
Hi Unliked, good thinking.. I never thought of that...
I have just had a quick look at your deviantart account and Wow!.. you have created some fantastic artwork and I think if you ever contributed a theme it would be stunning.  ;)

Actually I'm making one atm. Should be finished in few days time :D
Title: Re: Creating Themes Guide
Post by: Blackosx on July 04, 2009, 06:10:34 PM
Actually I'm making one atm. Should be finished in few days time :D
Fab. It is going to be good to have something new on here. And I feel something special coming.  ;D
Title: Re: Creating Themes Guide
Post by: tonydickinson on October 06, 2009, 11:46:58 AM
Hi thank you for the blackosx_big_screen_ll theme its great.

I have four disks and only want two specific ones to appear such as osx and win while ignoring a drive named boot and another data.

If i select the number of drives as two the boot and osx drives appear, and I can of course scroll to the others, but I would be grateful whether it would be possibe to show the two specific disks and ignore the others?

If this has been covered already apologies, but i cannot find how to do that anywhere, thanks.
Title: Re: Creating Themes Guide
Post by: Blackosx on October 09, 2009, 11:03:40 PM
Hi tonydickinson

This isn't the place to ask about this. But for reference Chameleon will only hide HFS partitions without a bootable system.
Title: Re: Creating Themes Guide
Post by: audiophile_user on October 14, 2009, 06:41:09 AM
OT:

is it possible to modify the bootscreen like the old apple logo and spinning thingy?

TIA!
Title: Re: Creating Themes Guide
Post by: Blackosx on October 14, 2009, 12:19:53 PM
is it possible to modify the bootscreen like the old apple logo and spinning thingy?
You can change the Apple logo if you like by changing the boot.png in the theme folder (check the boot.png in the shipped default theme). Other users have also tried creating a full screen boot.png the same resolution as the display to effectively give a new design to the page, but remember that the booter doesn't use any accelerated video so this method will probably result in you seeing the image being drawn. You'll have to do some testing.

Note: Chameleon supports the LegacyLogo key/string pair in the com.apple.Boot.plist, which allows users to use the default apple boot screen, effectively disabling your work.

As for the animated gear icon, you can't change that as it's drawn by the kernel.

Title: Re: Creating Themes Guide
Post by: audiophile_user on November 11, 2009, 05:04:04 PM
thanks :)
i apologize for the late reply. hopefully i can change the background to black leaving the apple logo there :)
Title: Re: Creating Themes Guide
Post by: jeffrey1790 on November 24, 2009, 04:12:25 AM
Im also looking to change the background color behind the apple logo. This one:

(http://www.guidebookgallery.org/pics/gui/startupshutdown/splash/macosx103-1-1.png)
Title: Re: Creating Themes Guide
Post by: Leeward on November 30, 2009, 08:16:41 PM
How is the position of the device description text set ?
The text for my device descriptions ends up positioned over the device .png images, not below it. ?

Thanks !
Lee


EDIT: Ok  after experimenting a bit, I discovered that the Device/Volume text position is relative to the position of something else.  I THINK.... BUT I may be wrong.. that it is relative to the bottom of the "device_selection.png".
I noticed that "font_small.png", in many of the current themes, is taller than just the letters (and the red dots that delineate them).
So I cropped the bottom of "font_small.png", and rebooted..... cropped....rebooted..... eventually I found how tall "font_small.png" needed to be for my theme.

So in recap... the plist file doesn't adjust the position of the device/volume text.... the size of the font graphic does.

Question:[b/] Is there a way to prevent long volume names from overlapping the name beside it ?  (eg "Mandriva Linux Install")

Cheers,
Lee
 
Title: Re: Creating Themes Guide
Post by: Blackosx on December 02, 2009, 03:20:55 PM
Im also looking to change the background color behind the apple logo. This one:
See the post at the top of this page.
Title: Re: Creating Themes Guide
Post by: Blackosx on December 02, 2009, 03:30:32 PM
Hi Lee,

How is the position of the device description text set ?
The text for my device descriptions ends up positioned over the device .png images, not below it. ?
The devices names are drawn below the 'Devices Crop Box' (that's what I call it) - See illustration B 2nd Options Screen in the main front page post. And the 'Devices Crop Box' is variable depending on the height of the devices and device selection.

If you want to move the device name lower then you need to make a device graphic taller. So for instance, you can have a 128(W)x128(H) pixel device icon but position that at the top of a 128(W) x256(H) pixel rectangle, so you will have a 128 pixel gap below the device.

I noticed that "font_small.png", in many of the current themes, is taller than just the letters (and the red dots that delineate them).
So I cropped the bottom of "font_small.png", and rebooted..... cropped....rebooted..... eventually I found how tall "font_small.png" needed to be for my theme.
Yes, see my guide on the front page of this thread. Look for 'devices_iconspacing' as this seems to have an effect on the device names being cropped. The larger the gap, the larger the font can be. I don't know why this happens, but it just does.

So in recap... the plist file doesn't adjust the position of the device/volume text.... the size of the font graphic does.
Yes (see above)

Question:[b/] Is there a way to prevent long volume names from overlapping the name beside it ?  (eg "Mandriva Linux Install")
No, all you can do is use a more condensed typeface or make the typeface smaller.
Title: Re: Creating Themes Guide
Post by: jeffrey1790 on December 03, 2009, 06:03:07 PM
Im also looking to change the background color behind the apple logo. This one:
See the post at the top of this page.

So its not possible to change the background color, say to black using Hex Code? Or is the background also drawn by the kernel?
Title: Re: Creating Themes Guide
Post by: Blackosx on December 03, 2009, 07:56:35 PM
So its not possible to change the background color, say to black using Hex Code? Or is the background also drawn by the kernel?
As far as I know, that's correct. It's handled by the kernel.
Title: Re: Creating Themes Guide
Post by: phattbam on December 16, 2009, 10:26:14 PM
I resized a theme already made... and right after the boot selection is made there's some text at the top left of the background image that comes on before the screen changes. I never had that before the newly installed themes. Also is it possible to rename the "text" of the devices? They are currently NTFS and I wanted to relabel it as Windows
Title: Re: Creating Themes Guide
Post by: Blackosx on December 17, 2009, 10:36:57 AM
What exactly does the text say? as sometimes it's normal to have this. Are you booting in verbose mode (-v)?
As for the device names, Chameleon will display the name of HFS+ volumes only, not for NTFS or EXT3/4 volumes.

Although there has been some development with BSD installs http://forum.voodooprojects.org/index.php/topic,984.0.html
Title: Re: Creating Themes Guide
Post by: phattbam on December 17, 2009, 05:41:53 PM
What exactly does the text say? as sometimes it's normal to have this. Are you booting in verbose mode (-v)?
As for the device names, Chameleon will display the name of HFS+ volumes only, not for NTFS or EXT3/4 volumes.

Although there has been some development with BSD installs http://forum.voodooprojects.org/index.php/topic,984.0.html

On the screen that skips to the apple logo boot screen, it shows something like "old(er) version" and I can't quite see what else it says. I was using an enabler created by a user over on the S10lenovo.com forums. On that set up it never displayed any misc text on that background screen. It doesn't really bother me yet. but I'm just wondering what it is. I have a Mac HDD and a NTSF HDD partitioned on a 160gb HDD.
Title: Re: Creating Themes Guide
Post by: Blackosx on December 21, 2009, 12:11:16 AM
I was using an enabler created by a user over on the S10lenovo.com forums. On that set up it never displayed any misc text on that background screen.
Using an enabler? what exactly was it?

But for the general text displayed in the top left hand corner, you can hide it with the following boot option in the com.apple.Boot.plist

<key>Boot Banner</key>
<string>No</string>
Title: Re: Creating Themes Guide
Post by: phattbam on January 04, 2010, 08:39:28 AM
I was using an enabler created by a user over on the S10lenovo.com forums. On that set up it never displayed any misc text on that background screen.
Using an enabler? what exactly was it?

But for the general text displayed in the top left hand corner, you can hide it with the following boot option in the com.apple.Boot.plist

<key>Boot Banner</key>
<string>No</string>


Where do I make those changes? Sorry for the noob question
Title: Re: Creating Themes Guide
Post by: Blackosx on January 04, 2010, 08:52:12 AM
Where do I make those changes? Sorry for the noob question
In your /Extra folder you will have a file named com.apple.Boot.plist. This is used to tell Chameleon what you want it to do when it boots.

Have a look through this post for reference to the /Extra fils structure and the com.apple.Boot.plist.
http://forum.voodooprojects.org/index.php/topic,996.0.html
Title: Re: Creating Themes Guide
Post by: phattbam on January 04, 2010, 09:08:36 AM
In your /Extra folder you will have a file named com.apple.Boot.plist. This is used to tell Chameleon what you want it to do when it boots.

Have a look through this post for reference to the /Extra fils structure and the com.apple.Boot.plist.
http://forum.voodooprojects.org/index.php/topic,996.0.html

Hi I checked it out... I already have boot banner set to no.. it's loading something else that flashes on for a bit and then goes away.
Title: Re: Creating Themes Guide
Post by: Blackosx on January 04, 2010, 10:46:12 AM
Hi I checked it out... I already have boot banner set to no.. it's loading something else that flashes on for a bit and then goes away.
I see. And there's no way you can read what it says or take a photo of it?
So going back to your original post, this only happens when you have changed a theme, and not using the original theme?
Title: Re: Creating Themes Guide
Post by: phattbam on January 05, 2010, 05:11:07 AM
it flashes by really quickly. I'm not sure if it's just displaying what's loading onto my computer.
Title: Re: Creating Themes Guide
Post by: Blackosx on January 05, 2010, 08:43:28 AM
it flashes by really quickly. I'm not sure if it's just displaying what's loading onto my computer.
You can try asking Chameleon to use verbose mode and wait before continuing to show you the messages by either type this option at the chameleon boot prompt like:

-v Wait=y

or add the following key/string to your com.apple.Boot.plist

<key>Wait</key>
<string>y</string>

Then booting in Verbose mode.
Title: Re: Creating Themes Guide
Post by: Enzo on February 06, 2010, 02:15:26 PM
Not sure if I missed this but,
What is the key "Enabled" for? The default theme has a string of "No" and some themes are set to "yes"

Also, I did notice the default theme uses a device selection of 112x112 while all the device icons were 96x96 IIRC. Lastly, not a big deal, but I think I noticed fonts being rendered a little bigger than average. Maybe it's Fontmaker app/site linked here?
Title: Re: Creating Themes Guide
Post by: Blackosx on February 07, 2010, 10:50:28 AM
Not sure if I missed this but,
What is the key "Enabled" for? The default theme has a string of "No" and some themes are set to "yes"
Hi Enzo.

That's a good question as I don't know either - Anybody else know this?

Also, I did notice the default theme uses a device selection of 112x112 while all the device icons were 96x96 IIRC.
Yes it does, and I guess the reason you're telling me this is because (I have just checked) my guide says the device_selection must be equal size to the device graphics. Thanks I'll change that ;)

Lastly, not a big deal, but I think I noticed fonts being rendered a little bigger than average. Maybe it's Fontmaker app/site linked here?
I am not sure what you mean here, but they seem to appear at the same size in Chameleon as they are in Photoshop when I create them? Can you show me an example?
Title: Re: Creating Themes Guide
Post by: Enzo on March 31, 2010, 07:17:07 AM
For Screen C, the menu. Do you mean the icons have to be 24x24? (I believe that's the default)
Title: Re: Creating Themes Guide
Post by: Blackosx on March 31, 2010, 12:03:47 PM
Hi Enzo

Yeah, 24x24 pixels is all we can use for the icons in the menu.
Unfortunately, the code for the GUI doesn't allow for anything different.
Title: Re: Creating Themes Guide
Post by: Enzo on May 19, 2010, 11:49:50 PM
I'm having some alignment issues here...

I'm hoping there's a fix for this, but I can't seem to control where the device is on the first screen, where it has the loading bar. Whenever I change the x/y pos for devices, it does work, but only for the second screen/options screen. Can I not move it in the first screen? I'm playing with much bigger icons, and it looks to be placed higher, maybe it uses the bottom edge to align it or something. Any help would be appreciated.
Title: Re: Creating Themes Guide
Post by: Blackosx on May 20, 2010, 08:02:37 AM
Hi Enzo

I know exactly the problem you describe as I also banged my head against a wall try to work out what was going on. But AFAIK there's nothing we can do to move it down with the current feature set of the code. Maybe it's time to open up a thread in the patches section and work out what needs changing in the source code?
Title: Re: Creating Themes Guide
Post by: Enzo on May 20, 2010, 07:07:50 PM
Perhaps! heh
Hopefully it's a simple fix. Currently, I am having trouble moving the logo horizontally as well. I will keep messing with it, but I think I may just have to ditch the logo =/.

Title: Re: Creating Themes Guide - Updated for RC5
Post by: Enzo on October 27, 2010, 01:47:43 AM
Thanks for the helpful additions. I just realized RC5 was using the res specified in boot.plist! While this is definitely neat, it does seem to imply that a user HAS to adjust the theme as necessary if it is one that isn't flexible (I think people sometimes left the res stuff alone, and let their monitor/screen scale up/down the image, thus not breaking a non-flexible theme). Though I suppose we could change the res in boot.plist, right?

This is something I'll have to try, as I want this theme I'm working on to be scalable, and will test out a few resolutions.

Something else I've noticed is regarding the selection graphics. Before RC5, device_selection was not drawn until entering the options screen. Now with RC5, though it still doesn't, it does however seem to use the "device_xxx_o" graphic, which seems to have the opposite effect. It is essentially drawing a selection graphic in the first screen when there is nothing to select. I hope that makes sense. Not a huge deal, and I suppose could be intentional.

Lastly, any word on progress being made regarding the options screen graphical rendering issue? ;-)
Title: Re: Creating Themes Guide - Updated for RC5
Post by: tkhudairi on November 08, 2010, 07:55:49 PM
I would like to ask on how to change the device name for each partition logo in the boot loader. For example, in my case I have three partitions; Windows 7, snow leopard and ubuntu. Under Windows 7 logo there is a text "WINDOWS NTFS". Now how to change this text to lets say"Windows 7 Ultimate"?
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Enzo on November 08, 2010, 08:37:52 PM
I would like to ask on how to change the device name for each partition logo in the boot loader. For example, in my case I have three partitions; Windows 7, snow leopard and ubuntu. Under Windows 7 logo there is a text "WINDOWS NTFS". Now how to change this text to lets say"Windows 7 Ultimate"?

You can change the name of partitions within their respective OS. Also, as of Cham2 RC4, you can rename partitions with the right key/string in boot.plist.

In Windows, you can go into, IIRC, Administrative Tools->Computer Management and view/rename partitions.

To rename using Cham 2 RC4 or above, quick google search gives me:
"Rename Partition"      Rename partition(s) for the boot menu.
    =partition <alias>       Where partition is hd(x,y), UUID or label enclosed
     [;partition2 <alias2>   in quotes. The alias can optionally be quoted too.
     ...]
Title: Re: Creating Themes Guide - Updated for RC5
Post by: tkhudairi on November 08, 2010, 08:54:28 PM
Thanks Enzo. I will try that today. What about renaming partitions in Ubuntu? Thanks
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Twa on November 17, 2010, 09:27:11 AM
I have a 1600x900 monitor (DVI-DVI - GPU GTX 285) , I fixed background to 1600x900 px and fix in plist file too, but Chameleon Screen isn't show correct resolution, I see on Video info and Chameleon wasn't detected correct my Res :(  any help ?
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Blackosx on November 17, 2010, 04:30:36 PM
I have a 1600x900 monitor (DVI-DVI - GPU GTX 285) , I fixed background to 1600x900 px and fix in plist file too, but Chameleon Screen isn't show correct resolution, I see on Video info and Chameleon wasn't detected correct my Res :(  any help ?
Hi Twa

You have to use a resolution from the video info list that best fits your monitor.
Have a read of this post (http://forum.voodooprojects.org/index.php/topic,1181.0.html) and the links therein to gain more insight.
Title: Re: Creating Themes Guide - Updated for RC5
Post by: W.Xueqiang on December 09, 2010, 12:42:26 PM
hi Blackosx!
I want the theme which in your top tip!
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Blackosx on December 09, 2010, 12:57:00 PM
Hi W.Xueqiang

I'm not 100% sure which theme you mean but I'm guessing you're asking about the picture at the top of the opening post here? In which case that is only a render of the actual Chameleon RC5 default theme from a different angle as I created the devices in a 3D package. Also, that image would be impossible to achieve in Chameleon's GUI as the perspective on each icon is dependent on it's location, where as Chameleon just uses one single image for each icon so regardless of it's location you'll always see the same shape.

But a 3D space GUI would be amazing!!  Who's clever enough to create an OpenGL GUI?  :lol:
Title: Re: Creating Themes Guide - Updated for RC5
Post by: W.Xueqiang on December 09, 2010, 02:15:55 PM
So that, I see!
Title: Re: Creating Themes Guide - Updated for RC5
Post by: W.Xueqiang on December 09, 2010, 02:17:49 PM
However, We can use one view icon.
Because these icons are so beautiful ⋯ ⋯
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Blackosx on December 09, 2010, 06:14:03 PM
If I did it, then it would look something like this?

(http://i54.tinypic.com/2eewr48.jpg)

What do you think?
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Azimutz on December 10, 2010, 04:27:28 AM
I like it ;D
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Blackosx on December 10, 2010, 02:49:37 PM
Really?  Damn... I guess this'll be another theme to put on my to do list.   :lol:

I've still got Gringo's idea for a revised 'Space Invaders' theme (http://forum.voodooprojects.org/index.php/topic,352.msg2136.html#msg2136) in the works and that's going back to June '09 !!
Title: Re: Creating Themes Guide - Updated for RC5
Post by: W.Xueqiang on December 10, 2010, 03:10:20 PM
Is this!
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Azimutz on December 10, 2010, 07:55:01 PM
Yeah, i like that perspective.. it just feels more real.
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Blackosx on December 12, 2010, 06:55:17 PM
Okay, see this (It's not exactly like the mockup above)
http://forum.voodooprojects.org/index.php/topic,1737.0.html
Title: Re: Creating Themes Guide - Updated for RC5
Post by: spalek83 on February 08, 2011, 07:17:22 AM
is there a way to disable device names, other then removing font_small.png?
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Enzo on February 08, 2011, 08:30:34 AM
You can use a blank font_small.
Title: Re: Creating Themes Guide - Updated for RC5
Post by: spalek83 on February 08, 2011, 08:36:07 AM
Thanks, it just looked like the countdown timer depended on the font_small.png
So if it was transparent, the counter would disappear. Not too important for me, but I was wondering.
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Enzo on February 08, 2011, 08:39:31 AM
Well the progressbar should still show up. All other text disappears as well if you make font_small invisible, aside from the console, and the menu text.

I used an invisible font_small in my iCham2 theme. ;-)
Title: Re: Creating Themes Guide - Updated for RC5
Post by: spalek83 on February 08, 2011, 08:54:05 AM
awesome, thank you :P
Title: Re: Creating Themes Guide - Updated for RC5
Post by: mnfesq on June 23, 2011, 09:02:08 PM
In Lion DP4, there is a linen background during boot.  I have learned that it is located at System/Library/CoreServices/Dock.app/Contents/Resources/defaultdesktop.png.  When I use Chameleon RC5, I get the grey boot background at first and, after my video drivers have loaded, it switches to the linen background for a few seconds before I get to the desktop.  Does this change in the OS X kernel, that allows for the loading of a .png file as the boot background, change what Chameleon can do in terms of changing the boot background?  My goal is to get rid of the grey boot background so that it only uses the linen background during boot.  Any thoughts?
Title: Re: Creating Themes Guide - Updated for RC5
Post by: rene204 on June 25, 2011, 07:17:33 PM
same for me here... 
Title: Re: Creating Themes Guide - Updated for RC5
Post by: murdercitydevil on July 14, 2011, 07:49:56 AM
I'm sorry if this is a dumb question, but how exactly do I get a theme to display in my native resolution? I somehow did it on my old SL install, but with Cham RC5 r1095 I can't do it.  My theme.plist has the correct dimensions set and my com.apple.boot.plist has the Graphics Mode set to native res as well.  And yet no matter what it loads up in 1024x768 or whatever it is. 

Additionally, is there any way to get rid of the black border around the bootloader screen? I don't know why, but Chameleon never fills up the entire screen on my 1920x1080 monitor, no matter what the resolution settings are.  It's the same for the boot screen, only after I get to the login screen does it fill up all the way.  Thanks much in advance.
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Blackosx on July 16, 2011, 10:59:53 PM
Hi murdercitydevil

I'm not sure if your problem is being caused by one of the recent updates to Chameleon. You say you're using RC5 rev1095 now but how old was your previous version?

Can I ask you look at this post?
http://forum.voodooprojects.org/index.php/topic,1181.0.html

It's over a year old now and might not be 100% accurate for todays version of Chameleon since I think autoresolution is now part of the trunk. But at least you could try looking the resolution list presented in Chameleon's menu from the GUI to see what's available for your system.

This might not answer your question but it might give an insight to your problem.
Title: Re: Creating Themes Guide - Updated for RC5
Post by: murdercitydevil on July 17, 2011, 05:06:53 AM
Thanks for the info, man.  I am actually considering flashing my card's BIOS to support proper widescreen resolutions.  Should be another fun project to undertake. 
Title: Re: Creating Themes Guide - Updated for RC5
Post by: hozey on July 23, 2011, 09:43:54 PM
This newbie needs help.  I've been trying to modify the Marble theme, which I can't remember where I found months ago.  In the device selection screen there is a gary box around the choices.  I'd like to get rid of it.  I was sure I'd found the solution when I spotted the device_selection.png, but it's already transparent even though the size seems correct; 229 Wide and 195 Height.  Don't thing it makes any difference, but to be safe I should mention that I changed the background and boot pngs.  I've almost got my first Hackintosh just like I want it, so any help will certainly be appreciated.  Hozey
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Blackosx on August 10, 2011, 08:30:32 AM
I am thinking you're referring to the box around all the devices and device names? In which case to make it not visible you will need to set the 'devices_transparency' key/string in the theme.plist to 255.

If this is not what you mean then please supply a photo to explain.
Title: Re: Creating Themes Guide - Updated for RC5
Post by: hozey on September 07, 2011, 03:06:24 PM
Strictly a newbee here and apologize ahead of time for asking what will probably be a simple question.
I want to move the boot prompt bar up.  Please tell me how to do this.  Thank you.
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Esquilax on December 22, 2011, 03:30:27 AM
So now that fat16 and fat32 are the same, what happens if someone uses an older theme that still has both files?  Which one gets used, fat16, fat32, or generic?
Title: Re: Creating Themes Guide - Updated for RC5
Post by: Blackosx on December 28, 2011, 12:26:24 PM
Hi Esquilax

Good question and without looking at the code or running some tests I don't know the answer. I'll look in to it.....
Title: Re: Creating Themes Guide - Updating for v2.1 rev1738
Post by: Flashe on March 18, 2012, 08:25:03 PM
Hello everyone

@Blackosx
I have a problem screen résolution chaméléon i don't know why. I did a reading of your tuto on chaméléon theme and résolution but i do not understand all this topic because i am french sorry.
You can help me please resolved this problem ?

I have change in theme.plist  1024 by 1600 and 768 by 900.
     
        <key>screen_width</key>
   <string>1024</string>
   <key>screen_height</key>
   <string>768</string>

      <key>boot_width</key>
   <string>1024</string>
   <key>boot_height</key>
   <string>768</string>

But i don't have différence already the same problem.

(http://img824.imageshack.us/img824/885/img0040cx.jpg)


In boot.plist i have write :

        <key>Graphics Mode</key>
   <string>1600x900x32</string>

But not résolved my problem.


Thanks advance for the help.
Title: Re: Creating Themes Guide - Updating for v2.1 rev1738
Post by: Enzo on March 19, 2012, 02:36:04 AM
@Flashe, I would think it must be the video card that doesn't support the resolution, very common with newer cards unfortunately =/.
Title: Re: Creating Themes Guide - Updating for v2.1 rev1738
Post by: Flashe on March 20, 2012, 12:05:52 PM
Hi all,

@Enzo only screen graphics chaméléon i have this problem because with windows 7 not problem with lion on office résolution work perfectly.

I have processor Intel hd 3000 and AMD HD 6770M the résolution 1600*600*32 is résolution native normaly.


(http://i44.servimg.com/u/f44/12/84/14/05/ecran_10.jpg) (http://www.servimg.com/image_preview.php?i=426&u=12841405)
Title: Re: Creating Themes Guide - Updating for v2.1 rev1738
Post by: Blackosx on March 20, 2012, 06:29:11 PM
Hi Flashe

Chameleon will draw it's GUI using the best resolution it can find from your video card. Sometimes only a few resolutions are available at this stage as no OS or dedicated drivers will have been loaded.

To quote from the What screen resolution is Chameleon using? (http://forum.voodooprojects.org/index.php/topic,1181.0.html) post
Quote
you need to boot in to the Chameleon GUI, press the down arrow on your keyboard to bring up the menu. Then down arrow to the sixth option 'Video Info' and have a look in the resulting list to see if your desired resolution is there.
That will present you with the video resolutions available for the GUI and you can then look to from that list one you would like to use. You can then set that resolution in the theme.plist for screen_height and screen_width.

For reference, here's an old screenshot I had here to show something similar:
(http://i43.tinypic.com/2ia4nt3.jpg)

If you get stuck, post back here with the resolutions you find from Chameleon's 'video info' menu.
Title: Re: Creating Themes Guide - Updating for v2.1 rev1738
Post by: Flashe on March 24, 2012, 02:13:21 AM
Ok thanks Blackosx for the quick reply.

In the list from "video info" i don't have résolution 1600*900.Impossible select this.

I have add in theme.plist

        <key>screen_width</key>
   <string>1600</string>
   <key>screen_height</key>
   <string>900</string>
and   
        <key>boot_width</key>
   <string>1600</string>
   <key>boot_height</key>
   <string>900</string>

But don't work too with this change,i don't not that change do for work correctly the screen résolution graphics chaméléon.


Thanks for the help.
Title: Re: Creating Themes Guide - Updating for v2.1 rev1738
Post by: Enzo on March 24, 2012, 02:15:47 AM
The "video info" only lists supported VESA resolutions by your card. If the res you want is not there, then you cannot use that res in the Chameleon screen.
Title: Re: Creating Themes Guide - Updating for v2.1 rev1738
Post by: Flashe on March 24, 2012, 05:34:35 PM
The "video info" only lists supported VESA resolutions by your card. If the res you want is not there, then you cannot use that res in the Chameleon screen.

Ok but how for we have card with 1600*900 because those wich of cards with of résolution example above of 2560*1600.

Sorry for my english.
Title: Re: Creating Themes Guide - Updating for v2.1 rev1738
Post by: Enzo on March 24, 2012, 06:56:52 PM
It is different Flashe,
During your computer's POST process, and during the Chameleon boot screen, your graphics card only displays at VESA (driver-less) standard resolutions that are predetermined in it's firmware. This is different from what a OS can use, as it has the ability to use appropriate drivers.
Title: Re: Creating Themes Guide - Updated for v2.1 rev1994
Post by: tomasewsky on June 25, 2012, 11:31:47 AM
How it is necessary to switch it on or visible to the BOOTPROMPT on GUI?

Thanks!
(Sorry my bad english!)
Title: Re: Creating Themes Guide - Updated for v2.1 rev1994
Post by: Enzo on June 25, 2012, 05:16:26 PM
How it is necessary to switch it on or visible to the BOOTPROMPT on GUI?

Thanks!
(Sorry my bad english!)

I believe it only appears when the user has pressed a letter on the keyboard. If that's what you're asking.
Title: Re: Creating Themes Guide - Updated for v2.1 rev1994
Post by: tomasewsky on June 25, 2012, 07:39:40 PM
How it is necessary to switch it on or visible to the BOOTPROMPT on GUI?

Thanks!
(Sorry my bad english!)

I believe it only appears when the user has pressed a letter on the keyboard. If that's what you're asking.

YEES! Thank You Enzo!

BootPrompt works fine on GUI menu!!!  ;)
Title: Re: Creating Themes Guide - Updated for v2.1 rev1994
Post by: Quandril on May 12, 2015, 07:20:49 AM
Thanks a lot for your awesome guide. Can't wait till i got time to start making my Marvel theme.

Great work,
Regards Q.
 8)