6. Themeing other Matchbox applications

Apart from just the window manager, the various included matchbox utilities are also theme-able.

6.1. The panel and Menus

'mbdock' and the menu's used by apps lile mbmenu can also be themed. Rather than use the theme.xml file, they use a theme.desktop file which exists in the same directory as the theme.xml file. The files format consists of one key/value pair per line for each visual attribute to be changed. Here is the theme.desktop file for the blondie theme.

[Desktop Entry]
Type=MBTheme
Name=Blondie
Comment=Blondie theme 
PanelBgColor=#e2dec6
PanelFgColor=black
MenuBgColor=#e2dec6
MenuFgColor=black
MenuBdColor=#9d9a8a
MenuHlColor=black

The following keys are valid;

PanelBgColor

Sets the background color used by matchbox-panel. Can be either a color name or specified in the form #RRGGBB.

PanelBgTrans

Sets the transparency of matchbox-panel. Ranges from 0-255, 0 being totally transparent. This option is UNSUPPORTED, use at your own risk.

PanelBgPixmap

Sets a titled background image for matchbox-panel. Set to the full path of a supported image file.

TitlebarDockBgColor, TitlebarDockBgPixmap

Like the above but used by panels reparented in the titlebar.

PanelMsgBgCol, PanelMsgBgUrgentCol, PanelMsgFgCol

Sets colors for panel 'message bubbles'.

PanelMsgFont

Sets the font for panel 'message bubbles'.

PanelFgColor

Sets the foreground color to be used by panel applets such as minitime.

MenuBgColor

Sets the background color of any matchbox menu's.

MenuFgColor

Sets the foreground color ( eg text ) of any matchbox menu's.

MenuBdColor

Sets the border color of any matchbox menu's.

MenuHLColor

Sets highlighted text color of any selected menu items.

MenuFont

Sets the font used by any menus. Like font definitions in theme.xml files, it can be GTK2 or Xft style font definition.

MenuTransparency

This option will make the menu transparent. This option is UNSUPPORTED. Use at your own risk.

DesktopBgSpec

Set the desktop background. For infomation on format, run 'mbdesktop --help'.

6.2. Icons

Icons used by mbmenu, mbdesktop and most of the included matchbox panel/dock apps are also theme-able. They follow a basic implementation of the icon theme spec found at freedesktop.org.

The basic mechanism works by 'overriding' the applications default icon. For example before checking $PREFIX/share/pixmaps for a specified icon file, matchbox applications will check the following;

$HOME/.icons/
$HOME/.icons/[theme_name]/[size]x[size]/[type]/
$PREFIX/share/icons/[theme_name]/[size]x[size]/[type]/

Where [size] is usually one of 48, 36, 32, 24 or 16 and [type] can be anything ( usually 'apps', 'emblems' etc ).

So as long as you know the image filename an application wants ( hint: look at its .desktop file ), a theme can change its icons appearance.

Here is a list of icon names used by the various parts of matchbox. If matchbox is compiled without png support assume an xpm extension.
Icons used by menus and matchbox-desktop;
===

mbdesktop.png
mbfolder.png
mbfolderprev.png
mbnoapp.png
mbup.png
mbdown.png
mbadd.png
mbremove.png
mbexit.png
mblock.png

Icons used by the various panel apps;
===

miniapm-power.png
miniapm.png

mbmenu.png
mbmenu-active.png  # Optional

mbterm.png

minisys.png

minitime.png

minivol-high.png
minivol-low.png
minivol-mid.png
minivol-zero.png

miniwave-icon.png
broken-0.png
no-link-0.png
signal-1-40.png
signal-41-60.png
signal-61-80.png
signal-81-100.png