Blackbox Features
- 1 Main Blackbox features
- 2 Other popular features support
1) Main Blackbox features
- Small code base and small installation
- The first stable Blackbox release (0.51.3.1) was built from only 14,406 lines of code (includes source, headers, comments and preprocessor statements). The latest version has around 40,000 lines. The complete (stripped) installation weighs about 800 KB, including I18N files and manual pages, and Blackbox itself consists of a single executable and (since version 0.70) a shared library designed to offer Blackbox functionality to various add-ons.
- Minimal resource usage and speed
- From the time the first line of code was written, Blackbox has evolved around one premise, minimalism. It's not meant to be Eye Candy, nor the most Featureful, nor the most Adorned for modelling the Widely acclaimed NeXT interface. It is just meant to be fast. Blackbox is constantly optimized towards this goal. Recent versions, for instance, allow you to disable the toolbar and completely erases the slit and toolbar from memory when they are not used.
- See BlackboxPerformance for details on actual Blackbox resource consumption.
- Simple and clean interface
- Blackbox strives to maintain an uncluttered desktop, while still offering all the necessary tools for manipulating client applications in any desktop environment.
- Constant pursuit of standards compliance
- See StandardsCompliance. Due to this, starting with version 0.70 Blackbox works perfectly with lots of 3rd party tools that also respect the FDO* standards.
- Built-in graphics class
- Blackbox doesn't support loading color pixmaps of any kind, period, end of discussion, nor will it ever. Blackbox uses a simple class to render all of it's vector gradients on the fly (and caches them), when needed, instead of loading and holding image data that may be rarely, if ever, used. The buttons 9x9 pixels hardcoded 1-bit bitmaps, scaled programatically on the fly. It uses external style files written in plain text to define its looks.
- Common code implemented as a library
- Starting with version 0.70, Blackbox implements its most common code in a shared external library and relies on widely used configuration tools such as pkgconfig. While this means that all the bbtools have to be rewritten in order to work with 0.70+, it also means that writing and maintaining Blackbox-compatible applications has become much easier than before, and that Blackbox can be controlled from other applications more easily.
2) Other popular features support
- Multiple workspaces (a.k.a. virtual desktops).
- Simple menus that implement a simple and efficient desktop environment.
- Shaded windows are provided as an additional alternative to minimization.
- Iconified (minimized) windows are completely hidden and handled by a small menu instead of huge space-wasting, color-sucking gadgets.
- A slit is provided to hold WindowMaker-compatible dockapps, and a simple toolbar to convey essential information.
- Wallpapers can be loaded on the root window (the desktop background).
- Xinerama (multiple monitor view) limited support (renders as one big screen spanning all monitors). FIXME: BlackboxPatch:1286688 implements proper Xinerama support. Not accepted into the main source as of yet.
- Customized looks through a huge collection of styles.
- Window-to-screen-edge snapping and resistance.
- Window-to-window snapping and resistance. (since 0.70.1)
- All the common window handling tricks (raise, lower, move, resize, stick, maximize, iconify, send to, kill, always on top/bottom, fullscreen).
- 4-direction, window quadrant sensitive, opaque resizing, as well as opaque move. Transparent move and resize are also available by toggling options.
- Internationalized menus and messages, already available in quite a few languages. FIXME: currently, the 0.70.x series doesn't have I18N support; it will be added later, fix this when it happens.
- Anti-aliased fonts and dual (FontConfig vs legacy X aka XLFD) font addressing.
- Menu navigation via keyboard (starting with version 0.70). Learn how to pop-up the menu via keyboard.
Document last modified: Sat, 26 Nov 2005, 07:06 PST