MyFrame(7x)
β¨ NAME β¨
okay bestie so MyFrame is the whole vibe recipe that tells AfterStep (your X11 window manager, hey queen) exactly how to build a window's frame π Fr fr it's MyFrame(7x) β the manpage, the legend, the blueprint for every titlebar and border you're about to obsess over.
π CONFIGURATION OPTIONS π
No cap, this is the full menu of frame ingredients. Every single one is listed, so let's get into it πΈ
AllowBorderβ says yes please to drawing beveled borders around the window frame and the titlebar. This one is on by default, so lowkey it only does anything when you're inheriting previously defined window frames.- See Also:
Inherit MyFramefor details π
- See Also:
CondenseTitlebar Left|Right|Centerβ lets titlebars be smaller than the actual size of the window. The parameter is what sets the Alignment of the whole titlebar, slay.- See Also: Alignment flags for further details β¨
Corner [ SouthEast | SouthWest | NorthEast | NorthWest ] "pixmap_name"β picks which corner of the window frame gets decorated, and which pixmap gets to live there πCornerAlignβ FIXME: add proper description here. (not me leaving a FIXME in the manpage, iconic behavior tbh)- See Also: Alignment flags for further details β¨
CornerBevel Bottom|Extra|NoInline|NoOutline|none|Left|Right|Topβ sets the default bevel for 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
- If you need different bevels for the different window states, use
CornerFBevelβ Alias forCornerFocusedBevel.- 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 the focused state π- If this is not used, values set with
CornerBevelwill be used. - See Also: Bevel flags for further details
- If this is not used, 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 the sticky state. This overwrites any value set withCornerBevel. Periodt.- If this is not used, values set with
CornerBevelwill be used. - See Also: Bevel flags for further details
- If this is not used, 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 the unfocused state π€- If this is not used, values set with
CornerBevelwill be used. - See Also: Bevel flags for further details
- If this is not used, values set with
East "pixmap_name"β specifies the pixmap to be displayed in the right border of the window frame, ifDecorateFramesis set. It's giving right-side moment β¨FrameFStyle MyStyleβ Alias forFrameFocusedStyle.FrameFocusedStyle MyStyleβ defines theMyStyleto apply to the window frame if the window is in the focused state πFrameSStyle MyStyleβ Alias forFrameStickyStyle.FrameStickyStyle MyStyleβ defines theMyStyleto apply to the window frame if the window is in the sticky state πFrameUStyle MyStyleβ Alias forFrameUnfocusedStyle.FrameUnfocusedStyle MyStyleβ defines theMyStyleto apply to the window frame if the window is in the unfocused state π€Inherit frame_nameβ specifies a MyFrame to inherit options from. Options fromframe_namewill override previously specified options for this frame. Inherit is a good way to save memory and network bandwidth if the sameBackPixmapis used for several frames, because the pixmap will only be loaded for the inherited frame. Efficiency queen π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 the default isSpacer - Buttons - TitleSpacer.- See Also: Titlebar Layout Flags for further details
MyFrame " frame_name "β the start of a frame definition, babes. The frame can be referred to later byframe_name. And~MyFrameends a frame definition. Look at the shape of it:
MyFrame " frame_name "
frame_option
~MyFrame
NoBorderβ says absolutely not to drawing beveled borders around the window frame and titlebar. The opposite ofAllowBorder, the villain origin story fr.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, ifDecorateFramesis set.NorthEast "pixmap_name"β specifies the pixmap to be displayed in the top right corner of the window frame, ifDecorateFramesis set.NorthWest "pixmap_name"β specifies the pixmap to be 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.- 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
- If you need different bevels for the 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 the focused state π- If this is not used, values set with
SideBevelwill be used. - See Also: Bevel flags for further details
- If this is not used, 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 the sticky state π- If this is not used, values set with
SideBevelwill be used. - See Also: Bevel flags for further details
- If this is not used, 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 the unfocused state π€- If this is not used, values set with
SideBevelwill be used. - See Also: Bevel flags for further details
- If this is not used, values set with
South "pixmap_name"β specifies the pixmap to be displayed in the bottom border of the window frame, ifDecorateFramesis set.SouthEast "pixmap_name"β specifies the pixmap to be displayed in the bottom right corner of the window frame, ifDecorateFramesis set.SouthWest "pixmap_name"β specifies the pixmap to be 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 wish to have 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βTitleFSaturationβ Alias forTitleFocusedSaturation. π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. π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β π bestie, the manpage literally left this one blank. no description provided. π«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 wrapped in what we call a frame decoration. And bestie, each frame decoration can be built from 9 TBars:
- The Main Titlebar β icons on the left, label in the middle, icons on the right. That label can also have a special underlying image, aka the Title Background. The order of these elements is controlled by the
TitleButtonOrdersetting (peep below π). - 4 frame sides. Each one has a fixed width set by the
SideSizesetting β or by the image size ifSideSizeis omitted. The second dimension of the TBar changes to match the size of the window. π - 4 frame corners. Each one has both fixed width and height, determined by the
CornerSizesetting or by the image size. π―
So each of those elements gets rendered by generating a background using its respective MyStyle, then overlaying images/buttons and text on top of it. The default overlaying uses the composition method alpha-blend β for the main Titlebar that can be changed. Then a Bevel is drawn on top of the image as specified in the respective setting. π
MyFrame lets you use different MyStyles for the titlebar and the frame decorations. If any of those are omitted, the default setting from FWindowStyle/UWindowStyle/SWindowStyle will be used. β¨
Important: If you use semi-transparent images for frame sides, they get overlayed on top of theMyStylegenerated background. So if you want them overlayed over the root background instead, you should useMyStylewithBackPixmapset to129or149. π¨
Also note: unless you use MYStyle with BackPixmap 126 and 125, the frame decorations will not be shaped. Similarly, if you want a 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 a 1x1 completely transparent image (supplied as desktop/icons/common/empty.xpm). π«₯
To identify a side or corner you can use abbreviations like N, NW, SW, etc. π§
All the CompositionMethod settings must have one of the BackPixmap types from MyStyles (i.e., 130-143). π’
The Align setting may have different meaning and capabilities for different items. When applied to text, it just aligns the text to the sides mentioned. When applied to an image β like a title background or frame side pixmap β it also specifies if the image should be tiled, scaled, or left at the same size. Make sure you use HTiled,VTiled or HScaled,VScaled for frame sides β otherwise the images on them will not be resized to match the window size (this is also a feature :). π
To center an item, specify Align to include both sides. For example:
Align Left,Right
will center the item horizontally. π―
Note that the TitleBackground option lets you specify an image to be used under the titlebar label in addition to the MyStyle. This was done for better shaped titlebars. You can have a MyStyle that is a completely transparent shape, while TitleBackground is some non-transparent image β that gives better visibility for the titlebar text. π
Here's the vibey syntax layout, bestie: π
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
π that's the tea, bestie. this page came from the 3rd Berkeley Distribution, AfterStep v.2.2.12, for MyFrame(7x). stay slaying β¨
π¦ where this page comes from
- ubuntu resolute: afterstep-data 2.2.12-19 Β· GPL-2.0-or-later
- ubuntu stonking: afterstep-data 2.2.12-19 Β· 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