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. 😀


3 Responses to “Conceptual problems inside bmpanel2”

  1. weakhead Says:

    I think that many BMPanel2 users are aware of how to customize themes to their own needs. Since most of BMPanel2 users use it under standalone WM, which they must configure by hand in many cases, customizing panel won’t be a problem for them.

    Perhaps, it would be possible to make BMPanel themes behave more like “skins”, but it would mean a lot (I think) chances.
    Imagine that themes defines only look of each widget – background, fonts, offsets, etc. User would make his own layout and preferences like time format through config file or GUI utility. To achieve some additional effects user would define his own decors, also in config file.

    But this wouldn’t be BMPanel2 no more :p
    Personally, I think that current way BMPanel2 works is good. Themer will be sure that his theme will always work as it should and won’t have to listen about problems of end-user.

    • nsf Says:

      Well, yep. If I’ll change the way it works it wouldn’t be bmpanel2 no more.

      The tricky part here is that you can make ‘skins’ with bmpanel2, but it will require a bit of utility making. For example user is free to create even his own format for themes, but in the end theme should be composited into the bmpanel2 theme format and used as a –theme for bmpanel2 itself.

      I mean it’s quite simple: you make a skin for bmpanel2 then take magic utility that allows you to move visually widgets on the panel using recently created skin and then it converts everything to bmpanel2 theme format and asks bmpanel2 to reload theme. The problem is that someone should write this. 😀 And I’m lazy here as always..

      And that’s only the ‘skins’ part. There are still widgets that wouldn’t fit into the bmpanel2 concept. So.. it’s quite a restricting thing here.

      P.S. Frankly.. I like bmpanel2 as it is too. Just wanted to say that, because people ask for widgets and configurability options. And it’s easy to add them, but the concept would be broken, what is very undesirable.

  2. 3ED Says:

    Will be great if bmpanel2cfg have setting for posix time format (including mounth, year, day, etc. – like in themerc). Now I must edit this file for theme which I use. Sorry for my bad english, see ya.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: