bbdock displays transparent PNG icons in the Blackbox/Openbox/Fluxbox slit
Clone or download
Latest commit 07fcb34 Feb 7, 2013
Type Name Latest commit message Commit time
Failed to load latest commit information.
src got rid of some warnings because of const char* to char* conversions Jul 23, 2012
AUTHORS first git commit Mar 29, 2011
COPYING first git commit Mar 29, 2011
ChangeLog version number updated Sep 21, 2011 first git commit Mar 29, 2011 first git commit Mar 29, 2011
NEWS first git commit Mar 29, 2011 Fixed some typos Feb 7, 2013
aclocal.m4 first git commit Mar 29, 2011 first git commit Mar 29, 2011
configure version number updated Sep 21, 2011 version number updated Sep 21, 2011
depcomp first git commit Mar 29, 2011
install-sh first git commit Mar 29, 2011
missing first git commit Mar 29, 2011


What is bbdock?

bbdock displays one or more PNG icons in the BlackBox/FluxBox slit from which you can launch the corresponding applications. It is pretty similar in function and appearance to bbbutton which you might want to try if you are reading this on a display with a color-depth below 16 bits.

How to install

Usual autotools install:

$ ./configure
$ make
$ su
$ make install

For more options try ./configure --help

You need X11 libraries & headers and libpng. If anything goes wrong, just drop me a line at


You may invoke bbdock either with your icons specified on command line or simply create a short configuration file (.bbdockrc) in your home directory.

The syntax for a command line argument or a line in the configuration file is equal:


IMAGEFILE   - should be path and filename of some PNG icon
COMMAND     - a script or binary to execute
WINDOWTITLE - is a semicolon-seperated list of case-insensitive
			  window titles of corresponding application windows.
			  Those strings may contain wildcard characters
			  (* and/or ?) to exclusively identify a window. By
			  providing this list you make the icon exclusive to
			  one instance of course. Clicking on already launched
			  icons will raise the corresponding window instead of
			  invoking a new instance.
IDLE        - idle time after triggering one icon in miliseconds,
              instead of using numbers you may also use the terms
			  "lame" (~ 10 s), "slow" (~ 5 s), "fast" (~ 500 ms) or
			  "fastest" (~ 250 ms)

For example, run it from command line this way:

$ bbdock "~/.icons/firefox.png:firefox:*Firefox"

Sample out of a ~/.bbdockrc:


To start by configuration file, just run bbdock. Type "bbdock -h" for a detailed view of options.


The images should be not much greater than 48x48 pixels and must be in PNG format. Use images with transparency to get the most out of it.

You need libpng to compile this software. The raise-window function is only available to window managers which implement the EWMH specification.


Currently there are only two known bugs:

If you're using BlackBox > 0.70 you need to patch it in order to make it work correctly. Just insert the following code after line 250 into blackbox-0.70.0/src/ and recompile BlackBox:

if ((texture.texture() & bt::Texture::Gradient) && frame.pixmap)
  XSetWindowBackgroundPixmap(display, frame.window, frame.pixmap);
else if ((texture.texture() & bt::Texture::Solid))
  XSetWindowBackground(display, frame.window,

FluxBox < 0.9 may fail to raise applications that are exclusive. Update to FluxBox 0.9 to fix this problem.