Blackbox uses configuration files called styles to control the look of its three main components: the toolbar, the menus and (in the future) the window decorations. These styles contain information about what colours, textures and fonts should be used for each element. Furthermore, third party plugins can read these style settings through the Blackbox API, making it possible to get the same look for all Blackbox user interface elements.
The default installation of Blackbox for Windows includes a few
styles, located in the "styles" subfolder of the Blackbox folder
(following the classic bb.themes.org naming scheme, used by most
downloadable styles out there).
We recommend that you study and/or edit these files to get a feeling of
how the Blackbox style mechanism works
(you can use the [style], [stylesdir] and [stylesmenu] commands in your menu file to be able to select between and change styles on the fly,
and the [editstyle] command for quick access to the current style file).
Style resources consist of a key and a value.
The key is constructed of several smaller keys (sometimes referred to as children), delimited by a period ('.').
Keys may also contain a star ('*') to serve as a wildcard, which means that one line of typed text will match several keys.
This is useful for styles that are based on one or two colours. Here are some quick examples:
Now, what makes Blackbox so spectacular is its ability to render textures on the fly. Texture descriptions are specified directly to the key that they should apply to, e.g.:
toolbar.clock: Raised Gradient Diagonal Bevel1
A texture description consists of up to five fields, which are as follows:
Flat / Raised / Sunken
Flat / Raised / Sunken
The option "ParentRelative" can be used instead of a texture description, which makes the component appear as a part of its parent, i.e. totally transparent.
All gradiented textures are composed of two colour values: the
"color" and "colorTo" resources.
The complete list of components and what kind of value they can contain
can be found below.
Any line in the style file that starts with an exclamation mark ('!')
is considered a comment and ignored by Blackbox.
Please note that not all of the settings in the list below (as
specified by the *nix version) are used by Blackbox for Windows at this
but eventually they will be... 8)
Remember, when you create your own style, you can easily set several keys with a single "wildcard" command...
...which will give you a nice set of defaults for several components. DISCLAIMER:
Wildcards are not fully implemented yet, so if you want to be on the
safe side please consider using the "normal" tags for each element.
! The buttons on the toolbar
! Color of the button arrows
! Buttons in pressed state
! Color of pressed button arrows
! The toolbar workspace label
! The toolbar window label
! The toolbar clock
! How the toolbar's text should be justified
! Font to be used for all toolbar components
! The menu titlebar
! The menu frame
! Bullets for submenu items
! The highlighted menu item
! A focused window
! An unfocused window
! Window label
window.label.unfocus: Texture or ParentRelative
! Handle bar
! Resize grips
! Window buttons
window.button.unfocus: Texture or ParentRealtive
! Frame around window
! Font and justification for window labels
! Miscellaneous resources
! A border can be drawn round all components
bevelWidth: A number of pixels > 0
! Width of the window frame (from Blackbox for *nix version 0.61 and later)
! This command is executed whenever this style is selected,
! Some of the (*nix) bbtools read these old Blackbox for *nix version 0.51 resources...
(Please note that some parts of the Blackbox for Windows documentation were originally written for the *nix version by Wilbert Berendsen. They were first modified for the Windows version by azathoth, then documentation by qwilk.)