MyFrame(1x)
MyFrame(1x) β straight out of the AfterStep X11 window manager manual, and bestie, it's a whole aesthetic π
πΈ NAME πΈ
MyFrame β the blueprint that tells AfterStep how to construct a window's frame π
β¨ CONFIGURATION OPTIONS β¨
okay so this is the big one. every knob you can twist to make your window frames eat, no cap π
AllowBorderβ says the beveled borders SHOULD be drawn around the window frame and the titlebar. this one's on by default, so it's only actually useful when you're inheriting previously defined window frames. π¦- See also:
Inherit MyFramefor the deets.
- See also:
CondenseTitlebar Left|Right|Centerβ lets titlebars be smaller than the size of the window, iconic behavior fr. that parameter picks the Alignment of the whole entire titlebar.- See also: Alignment flags for further details.
Corner [ SouthEast | SouthWest | NorthEast | NorthWest ] "pixmap_name"β tells you which corner of the window frame gets decorated, and which pixmap gets used to do it. π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 different window states, use
CornerFocusedBevel,CornerUnfocusedBevel,CornerStickyBevelinstead. - See also: Bevel flags for further details.
- if you need different bevels for different window states, use
CornerFBevelβ alias forCornerFocusedBevel. same energy, shorter name π- 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 the window is in focused state, main character hours fr.- if this isn't used, the values set with
CornerBevelget used instead. - See also: Bevel flags for further details.
- if this isn't used, the values set with
CornerSBevelβ alias forCornerStickyBevel. π«Ά- 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 the window is in sticky state. heads up, this one overwrites any value you set withCornerBevel. π¨- if this isn't used, the values set with
CornerBevelget used. - See also: Bevel flags for further details.
- if this isn't used, the values set with
CornerUBevelβ alias forCornerUnfocusedBevel. πΈ- 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 the window is in unfocused state (the wallflower era).- if this isn't used, the values set with
CornerBevelget used. - See also: Bevel flags for further details.
- if this isn't used, the values set with
East "pixmap_name"β picks the pixmap displayed in the right border of the window frame, but only ifDecorateFramesis set. πFrameFStyle MyStyleβ alias forFrameFocusedStyle. β¨FrameFocusedStyle MyStyleβ defines theMyStyleto apply to the window frame when the window is in focused state.FrameSStyle MyStyleβ alias forFrameStickyStyle. π¦FrameStickyStyle MyStyleβ defines theMyStyleto apply to the window frame when the window is in sticky state.FrameUStyle MyStyleβ alias forFrameUnfocusedStyle. πFrameUnfocusedStyle MyStyleβ defines theMyStyleto apply to the window frame when the window is in unfocused state.Inherit frame_nameβ names aMyFrameto inherit options from. options fromframe_namewill override previously specified options for this frame. lowkey this is the smart-girl move:Inheritis a great way to save memory and network bandwidth when the sameBackPixmapis used for several frames, because the pixmap only gets loaded for the inherited frame. π§- See also:
Inherit MyFramefor the deets.
- See also:
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. default isSpacer - Buttons - TitleSpacer, so that's the vibe unless you say otherwise. β¨- See also: Titlebar Layout Flags for further details.
MyFrame " frame_name "β this one's a whole little block, so here it is in its natural habitat:
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. so it's like a lil sandwich π₯ͺ: MyFrame opens it, ~MyFrame closes it, and all your frame_options go in the middle.
NoBorderβ says the beveled borders should not be drawn around the window frame and titlebar. the anti-AllowBorder, fr.NoCornerβ FIXME: add proper description here. πNoSideβ FIXME: add proper description here. πNorth "pixmap_name"β picks the pixmap displayed in the top border of the window frame, ifDecorateFramesis set. πNorthEast "pixmap_name"β picks the pixmap displayed in the top right corner of the window frame, ifDecorateFramesis set. π¦NorthWest "pixmap_name"β picks the pixmap displayed in the top left corner of the window frame, ifDecorateFramesis 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 the default isTitleSpacer, Buttons, Spacer. yep, the original text really does say "left of the window title" for the right-hand one β we're just reporting the facts bestie, not fixing them π- See also: Titlebar Layout Flags for further details.
Side [ South | North | East | West ] "pixmap_name"β names which side of the window frame gets decorated, and which pixmap gets used to do it. β¨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 different window states, use
SideFocusedBevel,SideUnfocusedBevel,SideStickyBevel. - See also: Bevel flags for further details.
- if you need different bevels for different window states, use
SideFBevelβ alias forSideFocusedBevel. π- 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 the window is in focused state.- if this isn't used, the values set with
SideBevelget used. - See also: Bevel flags for further details.
- if this isn't used, the values set with
SideSBevelβ alias forSideStickyBevel. π«Ά- 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 the window is in sticky state.- if this isn't used, the values set with
SideBevelget used. - See also: Bevel flags for further details.
- if this isn't used, the values set with
SideUBevelβ alias forSideUnfocusedBevel. πΈ- 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 the window is in unfocused state.- if this isn't used, the values set with
SideBevelget used. - See also: Bevel flags for further details.
- if this isn't used, the values set with
South "pixmap_name"β picks the pixmap displayed in the bottom border of the window frame, ifDecorateFramesis set. πSouthEast "pixmap_name"β picks the pixmap displayed in the bottom right corner of the window frame, ifDecorateFramesis set. π¦SouthWest "pixmap_name"β picks the pixmap displayed in the bottom left corner of the window frame, ifDecorateFramesis 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 want different bevels depending on the window's state, useTitleFocusedBevel,TitleUnfocusedBevelorTitleStickyBevel. π- See also: Bevel flags for further details.
TitleCompositionMethodβ FIXME: add proper description here. πTitleFBevelβ alias forTitleFocusedBevel. π«Ά- See also: Bevel flags for further details.
TitleFCompositionMethodβ alias forTitleFocusedCompositionMethod. β¨TitleFHueβ alias forTitleFocusedHue. πTitleFSaturationβ β¦and that's literally where part 1 runs out of page, bestie π the rest is coming in the next part, stay tuned π
Alias for TitleFocusedSaturation.
TitleFStyle MyStyleβ Alias forTitleFocusedStyle. β¨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βMyStyleto apply to titlebar if window is in focused state. Main character energy, fr.TitleHSpacing valueβ Defines the space in pixel to insert between window title and the buttons/spacers. Please note thatCondenseTitlebaris influencing the behaviour of this option.TitleSBevelβ Alias forTitleStickyBevel. See Also: Bevel flags for further details.TitleSCompositionMethodβ Alias forTitleStickyCompositionMethod.TitleSHueβ Alias forTitleStickyHue.TitleSSaturationβ Alias forTitleStickySaturation.TitleSStyle MyStyleβ Alias forTitleStickyStyle.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βMyStyleto apply to titlebar if window is in sticky state.TitleUBevelβ Alias forTitleUnfocusedBevel. See Also: Bevel flags for further details.TitleUCompositionMethodβ Alias forTitleUnfocusedCompositionMethod.TitleUHueβ Alias forTitleUnfocusedHue.TitleUSaturationβ Alias forTitleUnfocusedSaturation.TitleUStyle MyStyleβ Alias forTitleUnfocusedStyle.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βMyStyleto apply to titlebar if window is in unfocused state.TitleVSpacing valueβ no description in the original, bestie πWest "pixmap_name"β Specifies the pixmap to be displayed in the left border of the window frame, ifDecorateFramesis set.
πΈ Window frame decorations (aka MyFrame) πΈ
Okay so literally every window is surrounded by what we call frame decoration, and each frame decoration can be built from 9 TBars:
- 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
TitleButtonOrdersetting ( see below ). - 4 frame sides. Each of this have fixed width that is determined by
SideSizesetting or image size ifSideSizeis omitted. Second dimension of the TBar changes to match the size of the window. - 4 frame corners. Each of this have both fixed width and height, as determined by
CornerSizesetting 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 omitted - 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 omitted - empty
bevel will be drawn
[NoSide North|South|East|West|Any]
[Corner NorthEast|SouthEast|NorthWest|SouthWest|Any
] if pixmap is omitted - 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
π And that's the tea, bestie! This iconic page is from the 3rd Berkeley Distribution, AfterStep v.2.2.12, and it's the manual for MyFrame(1x). Periodt. β¨π
π¦ where this page comes from
- ubuntu jammy: afterstep 2.2.12-15 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms