Sources and Co
- How to localize Firebox ?
- Why is it so hard to compile from SVN sources ?
- What have I to make with the .tar.gz files on FreeBSD ?
Misc
- What about ICCCM/Motif/EWMH compliance ?
- What are the alternatives to Firebox ?
- How tiny are lightweight Window Managers ?
Sources and Co
How to localize Firebox ?
The method is quite easy.
At first, go to the 'po/' directory and initialize LL.po or LL_CC.po from the firebox.pot file (LL is your language code and CC is your country code).
ex:
$ msginit -l pt initialize Portuguese.
$ msginit -l pt_BR initialize Brazilian Portuguese.
Then, fill the 'msgstr' items of the new .po file and update its header information. You can check the result using the following command :
$ msgfmt --check --statistics pt_BR.po
Finally, you can send the edited .po file to the mailing list.
Firebox-tools can be translated in the same way.
Why is it so hard to compile from SVN sources ?
The Subversion repository only contains files that were created or modified for the project. Thus there is no autotools related file, nor system dependent file like the Gettext header.
The main idea is to keep the repository as clean, simple and portable as possible.
In order to compile, user must type the following commands:
$ gettextize --no-changelog$ rm po/Makevars.template$ cp /usr/share/gettext/gettext.h src/$ echo "timestamp" > stamp-h.in$ aclocal$ autoheader$ automake --add-missing$ autoconf$ ./configure --prefix=/usr/local
All these operations are executed by the autogen.sh file.
Note: at least on Debian, the Gettext header displays warnings at compilation time, as it is not fully ANSI compliant.
What have I to make with the .tar.gz files on FreeBSD ?
The two files contain the ports for Firebox and its preferences editor.
These files need to be uncompressed. Then put the new created directories in /usr/ports/x11-wm/ and run
make.
Misc
What about ICCCM/Motif/EWMH compliance ?
ICCCM is getting older and older. It has been extended by a new specification, EWMH. As certain parts of ICCCM are superseded by parts of EWMH, priority is given to support the newest one.
Moreover some ICCCM atoms are not really useful for the window management made by Firebox.
For the moment Motif is only used to manage xmms correctly !
Firebox currently supports 6 ICCCM atoms, only one Motif atom and 32 EWMH atoms. Full list can be viewed here.
What are the alternatives to Firebox ?
Fortunately there is a lot of others WM running X11 systems. Giles Orr has begun to list all of free managers, included links to reviews of some of them. You can read his work by visiting this page.
Interested visitors should have a look at the Bloodlines, too.
How tiny are lightweight Window Managers ?
Here is a small comparison between some of the most famous Window Manager. They were tested using the default configuration, but as they do not provide the same features, they can not be really compared. So this part has not to be taken too seriously.
| creation | name | version | language | sloc | binary | install | libraries |
|---|---|---|---|---|---|---|---|
| 1993 | CTWM | 3.6 | C | 28590 | 287k | 912k | 13 |
| 1998 | aewm | 1.3.10 | C | 2858 | 31k | 376k | 7 |
| Flwm | 1.02 | C++ | 3301 | 61k | 92k | 20 | |
| screen | 4.0.2 | C | 37618 | 293k | 1.6M | 7 | |
| 1999 | Oroborus | 2.0.18 | C | 6558 | 72k | 3.3M | 11 |
| wimpwm | 0.1.1 | C | 3683 | 445k | 1.1M | 11 | |
| 2000 | Blacbox | 0.70.1 | C++ | 17579 | 517k | 6.8M | 18 |
| larswm | 7.5.3 | C | 6585 | 81k | 312k | 8 | |
| Orobo ROX | 0.9.8 | C | 10746 | 69k | 80k | 20 | |
| 2001 | Fluxbox | 1.0rc3 | C++ | 37170 | 1.3M | 4.6M | 22 |
| 2002 | evilwm | 0.99.25 | C | 1918 | 24k | 56k | 8 |
| Hackedbox | 0.8.5 | C++ | 11629 | 306k | 3.5M | 13 | |
| Openbox | 3.4 | C | 26806 | 251k | 3.3M | 31 | |
| Ratpoison | 1.4.1 | C | 12904 | 118k | 888k | 12 | |
| WindowLab | 1.33 | C | 2660 | 35k | 80k | 8 | |
| 2004 | cwm | 3 | C | 5223 | 50k | 268k | 15 |
| JVM | 1.8 | C | 15775 | 134k | 200k | 19 | |
| wmii | 3.5.1 | C | 8447 | 102k | 860k | 9 | |
| YeahWM | 0.3.5 | C | 1948 | 25k | 52k | 9 | |
| 2005 | dwm | 4.2 | C | 1798 | 27k | 56k | 7 |
| TinyWM | 1.3 | C | 92 | 4.6k | 16k | 7 | |
| 2006 | Firebox | 0.4 | C | 11327 | 127k | 196k | 18 |
| Firebox | SVN 140 (*) | C | 12230 | 129k | 208k | 11 | |
| SithWM | 1.1 | C | 1925 | 23k | 68k | 7 |
(*) configured with ./configure --disable-xft --disable-xrender --disable-xshape --disable-png --disable-jpeg.
Notes:
- Source lines of code are counted using
sloccount. - Binaries size is computed with stripped binaries.
- The number of libraries is obtained with
ldd, including libc etc.
Extra notes:
- No image required by install in CTWM package have been found.
- The Python version of TinyWM has not been tested.


