MyAES skinning can be simple or complex, now available in seperate skin types: new (Eric Reboux), original (Zorro), advanced Zorro (zPro). The new zPro windfram allow true BeOS style window frame and multiple sizers positions, as well as shadows, transparencey (deformed window shapes), and opacity (like other modern desktops).
(ERS windfram - by Eric Reboux)
(Zorro windfram - by Zorro)
zPro windfram:
The zPro windfram is a superset of the windfram by Zorro. Which means this windfram can use those original skins and configs.
This windfram adds the ability to use Targa images (.TGA) as well as the original Jpeg (.JPG) image format. This means transparencey, opacity and translucencey is now a possibility, along with window shadows, and visually non-square window frames themes, simply by adding use_tga=1 to the config. The superset adds a right border image, a top border image, and a bottom left corner image. It adds some aditional settings that could be considered to be missing from the standard config. But it also adds quite a few new tweaks as well, like font (and shadow font) X & Y offsets, multiple scroll button positions and scrollbar positions. All texture images can now be non-square in shape, having width and height settings. Simply add zorro_pro=1 to a standard config, add the missing images, and you will see a change, you are then free to add, remove or change settings to get the windfram to display and funtion how you like.
The extra skin images can also be used in a special way with modal dialogs by adding use_modal=1. Modal (mow-dull) dialogs are movable windows, often info or alert dialogs, with only a close button and no resize, and therefore no scroll bars. This setting allows the title bar and widgets to be repositioned, not just in the normal top edge position.
The following lists the files require for a full theme. There are 32 images that make up a window theme for a Zorro windfram theme (not including the menu or desk images) plus 12 new images for a complete zPro windfram theme, making 44 images per skin theme. They made up of two lots of 22 images. *_1.(jpg|tga) for currently active window and *_2.(jpg|tga) for unfocused
windows:
(zorro)
closer_1.(jpg|tga) - close
dn_arw_1.(jpg|tga) - scroll down
full_1.(jpg|tga) - fuller (max)
hbar_1.(jpg|tga) - bottom edge without scrollbars
hscrll_1.(jpg|tga) - bottom edge with scrollbar background
hslide_1.(jpg|tga) - bottom edge with slider
info_1.(jpg|tga) - info area (status)
lf_arw_1.(jpg|tga) - scroll left
rt_arw_1.(jpg|tga) - scroll right
sizer_1.(jpg|tga) - sizer
small_1.(jpg|tga) - iconize
title_1.(jpg|tga) - title bar
up_arw_1.(jpg|tga) - scroll up
vbar_1.(jpg|tga) - left and right edge without scrollbars
vscrll_1.(jpg|tga) - right edge with scrollbar background
vslide_1.(jpg|tga) - right edge with slider
(zpro)
rbar_1.(jpg|tga) - right edge without scrollbars
tbar_1.(jpg|tga) - top edge without scrollbars
c_bl.(jpg|tga) - bottom left corner without scrollbars
c_br.(jpg|tga) - bottom right corner without scrollbars
c_tl.(jpg|tga) - top left corner without scrollbars
c_tr.(jpg|tga) - top right corner without scrollbars
desk.jpg - destop background
menu.jpg - menu bar background
dwidgets.inf - windfram library info file
dwidgets.ldg - windfram as LDG library
skin.cnf - the actual config file
That makes a total of 49 files (minimum) for a complete theme. For an explanation of the Zorro windfram config file, have a look here. If you grab the Milk theme by Zorro, and my EcoGreen theme, you can compare configs to see how
things are done. When designing skins and testing them with Zorro's windfram, if there is no title image, or scroll images, (ie any image that gets sliced and diced), the theme will fail to load.
Also note that if there is no defualt folder in the skins directory, but there are others, you will be forced to select a theme at boot time. If there is only one directory in the skin folder, even if it is not called defualt, it will be used. desk.jpg in a skin folder is optional, the default desktop replacement will supply color and pattern. Desktop replacement must use color:white and pattern:solid for desk.jpg to be seen. desk.jpg is tiled, with no resize done (squash or stretch).
Folder names in the skin directory should be 8 characters max. dwidgets.inf contain the text present in the windfram chooser list. Lastly, if there are no skin folders, or the LDG library (windfram) fails to load, the internal windfram will be used, as of v0.93, a GEM like one.
Color Values:
The config allows certain colors to be defined, however the coloring is different
for the menu (see here). For title and info text, *_color1 is the first color drawn,
*_color2 is then drawn on top (the default offset is down 1px, left 1px). The color numbers match the current palette, so if you change any of the first 16 colors in the palette, those described below will no longer be correct. The default values are as follows:
0 - white
1 - black
2 - red
3 - green
4 - blue
5 - teal (cyan)
6 - yellow
7 - magneta
8 - light grey
9 - dark grey
10 - dark red
11 - dark green
12 - dark blue
13 - dark teal
14 - dark yellow
15 - purple (dark magenta)
16 - black (near black)
17 - dark blue (navy blue)
18 - dark blue (near dark blue)
19+ see common-palette (right)
Widget Placement:
Along with the title text, both the window widgets, and scrollbar buttons have multiple placement styles. These are different from the standard Zorro windfram settings, in that they allow multiple position definitons in a single setting. A value of 1 currently has no meaning, but may have a special definition in the future, however it is use to set the title to center. This is meant to allow easy recognition of a single number at a glance.
title (title_x_pos=n):
0 - no title
1 - center
2 - left on left side
4 - right on left side
8 - left on right side
16 - right on right side
close (closer_pos=n):
0 - no close button
1 - (special)
2 - left on left side
4 - right on left side
8 - left on right side
16 - right on right side
fuller/max (fuller_pos=n):
0 - no max button
1 - (special)
2 - left on left side
4 - right on left side
8 - left on right side
16 - right on right side
iconize (smaller_pos=n):
0 - no iconize button
1 - (special)
2 - left on left side
4 - right on left side
8 - left on right side
16 - right on right side
scroll up (up_arrow_pos=n):
0 - no scroll up arrow
1 - (special)
2 - top end on top
4 - top end on bottom
8 - bottom end on top
16 - bottom end on bottom
scroll down (down_arrow_pos=n):
0 - no scroll down arrow
1 - (special)
2 - top end on top
4 - top end on bottom
8 - bottom end on top
16 - bottom end on bottom
scroll left (left_arrow_pos=n):
0 - no scroll left arrow
1 - (special)
2 - left on left side
4 - right on left side
8 - left on right side
16 - right on right side
scroll right (right_arrow_pos=n):
0 - no scroll right arrow
1 - (special)
2 - left on left side
4 - right on left side
8 - left on right side
16 - right on right side
corner resizer (corner_resize_pos=n):
0 - no corner resize handles
1 - (special)
2 - top left
4 - top right
8 - bottom left
16 - bottom right
The values are additive or culmanative. This means a set of scroll arrows at the top and bottom of the scroll bar, in logical order (up arrow then down arrow) would have settings of: scroll up is 2+8 (up_arrow_pos=10), scroll down is 4+16 (up_arrow_pos=20). Another example, a single down arrow at the bottom, with up arrows at each end would have settings of: scroll up is 2+16 (up_arrow_pos=18), scroll down is 8 (up_arrow_pos=8).
Similarly, a set of scroll arrows at the left and right of the scroll bar, in inverse logical order (right arrow then left arrow) would have settings of: scroll left is 4+16 (left_arrow_pos=20), scroll right is 2+8 (right_arrow_pos=10). Another example, a single left arrow on the left end, with a single right arrow on the right end, would have settings of: scroll left is 2 (left_arrow_pos=2), scroll down is 16 (right_arrow_pos=16).
Tips & Tricks with Zorro's windfram Themes:
There is no longer any need to create hacked images in order to get better visual positioning. Because of the ability to use transparencey button positions can be set with alignment, and offsets. Resize handles can be set by combining two alignment options, top left would be 2, bottom right would be 16, the results and then be added together to allow more than one positon. Resize handles on all four corners would equal 30.