Currently I just want a desktop switcher like you’ve probably seen in other panels. I mean that one with mini-screens and window previews. As someone in comments on code.google.com had noticed – it will be more practical than the current one. First of all there are window previews, which is basically nice, but I will be able to draw small numbers (representing number of apps of course) on the corner of these mini-screens also using some kind of unintrusive policy – when there are no windows on the desktop just don’t draw any kind of numbers (e.g. zeros).
But let’s get back from the dreamland. I need a way to implement it somehow. There are two major ways to do this:
- Implement alternative widgets system as I planned before.
- Replace current desktop switcher with a new one.
And I really don’t like (1). Because there are a lot of problems with that. Current theme is just a description of how panel will look like when you’ll start it. Even though most of the users still think of themes as skins, they are not. Introducing alternative widgets on the other hand will break all this picture and make it even more unclear. Themes concept will basically stuck between “theme” and “skin” (in my mind – “theme” is a consistent/seemless look of something, while “skin” is a collection of elements which can be placed and composed in different ways). (2) on the other hand is extremely easy to implement. Due to multimonitor implementation I’m already tracking windows’ position/size. All I need to do is just make a theme description of new desktop switcher elements and simply put the drawing code in. But (2) also forces me to fix all themes according to new widget, which is a big task for me as a programmer (who is obviously isn’t an artist).
So.. What do you think? Should I try to do (1) or (2)?