How to Skin Opera 7


Every 'visual' aspect of the user interface (UI) in Opera7 can be customised. This is known as 'skinning'. To skin Opera 7, you design a series of graphics for the various parts of the UI, and then tell Opera how to use them. Skins are stored in ZIP files (where lots of different files can be stored in a compressed 'holder' file).

We will deal here with describing the standard Opera 7 skin (standard.zip), which is stored in the Opera 7 program directory in the /skin sub folder (e.g. c:\program files\opera7\skin\standard.zip). For any other skin, just substitute the name of your skin in the following discussion. If you automatically download a skin and have a multi-user setup, your skin may be stored in your user directory.

Skins can use a variety of graphics formats. However, the most flexible (and the default) is the PNG format. PNG format files are usually smaller than GIF images, and can use two types of transparency, a binary transparency like GIF files (used when the PNG is 8-bit), and a full alpha-transparency (when PNG images are 24-bit). Full alpha transparency gives great control over how to combine the visual elements of a skin. You will need to use an image editing software that has full support for alpha-transparency (e.g. Photoshop).


Useful Tip: You normally need to unzip the ZIP file, then modify specific files, then re-zip it. This is quite tedious, therefore a much better solution is to use a file manager that has native support for ZIP files (much better than using Explorer anyway, irrespective of the zipping advantage). An example is Servant Salamander, which treats a ZIP file like it's a normal folder, you can edit files, copy and move them without having to worry about 'zipping' at all. It makes modifying skin files much quicker. Remember: You cannot make changes to a ZIP file while Opera is using it; simply select another skin, make the changes you want to your skin, then reselect it to see your changes.


The skin ZIP file has the following rough format (see skin.ini below for more detailed info on what bits affect which parts of the UI):

standard.zip

The skin.ini file contains the description of how Opera applies the contents of the folders to construct the UI. The folder names are all user-selectable, and some current skins (like breeze) will have different names, all that is required is that the names agree with what appears in skin.ini. But if you want to keep things simple, just use the standard names.

Skin.ini Revealed


The skin.ini file contains sections that describe particular UI elements. For example, the section that controls the 'tabs' in the page bar is prefixed with [Pagebar Button Skin]. Following the heading are a series of declarations that specify an element. Lets have a look at one (line numbers have been added purely for description):

1)  [Tab Button Skin]
2)  Type					= BoxTile
3)  Tile Center					= tab_button/center.png
4)  Tile Left					= tab_button/left.png
5)  Tile Top					= tab_button/top.png
6)  Tile Right					= tab_button/right.png
7)  Corner Topleft				= tab_button/topleft.png
8)  Corner Topright				= tab_button/topright.png
9)  Margin Top					= 2
10) Margin Right				= -10
11) Padding Left				= 5
12) Padding Top					= 5
13) Padding Right				= 15
14) Padding Bottom				= 2

The first line tells Opera that this section controls the look of the UI tabs (usually seen in dialogs). This declaration is also usually used as the tabs in the page bar because its declaration:

[Pagebar Button Skin]
Clone = Tab Button Skin

simply copies the Tab Buttons. OK line 2 of the [Tab Button Skin] section determines the type of skinned element, and can be either Boxtile (see below) or Box. Boxtiles have fixed corner images (lines 7 & 8), and the rest are tiled (lines 3-6). The position descriptions in the Boxtile are given by their locations (see the boxtile image below). In this case, because we never see the bottom of Tab Button, these parts are not specified. Finally, the Padding and Margins are specified for the element. The margin and padding relate to the object in the following manner:

margin and padding

The BoxTile


Most Opera 7 skinning uses the BoxTile to determine the appearance of objects. Imagine taking a box, and cutting it up:

the boxtile


That is the basis of the boxtile. The left/right/top/bottom & center parts tile automatically to the size of the element.

The Different Sections


As highlighted above, the skin.ini file is composed of different sections that control the various aspects of the skin applied to the program, but it is confusing to know which section is affecting what part of the UI. Here is a (incomplete) list:

[Mainbar Skin]
[Personalbar Skin]
[Navigationbar Skin]
[Pagebar Skin]
[Addressbar Skin]
[Statusbar Skin]

You can also add these to specify settings for certain toolbar positions: .left, .right, .top, .bottom. e.g:

[Personalbar Skin.bottom]
[Personalbar Skin.right]

Categories:

CategoryOpera
CategoryTutorial

Back Links:
Comments [Hide comments/form]

can you please tell me why I can download the skins, but all the toolbar buttons will not change colour, they are all in blue, I have on the insect on and woul love to have it in colour, I have got down 10 skins, all are in blue. thank you a mouse

proxy4.perth.westnet.com.au (2003-05-13 10:06:06)

The insect needs to fly to the view menu and change the colour scheme - to whatever will make the mouse happy!

NonTroppo (2003-05-15 01:13:22)

How do we add color schemes to the list? There are some instructions in the forum, but I don't have "menu.ini".

adsl-68-248-125-10.dsl.applwi.ameritech.net (2003-10-13 13:14:37)

See EditingINIFiles to find your menu.ini, then follow the instructions in Opera7Tips

NonTroppo (2003-10-13 19:41:12)

I have a skin that I really like (Breeze :) but would like to change the colour of the elements--buttons, scrollbars, menus, etc.--to something quite dark instead of light. How would I do that?

pool-141-158-3-2.phil.east.verizon.net (2004-02-23 21:38:54)

The background is easy to change - edit skin window images, but to change many items it is quite a task. If you have photoshop, you can set up some automatic actions and then automate the procedure. Painstshop pro apparantly has python scripting built-in so you could do something similar there. Otherwise it is tedious editing of each image...

NonTroppo (2004-03-07 22:13:54)

Someone screwed up this page before, fixed now.

YtseJam (2004-07-30 11:29:11)

Thanks YtseJam!!!

NonTroppo (2004-07-30 18:50:31)

I kinda cheat when creting my skin [not that they're any good ;-)] what i do is create my own icons and save then as a replacement for existing ones. For example, suppose i have created a icon for the "back" button, instead of saving it into a new folder what i do is save it as the replacement for the "back" button of a downloaded skin. this works very well and is really is to do. Also, no messing with .ini files, which i find anooying to be honest...

66.217.178.114 (2005-07-11 09:56:24)

MilG4E? qpsmzxrt cmiivdjb mqklqeqx

89.248.172.50 (2009-07-27 20:04:15)

lidherql lsndpsky rhvqiend

95.169.190.71 (2009-07-31 17:11:18)

tpqmhlbm ftohtmjt qyyxoffr

95.169.190.71 (2009-07-31 18:32:40)

zosblbzc xvpatbrz sesvovfn

95.169.190.71 (2009-07-31 19:52:28)

gumdxcqr vmvmrthd qeluuxwq

95.169.190.71 (2009-07-31 21:13:15)

btsdtkib hkewfawo uadbrbnr

95.169.190.71 (2009-07-31 22:34:27)

cwpkonev zjqoedfk apvchfym

89.248.172.50 (2009-08-09 06:42:19)

kozdffnm umomxgfr abdvfmvl

89.248.172.50 (2009-08-09 08:08:10)

xxierkvm avsjkknf dekgiyuk

89.248.172.50 (2009-08-09 09:33:17)

npzxclrm dsmzpyrp wjulcwub

89.248.172.50 (2009-08-09 10:56:26)

lfwpdmar kynowcps uqutbntm

89.248.172.50 (2009-08-09 12:20:05)

vpxrrypb ibgdzpaq sxgiidag

94.102.49.213 (2009-08-14 00:49:26)

ixwguqeh axeijcso olgjavjm

94.102.49.213 (2009-08-14 02:14:04)

djjosdpx plrapaqt iumqlvms

94.102.49.213 (2009-08-14 03:37:39)

whqtdigt qtmhgygx wjuhzizj

94.102.49.213 (2009-08-14 05:01:28)

bnggnemu rmwblpvm lhnicfsg

94.102.49.213 (2009-08-14 06:31:28)

jwbtknxp vhgcrweb nbxsbvig

94.102.49.213 (2009-08-14 07:56:17)

idnqkcfa vxkrgceo tbqevwwv

94.102.49.213 (2009-08-14 09:23:39)

biopjjsh gvijjdgm irawljnw

94.102.49.213 (2009-08-14 10:50:33)

viiogaez vnjqxtci ihdnbull

94.102.49.213 (2009-08-14 12:13:06)

gjzkumpo mcucttvc flijrbjp

94.102.49.213 (2009-08-14 13:36:08)

oamavjgu wrxfurxk tcnumxqh

91.121.84.111 (2009-08-17 21:44:08)

ctzcwtwu wwttdizq eddggjov

91.121.84.111 (2009-08-17 23:25:03)

rbevaozd mmfduvsy wxlcekrf

91.121.84.111 (2009-08-18 01:04:34)

zrrzvcka fmsuzpnf suzvnthk

91.121.84.111 (2009-08-18 02:46:52)

cnzmqjhu uvtrvtdj pgzoljkn

91.121.84.111 (2009-08-18 21:00:59)

jqhdyyfg bnfplrni psdgpxai

91.121.84.111 (2009-08-19 01:48:18)

ywehbfrh zhgkzgbn zuxuuvsl

91.121.84.111 (2009-08-20 17:10:40)

ntdnpukx kttikfel kbofylvm

91.121.84.111 (2009-08-20 23:09:16)

hlnjpqem lgdwugvv dnfqkzuw

91.121.84.111 (2009-08-21 05:07:58)

ytzlovta pdkzobtw hvfbuiym

91.121.84.111 (2009-08-21 15:30:45)

btautnzk tocqzzdd jcxjzvys

91.121.84.111 (2009-08-21 21:28:41)

wfnozhuk cdacpdrr mtuiwzya

91.121.84.111 (2009-08-22 10:05:17)

lhfkfpjr vvrbmynz sahkcism

91.121.84.111 (2009-08-22 11:48:59)

jyibcgkz hznxowau iyfesvgk

91.121.84.111 (2009-08-22 13:35:01)

xbxooohb wlmiilxd rqrjtjss

91.121.84.111 (2009-08-28 13:28:21)

xsdcgztw gttwzogb hfozzrmv

91.121.84.111 (2009-08-28 15:06:00)

trrkubot legmjbps eoctsdti

91.121.84.111 (2009-08-28 16:44:28)

rxzkjbjt jzvurpsv xlsagtok

91.121.84.111 (2009-08-28 18:24:03)

cygydrqi tjccoasv qdvdtxqw

91.121.84.111 (2009-08-28 20:05:32)

ajkkttjm rovsbych oqjtqbse

91.121.84.111 (2009-08-28 21:45:23)

fcrcwmlv tmsdhmdx xlwnukiu

91.121.84.111 (2009-08-28 23:22:37)

tlizyqnf xtvxxdob aurebwfh

91.121.84.111 (2009-08-29 00:59:31)

pztanjcw nbspsqyl pdvahpft

91.121.84.111 (2009-08-29 02:38:05)

hqksvqli nadhnpid nlpfejbv

91.121.84.111 (2009-08-29 04:16:41)

yk7vDj Not bad post, but a lot of extra !!...

192.162.19.21 (2012-02-12 09:32:39)

5Mtiye As usual, the webmaster posted correctly..!

192.162.19.21 (2012-02-12 09:35:24)

freelance writer

91.201.64.63 (2012-03-24 19:44:12)

Add a comment to this page (use wiki formatting if needed, no HTML/BBCode please). Only registered users can submit links, your comment will be deleted otherwise: