Few important changes

I’ve finished theme integration to the source tree. Here is the list of themes which were integrated:

  • Alduin
  • Auriel
  • Curvy
  • Flora
  • Striped

The reason why I’ve included these themes into the source tree is because they are nicely showing what can you do with bmpanel2.

And now the important part:

All themes in the source tree are named like that: “long-theme-name” (e.g. alduin-glossy, xsocam-dark, flora-green, etc.). It means that after updating to the latest git or to 2.1 you’ll probably need to clean a little bit your ~/.local/share/bmpanel2/themes directory and maybe tweak a config file. Please notice that “xsocam_dark” was renamed to “xsocam-dark” too.

Brief changes list for 2.1

Changes since 2.0.1a (basicly just a copy&paste from git log):

  • Fix bug with ellipsize feature.
  • Fix bug with xfwm4 modal dialogs (xfce4).
  • Fix texture filtering mode (ugly corners in some cases).
  • Fix image leak in systray code.
  • Add “center_offsets” parameter (used in “stretched*” modes).
  • Use all button states for width calculation in desktop switcher.
  • Fix bug with “demands attention feature”.
  • Disable “demands attention” flag when user activates the window.
  • Add SIGUSR1 signal handler which implements the “reconfigure” action.
  • Make “task_urgency_hint” (“demands attention” feature) disabled by default.
  • Add clock mouse button actions.
  • Change default drawing mode to OVER in pseudo-transparency render.
  • Add “paint_replace” widget parameter (switches drawing mode back to REPLACE).
  • Add delayed widgets destroying for “reconfigure”. Allows really smooth reconfigures.
  • Add bmpanel2 config tool (bmpanel2cfg), depends on python and pygtk.
  • Add launchbar to themes in distribution.

The 2.1 release isn’t here yet. But soon it will be there. 🙂

Bmpanel2 theme reference update

I hope now it is somewhat complete. Check it out there: http://nsf.110mb.com/bmpanel2themeref.

If something isn’t clear, mail me. If you know how to explain some things better than I do, or you’ve spotted a misspelling – mail me also. My english sucks and I wish I could make the reference better somehow. Also if you want to translate it or do something else with it – feel free to do it, I don’t care about any kind of copyrights here.

See ya! 🙂

P.S. You can find sources of this reference in the git.

More build process changes

I had integrated the bmpanel2cfg into the build system yesterday and now I’ve returned the previous build chain for man page. In order to build man page properly you need to have asciidoc package and docbook-xsl stylesheets. Currently CMake build script tries to detect the a2x tool and if it’s here then tries to build the man page. A2x toolchain manager is a part of the asciidoc package usually and in the archlinux for example asciidoc depends on the docbook-xsl package too, so.. everything should be ok here. But I have no idea how it will work in other linux distributions. If you have any problems – mail me.

P.S. Even though writing a comment on the blog seems like a faster way to give your feedback to me. It’s actually not. WordPress spam filter often sucks up your comments and I don’t get any mail notifications in that case. I check spammed messages rarely. So.. really.. if you have something to ask – mail me. Fortunatelly, the gmail has the best spam filter I’ve ever seen and it hardly ever puts important mail in a spam folder.

Bmpanel2 Config Tool integrated into cmake

Recently I’ve been working on bmpanel2cfg integration into cmake build chain. And it looks like everything works now. If CMake sees the python interpreter it will install the bmpanel2cfg script along with bmpanel2. DESTDIR should work too. But if you’re packaging bmpanel2 and encountering some problems with that, please let me now.

Actually there are very few things left before I will make the 2.1 release. I think the project has accumulated a lot of changes and it’s time to make a fresh release. But before that I need to:

  • Fill “black spots” in the documentation area (theme reference and bmpanel2rc(!)).
  • Decide what themes should be included in the next tarball release. I don’t like them all equally, some of them will get into, some of them won’t.
  • Prepare a big changes list (2.0 to 2.1).
  • And couple of other minor things, which you’ll never notice probably anyway.

Wiki pages issue

As you may have noticed, the wiki pages on the code.google.com site are gone. It’s the result of me trying to make a Mercurial mirror for bmpanel2. But apparently code.google.com totally can’t do wiki repository conversions. So.. There is a big mess. I’m trying to get over those bugs, but currently I can’t do anything about it.

Btw, the contents of wiki pages are saved. Probably all this may result in a project hosting migration. I’m really disappointed about code.google.com. The *only* thing I like there is the bug tracker.

UPDATE: The wiki is back.. 😛 But comments are lost, sorry for that. I think it’s not critical.

Bmpanel2 Config Tool uploaded

It is in the git repository. You can find it using this path: extra/py

There are few files:

  • bmpanel2.py – A future bmpanel2 python library, there will be basic functions for parsing config/theme format and interacting with bmpanel2 through the python script.
  • bmpanel2cfg – A PyGTK python script, the config tool itself, uses bmpanel2.py module.
  • setup.py – Draft version of the python distutils script. Installs both the module and the executable.

You can try out this tool using the script directly (./bmpanel2cfg) or install it first using the standard way (python setup.py install) and then just run directly (bmpanel2cfg).

There are few caveats however, for example script currently will work only with single instance of bmpanel2 and there are still no support for multiple launch bars (support for this also lacks in the panel, so it makes sense).

Anyway, just try it out and say what you think. Bug reports -> here <-.

Don’t forget to backup your bmpanel2rc 😉

Bmpanel2 Config Tool update

It’s almost there. All functions are complete, but I need to test it a bit more for rare usage cases before uploading to public. It looks like this:

bmpanel2cfgAll changes in the tool are immediately reflected on the panel. And as far as I’ve tested it, this amount of reconfigure signals doesn’t burst the CPU up, so it should be really nice addition to the panel. I’ll try to upload it in few days, keep watching blog for updates.

Theme Gallery

Since now it’s possible to switch themes using external program, I quickly wrote very simple script that switches theme and makes a screenshot of it. And boom.. theme gallery is ready within 5 minutes.

>> Theme Gallery <<

Theme change on the fly note

I just have completed few hacks/tweaks that allow widgets to do delayed destroying. This feature allows to keep certain widgets alive (like systray) during theme changing process. Now with the last update the “reconfigure on the fly feature” should work really smooth.

Proof! (swf, 1.8 megs)