aboutsummaryrefslogtreecommitdiff
path: root/doc/asciidoc/fluxbox-style.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/asciidoc/fluxbox-style.txt')
-rw-r--r--doc/asciidoc/fluxbox-style.txt118
1 files changed, 61 insertions, 57 deletions
diff --git a/doc/asciidoc/fluxbox-style.txt b/doc/asciidoc/fluxbox-style.txt
index c41937e..7c35e15 100644
--- a/doc/asciidoc/fluxbox-style.txt
+++ b/doc/asciidoc/fluxbox-style.txt
@@ -30,10 +30,10 @@ the 'System Styles' menu under your main fluxbox(1) menu.
30 30
31fluxbox(1) uses its own graphics class to render its images on the fly. By 31fluxbox(1) uses its own graphics class to render its images on the fly. By
32using styles you can determine, at a great level of configurability, what your 32using styles you can determine, at a great level of configurability, what your
33desktop will look like. Since fluxbox(1) was derived from blackbox many often 33desktop will look like. Since fluxbox(1) was derived from blackbox(1) many often
34wonder if old themes will work on the latest releases of fluxbox(1). Well they 34wonder if old themes will work on the latest releases of fluxbox(1). Well they
35basically do, but you will have to tune them since the fluxbox(1) code has 35basically do, but you will have to tune them since the fluxbox(1) code has
36changed quite a bit since the initial grab. 36changed quite a bit since the initial fork.
37 37
38STRUCTURE 38STRUCTURE
39--------- 39---------
@@ -89,10 +89,10 @@ Output of a packaged style should look like the following:
89 .fluxbox/styles/YourStyle/pixmaps/stick.xpm 89 .fluxbox/styles/YourStyle/pixmaps/stick.xpm
90 ... 90 ...
91 91
92Of course, all of these are just preferences, fluxbox(1) allows for the 92All of this is just best practice, fluxbox(1) allows youto "bend" the rules
93customization of many things, including how you handle your styles. Just 93fairly far. Keep in mind that following the advice suggested here is strongly
94remember, however, that if you plan to distribute your style you may find 94suggested if you wish to distribute your style to others. Themes that break
95some community bickering if you don't follow practices. :) 95policy are usually subject to critique from members of the community.
96 96
97CREATING YOUR STYLE 97CREATING YOUR STYLE
98------------------- 98-------------------
@@ -101,36 +101,37 @@ the toolbar, menus, slit and window decorations. Remember that you can
101customize the slit with its own directives, otherwise the slit will take the 101customize the slit with its own directives, otherwise the slit will take the
102appearance of the toolbar. 102appearance of the toolbar.
103 103
104Here are some quick examples to illustrate basic syntax: 104Here are some quick examples to illustrate the style's basic syntax:
105 105
106 toolbar.clock.color: green 106 toolbar.clock.color: green
107 107
108This sets the color resource of the toolbar clock to 'green'. Another example: 108This next example sets the color resource of the toolbar clock to 'green':
109 109
110 menu*color: rgb:3/4/5 110 menu*color: rgb:3/4/5
111 111
112This sets the color resource of the menu and all of its 'children' to 112The following sets the color resource of the menu and all of its 'children' to
113`rgb:3/4/5'. (For a description of color names, see X(1).) So this one also 113`rgb:3/4/5' -- that is to say this directive applies to both 'menu.title.color'
114applies to 'menu.title.color' and 'menu.frame.color'. And with 114and 'menu.frame.color'. For a complete description of color names, see the X(1)
115manpage's section on this topic.
115 116
116 *font: -b&h-lucida-medium-r-normal-*-*-140-* 117 *font: -b&h-lucida-medium-r-normal-*-*-140-*
117 118
118you set the font resource for all keys to this font name all at once (For 119Now, if we examine this line further, you will notice that it sets the font
119information about the fonts installed on your system, you can use a 120resource for all keys to this font name all at once (For information about the
120program like xfontsel(1), gtkfontsel, or xlsfonts(1).) 121fonts installed on your system, you can use a program like xfontsel(1),
122gtkfontsel, or xlsfonts(1).) you will also notice the wildcard (*) before font.
123In a Fluxbox style you can set a value with a wildcard. This means that every
124font in the style will be what is specified. You can do this with any
125component/value.
121 126
122In the last example you will notice the wildcard (*) before font. In a Fluxbox 127For example, if you wanted all of the text to be one color you would do:
123style you can set a value with a wildcard. The example means that every font
124in the style will be what is specified. You can do this with any
125component/value. For example if you wanted all of the text to be one color you
126would do:
127 128
128 *textColor: rgb:3/4/5 129 *textColor: rgb:3/4/5
129 130
130This means that you can setup a very simple style with very few properties. 131This means that you can setup a very simple style with very few properties.
131See the EXAMPLES below for an example of this in practice. fluxbox(1) also allows 132See the EXAMPLES below for an example of this in practice. fluxbox(1) also
132you to override wildcards in your style. Lets take our example above and add 133allows you to override wildcards in your style. Lets take our example above and
133an override for the toolbar.clock.textColor component: 134add an override for the toolbar.clock.textColor component:
134 135
135 *textColor: rgb:3/4/5 136 *textColor: rgb:3/4/5
136 toolbar.clock.textColor: rgb:255/0/0 137 toolbar.clock.textColor: rgb:255/0/0
@@ -138,10 +139,11 @@ an override for the toolbar.clock.textColor component:
138With that all of the text will be 'rgb:3/4/5' except the toolbar clock text 139With that all of the text will be 'rgb:3/4/5' except the toolbar clock text
139which will be 'rgb:255/0/0'. 140which will be 'rgb:255/0/0'.
140 141
141Now what makes fluxbox(1) so spectacular is its ability to render textures on the 142Now what makes fluxbox(1) so spectacular is its ability to render textures on
142fly. A texture is a fillpattern that you see on some styles. Texture 143the fly. A texture is a fillpattern that you see on some styles. Texture
143descriptions are specified directly to the key that they should apply to, 144descriptions are specified directly to the key that they should apply to.
144e.g.: 145
146For example:
145 147
146 toolbar.clock: Raised Gradient Diagonal Bevel1 148 toolbar.clock: Raised Gradient Diagonal Bevel1
147 toolbar.clock.color: rgb:8/6/4 149 toolbar.clock.color: rgb:8/6/4
@@ -187,34 +189,35 @@ All gradiented textures are composed of two color values: the 'color' and
187'colorTo' resources. When *Interlaced* is used in *Solid* mode, the 'colorTo' 189'colorTo' resources. When *Interlaced* is used in *Solid* mode, the 'colorTo'
188resource is used to find the interlacing color. 190resource is used to find the interlacing color.
189 191
190A WORD ABOUT FONTS 192FONT EFFECTS
191------------------ 193------------
192We should comment about fonts before we move on to the complete component 194In addition to specifying the typeface and weight (such as bold) via the
193list. fluxbox(1) supports different options for text. These options currently 195font rendering engine (such as Xft) by passing extra options to the font
194include bold, halo and shadow. To set these do this: fontname-size:options for 196attribute, fluxbox(1) supports some additional font styles (such as 'halo' and
195any of the font components in the style file. For example: 197'shadow') which may be passed into the 'effect' attribute.
196
197 menu.title.font: sans-8:bold,shadow
198 198
199The latest versions of fluxbox(1) (> 0.9.8) also support different values for 199For example, the following will set a menu's title string to 8 point sans font,
200these text options. The possibilities are as follows: 200bolded, with a green drop shadow:
201 201
202 -------- 202 menu.title.font: sans-8:bold
203 Shadow color=<colorname> offsetx=<integer> offsety=<integer> Halo color=<colorname> 203 menu.title.effect: shadow
204 -------- 204 menu.title.shadow.color: green
205 menu.title.shadow.x: 3
206 menu.title.shadow.y: 3
205 207
206For the case of completeness, here are some real world examples: 208Or, to claify this point further, the following example demonstrates how to set
209this same text to an 8 point sans font, bolded with a green halo rather then a
210shaddow:
207 211
208 *.font: Verdana-10:bold,shadow:offsetx=2;offsety=4;color=green 212 menu.title.font: sans-8:bold
209 *.font: Verdana-10:halo:color=blue 213 menu.title.effect: halo
214 menu.title.halo.color: green
210 215
211Of course this could all be placed on one line. Also note that for the offset
212options, negative integers are allowed.
213 216
214FONT PROBLEMS 217FONT PROBLEMS
215~~~~~~~~~~~~~ 218~~~~~~~~~~~~~
216If you have problems installing fonts or getting them to work, you should read 219If you have problems installing fonts or getting them to work, you should read
217the docs page at xfree.org. Here is a link to one of these: 220the docs page at xfree.org, found at:
218http://xfree.org/4.3.0/fonts2.html#3[] 221http://xfree.org/4.3.0/fonts2.html#3[]
219 222
220FULL COMPONENT LIST 223FULL COMPONENT LIST
@@ -229,8 +232,8 @@ used. This allows the user the ease of changing different components.
229 232
230WINDOW OPTIONS 233WINDOW OPTIONS
231-------------- 234--------------
232Many, many things you can do with window design in fluxbox(1), below are your 235Much like cats, there are many ways to skin fluxbox(1). To help you figure out
233options. Have fun. 236how to scratch your itch, a comprehensive list of options follows. Have fun!
234 237
235 ----------------------------------------- 238 -----------------------------------------
236 window.bevelWidth: <integer> 239 window.bevelWidth: <integer>
@@ -357,13 +360,13 @@ change the user's background, then use `background: none'. The options
357`centered', `aspect', `tiled', and `fullscreen' require the `background.pixmap' 360`centered', `aspect', `tiled', and `fullscreen' require the `background.pixmap'
358resource to contain a valid file name. The `random' option requires 361resource to contain a valid file name. The `random' option requires
359`background.pixmap' to contain a valid directory name. For these options, 362`background.pixmap' to contain a valid directory name. For these options,
360*fluxbox(1)* will call *fbsetbg(1)* to set the background. The options `gradient', 363*fluxbox(1)* will call *fbsetbg(1)* to set the background. The options
361`solid', and `mod' all require `background.color' to be set. `gradient' and 364`gradient', `solid', and `mod' all require `background.color' to be set.
362`mod' both require `background.colorTo'. `mod' requires `background.modX' and 365`gradient' and `mod' both require `background.colorTo'. `mod' requires
363`background.modY' to be set as well. These options will be passed to 366`background.modX' and `background.modY' to be set as well. These options will be
364*fbsetroot(1)* to set the background. The special option `unset' is for use in 367passed to *fbsetroot(1)* to set the background. The special option `unset' is
365user overlay files only. It specifies that fbsetbg should never be run (by 368for use in user overlay files only. It specifies that fbsetbg should never be
366default, even when `none' is set in the overlay, fluxbox will try to run 369run (by default, even when `none' is set in the overlay, fluxbox will try to run
367``fbsetbg -z'' to restore the last wallpaper). 370``fbsetbg -z'' to restore the last wallpaper).
368 371
369 background: centered|aspect|tiled|fullscreen|random|solid|gradient <texture>|mod|none|unset 372 background: centered|aspect|tiled|fullscreen|random|solid|gradient <texture>|mod|none|unset
@@ -489,9 +492,10 @@ You can find a lot of styles here: http://tenr.de/
489This manpage was composed from various resources including the official 492This manpage was composed from various resources including the official
490documentation, fluxbox(1) man page and numerous other resources by Curt 493documentation, fluxbox(1) man page and numerous other resources by Curt
491"Asenchi" Micol. If you notice any errors or problems with this page, please 494"Asenchi" Micol. If you notice any errors or problems with this page, please
492contact him here: <asenchi at asenchi.com> and using the great contributions of 495contact him at: <asenchi at asenchi.com> and using the great contributions of
493<grubert at users.sourceforge.net>. Numerous other languages could be available 496<grubert at users.sourceforge.net>. Minor edits to fix grammar were made by
494if someone jumps in. 497Paul Tagliamonte <paultag at fluxbox.org>. Numerous other languages could be
498available if someone jumps in.
495 499
496SEE ALSO 500SEE ALSO
497-------- 501--------