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

CONFIGURATION OPTIONS

AllowBorder

Denotes that beveled borders should be drawn around the window frame and titlebar. This is on by default, so this option is only useful in combination with inheriting previously defined window frames.

See Also: Inherit MyFrame for details.

CondenseTitlebar Left|Right|Center

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

See Also: Alignment flags for further details.

Corner [ SouthEast | SouthWest | NorthEast | NorthWest ] "pixmap_name"

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

CornerAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

CornerBevel Bottom|Extra|NoInline|NoOutline|none|Left|Right|Top

Sets the default bevel of a window s frame corners.

If you need different bevels for the different window states, use CornerFocusedBevel, CornerUnfocusedBevel, CornerStickyBevel

See Also: Bevel flags for further details.

CornerFBevel

Alias for CornerFocusedBevel.

See Also: Bevel flags for further details.

CornerFocusedBevel Bottom|Extra|NoInline|NoOutline|none|Left|Right|Top

Sets the bevel of the window s frame corners while window is in focused state.

If this is not used, values set with CornerBevel will be used.

See Also: Bevel flags for further details.

CornerSBevel

Alias for CornerStickyBevel.

See Also: Bevel flags for further details.

CornerSize NorthEast|SouthEast|NorthWest|SouthWest|Any WIDTHxHEIGHT

FIXME: add proper description here.

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

Sets the bevel of the window s frame corners while window is in sticky state. This overwrites any value set with CornerBevel.

If this is not used, values set with CornerBevel will be used.

See Also: Bevel flags for further details.

CornerUBevel

Alias for CornerUnfocusedBevel.

See Also: Bevel flags for further details.

CornerUnfocusedBevel Bottom|Extra|NoInline|NoOutline|none|Left|Right|Top

Sets the bevel of the window s frame corners while window is in unfocused state.

If this is not used, values set with CornerBevel will be used.

See Also: Bevel flags for further details.

East "pixmap_name"

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

FrameFStyle MyStyle

Alias for FrameFocusedStyle.

FrameFocusedStyle MyStyle

Defines the MyStyle to apply to the window frame if window is in focused state.

FrameSStyle MyStyle

Alias for FrameStickyStyle.

FrameStickyStyle MyStyle

Defines the MyStyle to apply to the window frame if window is in sticky state.

FrameUStyle MyStyle

Alias for FrameUnfocusedStyle.

FrameUnfocusedStyle MyStyle

Defines the MyStyle to apply to the window frame if window is in unfocused state.

Inherit frame_name

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.

InheritDefaults

FIXME: add proper description here.

LeftBtnAlign

Defines the alignment of the left buttons in the titlebar.

See Also: Look Alignment flags for further details.

LeftBtnBackAlign

Defines the alignment of the background of the left buttons.

See Also: Alignment flags for further details.

LeftBtnBackground

Defines the background to be used for the left buttons.

LeftSpacerBackAlign

Defines the alignment of the background of the (by default) leftmost spacer of the titlebar.

See Also: Alignment flags for further details.

LeftSpacerBackground

Defines the background to be used for the (by default) leftmost spacer of the titlebar.

See Also: Titlebar Layout for further details.

LeftTitleSpacerBackAlign

Defines the alignment of the background of the (by default) inner spacer, left of the window title.

See Also: Alignment flags for further details.

LeftTitleSpacerBackground

Defines the background of the (by default) inner spacer, left of the window title.

LeftTitlebarLayout [Buttons] | [Spacer] | [TitleSpacer]

Defines the order of the elements in the titlebar left of the window title, where default is Spacer - Buttons - TitleSpacer.

See Also: Titlebar Layout Flags for further details.

MyFrame " frame_name "

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.

NoBorder

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

NoCorner

FIXME: add proper description here.

NoSide

FIXME: add proper description here.

North "pixmap_name"

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

NorthEast "pixmap_name"

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

NorthWest "pixmap_name"

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

RightBtnAlign

Defines the alignment of the right buttons in the titlebar.

See Also: Look Alignment flags for further details.

RightBtnBackAlign

Defines the alignment of the background of the right buttons.

See Also: Alignment flags for further details.

RightBtnBackground

Defines the background to be used for the right buttons.

RightSpacerBackAlign

Defines the alignment of the background of the (by default) rightmost spacer of the titlebar.

See Also: Alignment flags for further details.

RightSpacerBackground

Defines the background to be used for the (by default) rightmost spacer of the titlebar.

See Also: Titlebar Layout for further details.

RightTitleSpacerBackAlign

Defines the alignment of the background of the (by default) inner spacer, right of the window title.

See Also: Alignment flags for further details.

RightTitleSpacerBackground

Defines the background of the (by default) inner spacer, right of the window title.

RightTitlebarLayout [Buttons] | [Spacer] | [TitleSpacer]

Defines the order of the elements in the titlebar left of the window title, where default is TitleSpacer, Buttons, Spacer.

See Also: Titlebar Layout Flags for further details.

Side [ South | North | East | West ] "pixmap_name"

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

SideAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

SideBevel Bottom|Extra|NoInline|NoOutline|none|Left|Right|Top

Sets the default bevel of a window s frame sides.

If you need different bevels for the different window states, use SideFocusedBevel, SideUnfocusedBevel, SideStickyBevel

See Also: Bevel flags for further details.

SideFBevel

Alias for SideFocusedBevel.

See Also: Bevel flags for further details.

SideFocusedBevel Bottom|Extra|NoInline|NoOutline|none|Left|Right|Top

Sets the bevel of the window s frame sides while window is in focused state.

If this is not used, values set with SideBevel will be used.

See Also: Bevel flags for further details.

SideSBevel

Alias for SideStickyBevel.

See Also: Bevel flags for further details.

SideSize

FIXME: add proper description here.

SideSlicing

FIXME: add proper description here.

SideStickyBevel Bottom|Extra|NoInline|NoOutline|none|Left|Right|Top

Sets the bevel of the window s frame sides while window is in sticky state.

If this is not used, values set with SideBevel will be used.

See Also: Bevel flags for further details.

SideUBevel

Alias for SideUnfocusedBevel.

See Also: Bevel flags for further details.

SideUnfocusedBevel Bottom|Extra|NoInline|NoOutline|none|Left|Right|Top

Sets the bevel of the window s frame sides while window is in unfocused state.

If this is not used, values set with SideBevel will be used.

See Also: Bevel flags for further details.

South "pixmap_name"

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

SouthEast "pixmap_name"

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

SouthWest "pixmap_name"

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

TitleAlign

FIXME: add proper description here.

See Also: Alignment flags for further details.

TitleBackground

Defines the background to be used for the window title.

TitleBackgroundAlign

Defines the alignment of the background of the window title.

See Also: Alignment flags for further details.

TitleBevel

Determines the bevel to be drawn around the title bar. If you wish to have different bevels, depending on the window s state, use TitleFocusedBevel, TitleUnfocusedBevel or TitleStickyBevel.

See Also: Bevel flags for further details.

TitleCompositionMethod

FIXME: add proper description here.

TitleFBevel

Alias for TitleFocusedBevel.

See Also: Bevel flags for further details.

TitleFCompositionMethod

Alias for TitleFocusedCompositionMethod.

TitleFHue

Alias for TitleFocusedHue.

TitleFSaturation

Alias for TitleFocusedSaturation.

TitleFStyle MyStyle

Alias for TitleFocusedStyle.

TitleFocusedBevel

Determines the bevel to be drawn around the title bar if window is in focused state.

See Also: Bevel flags for further details.

TitleFocusedCompositionMethod

FIXME: add proper description here.

TitleFocusedHue

FIXME: add proper description here.

TitleFocusedSaturation

FIXME: add proper description here.

TitleFocusedStyle MyStyle

MyStyle to apply to titlebar if window is in focused state.

TitleHSpacing value

Defines the space in pixel to insert between window title and the buttons/spacers. Please note that CondenseTitlebar is influencing the behaviour of this option.

TitleSBevel

Alias for TitleStickyBevel.

See Also: Bevel flags for further details.

TitleSCompositionMethod

Alias for TitleStickyCompositionMethod.

TitleSHue

Alias for TitleStickyHue.

TitleSSaturation

Alias for TitleStickySaturation.

TitleSStyle MyStyle

Alias for TitleStickyStyle.

TitleStickyBevel

Determines the bevel to be drawn around the title bar if window is in unfocused state.

See Also: Bevel flags for further details.

TitleStickyCompositionMethod

FIXME: add proper description here.

TitleStickyHue

FIXME: add proper description here.

TitleStickySaturation

FIXME: add proper description here.

TitleStickyStyle MyStyle

MyStyle to apply to titlebar if window is in sticky state.

TitleUBevel

Alias for TitleUnfocusedBevel.

See Also: Bevel flags for further details.

TitleUCompositionMethod

Alias for TitleUnfocusedCompositionMethod.

TitleUHue

Alias for TitleUnfocusedHue.

TitleUSaturation

Alias for TitleUnfocusedSaturation.

TitleUStyle MyStyle

Alias for TitleUnfocusedStyle.

TitleUnfocusedBevel

Determines the bevel to be drawn around the title bar if window is in unfocused state.

See Also: Bevel flags for further details.

TitleUnfocusedCompositionMethod

FIXME: add proper description here.

TitleUnfocusedHue

FIXME: add proper description here.

TitleUnfocusedSaturation

FIXME: add proper description here.

TitleUnfocusedStyle MyStyle

MyStyle to apply to titlebar if window is in unfocused state.

TitleVSpacing value

West "pixmap_name"

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

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