I'm in the process of improving the Kasbar taskbar replacement, and as there
seems to be a fair degree of interest I thought I'd outline what I've done so
far and my plans. My first aim (which I have nearly achieved) was to ensure
that Kasbar had all the features of the standard taskbar, but I have quite a
bit more in mind...

Kasbar was originally written by Mosfet as a kicker applet, and has always
had a pretty cool look. Shortly before the release of 2.0 support for external
applets was removed because the API sucked, which unfortunately meant that Kasbar
would no longer work. Mathias Elter's recent work adding a panel extension system
to kicker meant that the time was ripe for Kasbar to return, so over the weekend
I ported the code to the new API.

My first port was just that: a direct port of the original Kasbar applet code,
but once I had it working properly I began to add some new features. So far
I've added the following:

Improved left mouse click behaviour
If you click on the icon for the active window then Kasbar
will now minimise it, clicking on inactive or minimised windows activates
them as before. The new behaviour is consistent with the standard taskbar.

Window menu
You can now access the window menu by right-clicking on
the windows icon. This is done by sending a DCOP message to KWin, so you get
the complete set of options unlike the standard taskbar which only offers
a subset of the available actions.

Transparency
I like the current Kasbar look, but I thought that a transparent
Kasbar would look very cool. Adding this option to Kasbar was trivial
because kdelibs has a KRootPixmap class which does all the hard work. In addition
to simple transparency you also have the option to tint the background to
a specified colour. The code for this is working, but won't be committed to
the cvs for a few days because I have some more work to do to make it configurable.

Of course, I have some more features planned, I expect to have the following
working in the near future:

Shade indicator
This should indicate that a window is shaded in a way that
is consistent with the existing icons for minimised and normal windows. I
have wirtten the code for this, but unfortunately this indicator does not
work for some reason.

Startup notification
Kasbar should support startup notification in the same
way as the standard taskbar. I've already started making changes to the implementation
to support this, but there is still more work to be done.

Tooltips
I plan to add a tooltip displaying the complete window
title. At the moment you can only see a small part of the title and the only
way to see the rest is to look at the window itself.

Window thumbnails
I'd like to add a new feature offering thumbnails of minimised
windows. The idea would be to grab the image of the window from the screen
immediately before it is minimised then display a thumbnail of the image in
some tooltip-like way. There are some issues with this but I think it would
be pretty cool. It would of course be optional.

I'm very interested to hear what people think of my plans, so I'll be monitoring
the comments posted here. If you have a feature request for Kasbar then now
is the time to let me know.

Comments

It sounds really cool, but I thought it might be cool to be able to completely control the size of the bar, like horizontally and vertically, so you could resize the bars to whatever dimensions you want, or put four quater-size bars at once instead of one huge one.
Thanks!

Take a look at the screenshots I posted a link to in my comment below. As you'll see you have some degree of flexibility already. I'm not sure that the effort required to support multiple bars is worth it - it would need fairly major changes and would probably need the extension API to change too.

I' ve had this problem with transparency since i first compiled from CVS.
The first time i run konsole after i login it never comes up with the transparent background. I have to move the window to force it to work. It comes up transparent from there on. I reported this bug a long time ago but it never got fixed.
Also, if i use multiple background mode, the wallpaper changes but the konsole doesn't update their windows until i move them. They should update to reflect the new wallpaper.

instead of polling,why not implement a listener,you see,the user install a new background,one of kde's daemon (i don't know which daemon,maybe sycoca ??) get informed and the daemon tell kasbar to update its background.

That means that they have to use a java like Listeners. But, if an application is busy or dead you might lock the entire desktop waiting for the application to respond. To avoid this they should implement some poolong techniques... that's going to be time and processor consuming.

Sounds great, but what I don't see covered here is a way to hide the kasbar in the same way as kicker does (arrows on both or either sides).

And what I really,really,really would love to see is to have those great WindowMaker applets inside it. I think this will be possible, because I've allready seen the wmmatrix applet somewhere in a screenshot of the extension panels, but i'm not sure this means it wil be possible in the kasbar as well.

I guess that autohide etc. will be part of the extension framework itself once the API is complete. Your other point about WM applets is interesting, but I don't think these should be inside Kasbar itself. Instead they should be in an extension panel that is set to be stretched rather than full length, which would give much the same effect.

Anyone tried the BeOS taskbar? There is one feature there I really miss in both KDE and Windows. There is only one button for each application on the taskbar no matter how many instances or windows there are of that app. To access the individual windows you just click the button and a menu pops up (similar to the start menu). Not sure if this can be done but I guess that dcop should I theory make this possible.
When there is only one instance of an app the taskbar should work like a normal taskbar (no pop-up menu).

I never used BeOS, but the feature you describe is very nice!! I always have alot of windows opened and now I sometimes have trouble to find the right to raise, with al those buttons on my taskbar. Creating jus one button for every application in stead for every window would make this a lot easier!!!

A feature similar to this has been around for years on Acorn Risc OS - when an application was started it's icon would appear on the taskbar, then you would click on it to create a new document or click on it with the menu button (middle on on the 3 button mouse) to call up a menu with a list of currently open documents on it.

I'd like to see this feature implemented, it's something I've wanted for a while but I've but up with Win95 style taskbar icons because they do the trick (albeit not as good IMHO)

Interesting, I have been hearing a lot about RiscOS lately. Especially when I mentioned features I thought was unique to Nexstep. Pitty I have never tried RiscOS before. The first and only time I read about Acorn Computers was in a computer magazine from 89-90 (Byte or commputer world I think). Are Acorn computers still in production/development?

Anyone tried the BeOS taskbar? There is one feature there I really miss in both KDE and Windows. There is only one button for each application on the taskbar no matter how many instances or windows there are of that app. To access the individual windows you just click the button and a menu pops up (similar to the start menu). Not sure if this can be done but I guess that dcop should I theory make this possible.
When there is only one instance of an app the taskbar should work like a normal taskbar (no pop-up menu).

I remember seeing a suggestion similar to this after people saw the feature in Whistler. The argument against it was that this goes against the idea of a "document centric" desktop. Still, I think it is an idea worth exploring.

That's one of the many reasons that I and a fair number of people use Linux. I'd like to think that most people using Linux don't just "point and click." Don't make me get into "back in the day" stories. :-)

Look at the way Enlightenment's pager works. the thumbnail snapshot gets updated in near-realtime and when you hover the pointer over it, it pops up (similar to a tooltip) a zoomed-in version of the snapshot. Really cool!

Sorry to ask,
what release are you referring to?
Is there new release of KDE2 ?
I have KDE2 released in Mandrake 7.2. It's working great, but I notice there are some annoying bugs such as crash during changing background image.

Thats not a bug in KDE. Changing wallpapers works fine. Perhaps your libpng is broken? I've heard that broken libpng has caused a great deal of crashes and downgrading to previous version has helped a lot.

Anyway, he's probably referring to cvs-snapshots, i've compiled few packages from snapshots and those are generally working quite well.

Yes, I'm refering to the snapshots (or anoncvs). The code is very new, and relies on the extension API which was not present in 2.0. You'll either have to build it yourself or wait for 2.1. Note that 2.1 is not too far away.

When I discovered kasbar in one of the beta releases, I was really impressed and wanted it as a replacement for the standard taskbar. Sadly I found out, that it did not have enough features. Reading about your great work makes me really looking forward to a new release of it. Your ideas are damn kewl :)

One of the main advertised purposes of mosfet.org was to provide "development news and information for the NEXT generation of KDE, KDE2.0". Now that KDE2 is here and this news page is up, the need for Mosfet to keep his page updated is probably less now.

Although if he wants to keep his reputation as KDE's "Rasterman" he needs to figure out a new angle quick. Richard Moore and Rik Hemsley are going to upstage him in the "cool, man" dept.:-).

Maybe he's coding in secret, preparing the Next Big Cool Thing (tm) to spring upon us at just the right time. More likely, he just still has a hangover from his 26th birthday:-)