man MyFrame () - defines how AfterStep should construct window's frame

NAME

MyFrame - defines how AfterStep should construct window's frame

CONFIGURATION OPTIONS

MyFrame
frame_option
~MyFrame

Specifies the beginning of a frame definition. The frame can be referred to later by frame_name . ~MyFrame ends a frame definition.

North

Specifies the pixmap to be displayed in the top border of the window frame, if DecorateFrames is set.

South

Specifies the pixmap to be displayed in the bottom border of the window frame, if DecorateFrames is set.

East

Specifies the pixmap to be displayed in the right border of the window frame, if DecorateFrames is set.

West

Specifies the pixmap to be displayed in the left border of the window frame, if DecorateFrames is set.

NorthWest

Specifies the pixmap to be displayed in the top left corner of the window frame, if DecorateFrames is set.

NorthEast

Specifies the pixmap to be displayed in the top right corner of the window frame, if DecorateFrames is set.

SouthWest

Specifies the pixmap to be displayed in the bottom left corner of the window frame, if DecorateFrames is set.

SouthEast

Specifies the pixmap to be displayed in the bottom right corner of the window frame, if DecorateFrames is set.

Side [ South | North | East | West ]

Specifies the side of the window frame to be decorated and the pixmap to be used.

NoSide

FIXME: add proper description here.

Corner [ SouthEast | SouthWest | NorthEast | NorthWest ]

Specifies the corner of the window frame to be decorated and the pixmap to be used.

NoCorner

FIXME: add proper description here.

TitleUnfocusedStyle

FIXME: add proper description here.

TitleUStyle

FIXME: add proper description here.

TitleFocusedStyle

FIXME: add proper description here.

TitleFStyle

FIXME: add proper description here.

TitleStickyStyle

FIXME: add proper description here.

TitleSStyle

FIXME: add proper description here.

FrameUnfocusedStyle

FIXME: add proper description here.

FrameUStyle

FIXME: add proper description here.

FrameFocusedStyle

FIXME: add proper description here.

FrameFStyle

FIXME: add proper description here.

FrameStickyStyle

FIXME: add proper description here.

FrameSStyle

FIXME: add proper description here.

SideSize

FIXME: add proper description here.

SideAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

SideBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

SideFBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

SideUBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

SideSBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

SideFocusedBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

SideUnfocusedBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

SideStickyBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

CornerSize NorthEast|SouthEast|NorthWest|SouthWest|Any WIDTHxHEIGHT

FIXME: add proper description here.

CornerAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

CornerBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

CornerFBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

CornerUBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

CornerSBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

CornerFocusedBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

CornerUnfocusedBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

CornerStickyBevel NorthEast|SouthEast|NorthWest|SouthWest|Any None|[Left,Top,Right,Bottom,Extra,NoOutline]

FIXME: add proper description here.

See Also: Bevel flags for further details.

TitleBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

TitleFBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

TitleUBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

TitleSBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

TitleFocusedBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

TitleUnfocusedBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

TitleStickyBevel

FIXME: add proper description here.

See Also: Bevel flags for further details.

TitleAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

TitleCompositionMethod

FIXME: add proper description here.

TitleFCompositionMethod

FIXME: add proper description here.

TitleUCompositionMethod

FIXME: add proper description here.

TitleSCompositionMethod

FIXME: add proper description here.

TitleFocusedCompositionMethod

FIXME: add proper description here.

TitleUnfocusedCompositionMethod

FIXME: add proper description here.

TitleStickyCompositionMethod

FIXME: add proper description here.

TitleFHue

FIXME: add proper description here.

TitleUHue

FIXME: add proper description here.

TitleSHue

FIXME: add proper description here.

TitleFocusedHue

FIXME: add proper description here.

TitleUnfocusedHue

FIXME: add proper description here.

TitleStickyHue

FIXME: add proper description here.

TitleFSaturation

FIXME: add proper description here.

TitleUSaturation

FIXME: add proper description here.

TitleSSaturation

FIXME: add proper description here.

TitleFocusedSaturation

FIXME: add proper description here.

TitleUnfocusedSaturation

FIXME: add proper description here.

TitleStickySaturation

FIXME: add proper description here.

TitleHSpacing

FIXME: add proper description here.

TitleVSpacing

FIXME: add proper description here.

InheritDefaults

FIXME: add proper description here.

Inherit

Specifies a MyFrame to inherit options from. Options from frame_name will override previously specified options for this frame. Inherit is a good way to save memory and network bandwidth if the same BackPixmap is used for several frames, as the pixmap will only be loaded for the inherited frame.

LeftBtnBackground

FIXME: add proper description here.

LeftSpacerBackground

FIXME: add proper description here.

LeftTitleSpacerBackground

FIXME: add proper description here.

TitleBackground

FIXME: add proper description here.

RightTitleSpacerBackground

FIXME: add proper description here.

RightSpacerBackground

FIXME: add proper description here.

RightBtnBackground

FIXME: add proper description here.

LeftBtnBackAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

LeftSpacerBackAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

LeftTitleSpacerBackAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

TitleBackgroundAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

RightTitleSpacerBackAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

RightSpacerBackAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

RightBtnBackAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

CondenseTitlebar Left|Right|Center

Allows titlebars to be smaller then the size of the window. The paramater defines the Alignment of the whole titlebar.

See Also: Alignment flags for further details.

LeftTitlebarLayout

FIXME: add proper description here.

See Also: Titlebar Layout Flags for further details.

RightTitlebarLayout

FIXME: add proper description here.

See Also: Titlebar Layout Flags for further details.

NoBorder

Denotes that beveled borders should not be drawn around the window frame and titlebar.

AllowBorder

FIXME: add proper description here.

LeftBtnAlign

FIXME: add proper description here.

See Also: Look Alignment flags for further details.

RightBtnAlign

FIXME: add proper description here.

See Also: Look Alignment flags for further details.

Window frame decorations (aka MyFrame)

Each window is surrounded by so-called frame decoration. each frame decoration could be built from 9 TBars:

1) Main Titlebar with icons on left, label in the middle and icons on right. Label may also have special underlying image - so called Title Background. Ordering of this elements is set by TitleButtonOrder setting ( see below ).

2) 4 frame sides. Each of this have fixed width that is determined by SideSize setting or image size if SideSize is ommited. Second dimension of the TBar changes to match the size of the window.

3) 4 frame corners. Each of this have both fixed width and height, as determined by CornerSize setting or image size.

Each of above elements is rendered by generating background using respective MyStyle, and then overlaying images/buttons and text on top of it. Default overlaying is done using composition method alpha-blend. In case of main Titlebar that could be changed. Bevel is then drawn on top of the image as specified in respective setting.

MyFrame allows different MyStyles to be used for titlebar and frame decorations. If any of those are ommited - default setting from FWindowStyle/UWindowStyle/SWindowStyle will be used.

Important: If you use semi-transparent images for frame sides - they will be overlayed on top of MyStyle generated background, so if you want it to be overlayed over root background - you should use MyStyle with BackPixmap set to 129 or 149.

Also note that unless you use MYStyle with BackPixmap 126 and 125 - frame decorations will not be shaped. Likewise if you want frame part to have only the shape of the image, you specified, with no background at all - use MyStyle with BackPixmap set like so :

BackPixmap 126 empty.xpm

Where empty.xpm is 1x1 completely transparent image (supplied as desktop/icons/common/empty.xpm ).

To identify side/corner it is possible to use abbreviations, such as: N, NW, SW, etc.

All the CompositionMethod settings must have one of the BackPixmap types from MyStyles ( ie 130-143 )

Align setting may have different meaning/capabilities for different items. When applied to text - it simply aligns text to sides mentioned. When applied to image - such as title background or frame side pixmap - it also specifies if image should be tiled, scaled or left same size. Make sure that you use HTiled,VTiled or HScaled,VScaled for frame sides - otherwise images on they will not be resized to match window size (this is also a feature :).

To center item specify Align to include both sides. For example :

Align Left,Right

will center item horizontally.

Note that TitleBackground option allows you to specify an image to be used under titlebar label in addition to the MyStyle. This was done for better shaped titlebars. You may have MyStyle to be completely transparent shape, while TitleBackground some non-transparent image, and that will provide better visibility for the titlebar text.

MyFrame "name"
        Inherit     "name"]
    #traditional form :
        [North       ]
	[East        ]
        [South       ]
	[West        ]
        [NorthEast   ]
        [NorthWest   ]
        [SouthEast   ]
	[SouthWest   ]
    #alternative form :
	[Side        North|South|East|West|Any []] 
	if pixmap is ommited - empty bevel will be drawn
        [NoSide      North|South|East|West|Any]
        [Corner      NorthEast|SouthEast|NorthWest|SouthWest|Any ] 
	if pixmap is ommited - empty bevel will be drawn
        [NoCorner    NorthEast|SouthEast|NorthWest|SouthWest|Any]
    #new settings :
        [TitleUnfocusedStyle   ]
        [TitleFocusedStyle     ]
        [TitleStickyStyle      ]
        [FrameUnfocusedStyle   ]
        [FrameFocusedStyle     ]
        [FrameStickyStyle      ]
        [TitleBackground       ] 
	    gets overlayed over background and under the text
        [LeftBtnBackground     ]
	    gets overlayed over background and under the left block of buttons
        [LeftSpacerBackground  ]
	    gets overlayed over background between left block of buttons and text label
        [RightSpacerBackground ] 
	    gets overlayed over background between right block of buttons and text label
        [RightBtnBackground    ] 
	    gets overlayed over background and under the right block of buttons

#additional attributes : [SideSize North|South|East|West|Any