.\" t .\" @(#)MyStyle.1 01/13/2023 .TH MyStyle 1x "AfterStep v.2.2.12" "Jan 13 2023" "AfterStep X11 window manager" .UC .SH NAME \fBMyStyle\fP\ \- defines combination of color, font, style, background to be used together .SH CONFIGURATION OPTIONS .IP "BackColor \fIcolor\fP " Specifies the background color associated with this style\&. \fIcolor\fP is a color definition in one of the color formats supported by AfterStep\&. BackColor is also used to calculate bevel colors used to draw a border around a widget\&. .IP "BackGradient \fItype\fP \fIfrom\fP \fIto\fP " Specifies that a gradient should be used as a background instead of a solid color\&. The gradient colors start at \fIfrom\fP and end at \fIto\fP \&. \fIfrom\fP and \fIto\fP are color definition in one of the supported color formats \&. If gradient includes at least one transparent color ( alpha value set to be below FF ), gradient will be alpha\-blended over the root background image\&. \fItype\fP can be 1, 2, 3, 4, or 5: .fi 1: Wharf\-style diagonal gradient 2: Horizontal from top to bottom 3: Horizontal from top/bottom to center 4: Vertical from left to right 5: Vertical from left/right to center 6: Top\-Left to Bottom Right diagonal ( same as 1 ) 7: Bottom\-Left to Top\-Right diagonal 8: Vertical Top to Bottom ( same as 2 ) 9: Horizontal Left to Right ( same as 4 ) .fi .IP "BackMultiGradient \fItype\fP \fIoffset1\fP \fIcolor1\fP \&.\&.\&. \fIoffsetN\fP \fIcolorN\fP " Specifies that a gradient should be used as a background instead of a solid color\&. The gradient colors start at \fIcolor1\fP and end at \fIcolorN\fP \&. Each color has an \fIoffset\fP associated with it\&. The \fIoffset\fP is a number between 0\&.0 and 1\&.0, and specifies where in the gradient the colors are to be placed\&. The colors are in one of the color formats supported by AfterStep\&. At least two colors must be given\&. If gradient includes at least one transparent color ( alpha value set to be below FF ), gradient will be alpha\-blended over the root background image\&. The offsets are non\-decreasing numbers between 0\&.0 and 1\&.0\&. If the first offset is not 0\&.0, it will be set to 0\&.0\&. If the last offset is not 1\&.0, it will be set to 1\&.0\&. \fItype\fP may be any of the following: .fi 6: Top\-Left to Bottom Right diagonal 7: Bottom\-Left to Top\-Right diagonal 8: Vertical Top to Bottom 9: Horizontal Left to Right .fi .IP "BackPixmap \fItype\fP \fIpixmap_name|color_name\fP " Specifies that a pixmap should be used as a background instead of a solid color\&. This option has two forms, depending on the value of \fItype\fP : If \fItype\fP is 125, 126, 127, 128, 130\-144, 150\-164 \- the second parameter, \fIpixmap_name\fP must be the name of an image file which can be found in \fIPixmapPath\fP \&. If \fItype\fP is 129 or 149 the root pixmap (desktop background) will be used, and the optional second parameter must be a color with which the root pixmap will be shaded/tinted\&. Depending on the value of \fItype\fP AfterStep will render pixmap in many different ways : .IP "125" Image is SCALED to the size of the widget, and its opacity is used to set the shape of the widget/window decoration, achieving non\-rectangular window effect\&. .IP "126" Image is TILED to the size of the widget, and its opacity is used to set the shape of the widget/window decoration, achieving non\-rectangular window effect\&. .IP "127" Image is SCALED to the size of the widget\&. .IP "128" Image is Tiled to the size of the image\&. .IP "129" Underlying desktop background is tinted/shaded with the color specified with the second parameter\&. .IP "130" Underlying desktop background is combined with tiled image, using "allanon" method \- taking average of pixel values\&. .IP "131" Underlying desktop background is alpha\-blended with tiled image\&. .IP "132" Underlying desktop background is tinted using pixel values of the tiled image, as a tint values on per\-pixel basis\&. .IP "133" Each pixel of underlying desktop background has value of tiled image's pixel added to it\&. .IP "134" Each pixel of underlying desktop background has value of tiled image's pixel subtracted from it\&. .IP "135" Result consists of pixels representing absolute value of difference between underlying desktop background and tiled image\&. .IP "136" Underlying desktop background is darkened using luminocity of the tiled image's pixels\&. .IP "137" Underlying desktop background is lightened using luminocity of the tiled image's pixels\&. .IP "138" Underlying desktop background is "screened" by the tiled image\&. .IP "139" Underlying desktop background is "overlayed" by the tiled image\&. .IP "140" Underlying desktop background's hue is substituted with the hue of the tiled image\&. .IP "141" Underlying desktop background's saturation is substituted with the saturation of the tiled image\&. .IP "142" Underlying desktop background's value (in HSV colorspace) is substituted with the value of the tiled image\&. .IP "143" Underlying desktop background is "colorized" by the tiled image\&. .IP "144" Underlying desktop background is "dissipated" by the tiled image\&. .IP "149" Underlying desktop background is tinted/shaded with the color specified with the second parameter\&. It differs from 129 so that desktop background could be both darkened and brightened\&. If tint color channel is greater the 7F (127 decimal) \- then respective channel of background will be brightened\&. .IP "150 \- 164" Same as 130\-144 but specified image is scaled to the size of the widget\&. .IP "BlurSize" FIXME: add proper description here\&. .IP "DrawTextBackground [ \fI0|1\fP ]" Specifies that the area behind text drawn in this style should be cleared to \fIBackColor\fP \&. The argument is optional\&. If the argument is 0, this option is turned off; if it is omitted or is nonzero, the option is turned on\&. .IP "Font \fIfont\fP " Specifies the font associated with this style\&. \fIfont\fP copuld beeither a standard X11 font definition, or a filename of the TrueType font that could be found in FontPath\&. To specify the size of the TrueType font \- use format like that : FontName\&.ttf\-Size\&. Example : .fi Font DefaultSans\&.ttf\-14 .fi .IP "ForeColor \fIcolor\fP " Specifies the text color associated with this style\&. \fIcolor\fP is color definition in one of the color formats supported by AfterStep\&. .IP "Inherit "" \fIstyle_name\fP """ Specifies a \fIMyStyle\fP to inherit options from\&. Options from \fIstyle_name\fP will override previously specified options for this style\&. \fIInherit\fP is a good way to save memory and network bandwidth if the same \fIBackPixmap\fP is used for several styles, as the pixmap will only be loaded for the inherited style\&. .IP "MyStyle "" \fIstyle_name\fP """ .IP " \fIstyle_option\fP " .IP "~MyStyle" Specifies the beginning of a look style definition\&. The style can be referred to later by \fIstyle_name\fP \&. \fI~MyStyle\fP ends a look style definition\&. .IP "Overlay" FIXME: add proper description here\&. .IP "SliceXEnd \fIval\fP " When used with scalable BackPixmap it will make image sliced instead scaled\&. Which means that its borders will remain unchanged, but center part will get tiled to fill empty space\&. SliceXEnd is the left edge of the right border\&. .IP "SliceXStart \fIval\fP " When used with scalable BackPixmap it will make image sliced instead scaled\&. Which means that its borders will remain unchanged, but center part will get tiled to fill empty space\&. SliceXStart is the width of the left border\&. .IP "SliceYEnd \fIval\fP " When used with scalable BackPixmap it will make image sliced instead scaled\&. Which means that its borders will remain unchanged, but center part will get tiled to fill empty space\&. SliceYEnd is the top edge of the bottom border\&. .IP "SliceYStart \fIval\fP " When used with scalable BackPixmap it will make image sliced instead scaled\&. Which means that its borders will remain unchanged, but center part will get tiled to fill empty space\&. SliceYStart is the height of the top border\&. .IP "TextStyle \fIstyle\fP " Specifies the text \fIstyle\fP associated with this style\&. \fIstyle\fP can be 0, 1, or 2: .fi 0: normal text 1: embossed 3D text 2: sunken 3D text 3: text has shade above the text 4: text has shade below the text 5: thick embossed 3D text 6: thick sunken 3D text 7: text is outlined with contrasting color on upper edge of a glyph\&. 8: text is outlined with contrasting color on bottom edge of a glyph\&. 9: text is outlined with contrasting color all around a glyph\&. .fi .SH DESCRIPTION MyStyle 's are the means to define how widgets (menu items, titlebars, wharf buttons, Pager desktops, etc\&. ) should be rendered\&. It defines widget's background (solid color, gradient, textured image and/or semitransparent texture), shape \- making widget non\-rectangular, text font, text 3D style, widget's border bevel colors\&. All the GUI elements are rendered using consistent approach in every module and every part of the AfterStep\&. Interface is build from so called TBars\&. TBar is rectangular area that may be focused(hilited) or unfocused and pressed or unpressed\&. TBAR STRUCTURE Each TBar has the following structure : \- the background of the TBar, which is defined by MyStyle and state of the bar \- there are two MyStyles assigned to each TBar \- one for focused and one for unfocused state\&. \- tiles of the TBar\&. Tiles are smaller features that gets arranged inside the bar according to its size, alignment, position and order\&. Tiles could be static icons ( cannot be pressed ); blocks of buttons \- each having two shapes \- pressed and normal; Text labels; Empty space tiles\&. There could be up to 256 tiles, each residing on one of the cells in 8x8 grid\&. Several tiles could reside in single cell, in which case they get superimposed on top of each other\&. \- bevel of the TBar\&. When TBar is rendered all of its tiles are superimposed on top of its background, and resulting image will have a 3D bevel drawn on it, using colors from same MyStyle as used for background\&. Bevel could be switched off partially or entirely\&. Respective configuration options has been added where appropriate\&. When TBar is pressed \- its bevel is inverted\&. TBAR RENDERING When TBar is rendered all of its elements gets superimposed on top of each other using one of 13 blending methods supported by libAfterImage, with default being simple alphablending\&. See MyFrame configuration for more details\&. This is refrred to as "Composition Method"\&.