Conceptual problems inside bmpanel2

I just want to clarify one more time what “bmpanel2 theme” means and why there are a lot of “no”s about it. People tend to understand bmpane2 themes as let’s say gtk2 themes, but these two are completely different concepts. Gtk2 themes are what I call “skins”, they define a big amount of rules of how you should draw elements and an end user  feels free to compose these elements in any way he/she likes. On the other hand bmpanel2 theme is a kind of a snapshot of what you see when you start bmpanel2, and you can’t actually change a lot of look without changing a theme file. The problems come when you have to give people an ability to customize things. For example: user doesn’t want to see a paricular widget on his panel at all, what he/she can do about it? The correct answer here is to change a theme file the way he wants. But is that involve editing text files? Yes and no. Theoretically it is possible to create an utility which will make all you need just in two clicks. The only reason why it is not possible to make that kind of feature inside bmpane2rc is that you just can’t know what is inside a theme to control it flawlessly. There are cases when theme has multiple instances of a widget, how can you tell bmpanel2rc which ones should be removed?

The second conceptual problem is addressing customizable widgets. For example: user wants to have two launch bars, what he/she should specify inside the bmpanel2rc? Frankly, I have no idea. Well, maybe it should be possible to just use two and more launchbar entries and let them be configured sequentially. I mean first launchbar widget uses first launchbar entry in bmpanel2rc, second uses second entry and so on. The other good example here is a “start button”. Let’s say we have a widget that allows you to call just one application you like and we have a theme where this widgets looks exactly like “start” button with literally text label on it. How one should specifiy which app he/she needs to see running when clicking that button? Again, I have no idea.

So, until I will find some interesting concepts here, I will not do anything about these problems. Sorry.

Eventually I would like to see the bmpanel2 as a platform for making “looks” that can be customized in a way theme author wants/allows and not more. I really have a strong opinion that this is a way to go in GUIs. But of course I don’t want to end up with themes being fully featured scripts.

P.S. Sorry for not working on launch bar configurability for a while (gaps between items, background, etc.). I know I promised this, but I’m a bit in a not very good mood right now. 😀