After Nth unsuccessful try of making a web design I have figured out that this kind of craft isn’t supposed to be my dharma. So, I decided to do my best in making a good documentation for the bmpanel2 and that’s it. No more art! Just programming and documentation.

I have just uploaded testing themes to the git repository. Two themes are here: “native” and “transpy”.

Ok, let’s try to do this thing in a blog. I’ve been working on the bmpanel2 for a past few weeks. And now here is some kind of a feature spotlight:

_NET_WM_ICON_GEOMETRY support. The bmpanel2 sets these properties on the task icons as a robust NETWM panel should do. It allows window managers to do nice animations and other things like task window preview on mouse hover.

XDND awareness. The bmpanel2 watches for XDND (X drag and drop) protocol events and activates task/desktop in case if you drag something over it. Basically this feature makes DnD actions more comfortable.

I did few architecture changes on how rendering is done. And now there is a support for different renders. Currently there are only two of them: “normal” and “pseudo-transparency”. I’m planning to add “composite” render a little bit later.

The system tray logic was heavily rewritten because there were some troubles with the “pseudo-transparency” mode. And I really hope it works properly now.

Memory allocation procedures were really optimized. I know it’s a stupid thing to do, because the rendering process is a bottleneck and generally I don’t need to worry about memory allocations. But.. I did this.

I have started to check WMs compatibility, and now there is a WMs.txt file in a repository with some info on that topic. This action forced me to do some quick fixes for Fluxbox and PekWM. IceWM, Openbox and standalone Compiz/Emerald work fine. More checks to do (mostly the heavy ones, e.g. xfce, gnome, kde).