Kasbar - The Next Generation

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.

Dot Categories: 

Comments

by ralian (not verified)

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!

by Richard Moore (not verified)

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.

Rich.

by Jason (not verified)

Wow! transparency would be really really cool, and a quick picture of windows would be neat. And having it be external would be very great. Same with shade indicator. Keep up good work.

I need to get less lazy and compile from cvs.

by Eric Laffoon (not verified)

Richard, as usual you are spot on! I've got to shake up my desktop and got get the cvs again. Keep up the good work.

by Storm (not verified)

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.

by Adrian Kubala (not verified)

This would require constantly polling the background, something most people don't think is worth it. Get E-term if cool transparency is so important to you.

by Alain Toussaint (not verified)

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.

Alain

by TI (not verified)

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.

by Netizen51 (not verified)

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.

by Richard Moore (not verified)

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.

Rich.

by KDE fan (not verified)

How about enabling autohide on the Kasbar? I miss this from KDE1.

This would of course be optional..

by Erik Engheim (not verified)

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

by rinse (not verified)

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!!!

Rinse

by Johan (not verified)

Cool. I like it. Would be sooo useful when running Gimp.

If this feature is user configurable and application specific it would be even better. I think that I would like one top level button for each Netscape instance...

by Andrew Coles (not verified)

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)

by Erik Engheim (not verified)

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?

by ac (not verified)

Acorn computers are pretty much dead. I think they are into set-top boxes now... haven't heard much in ages. You can still buy the Risc OS though: www.riscos.co.uk

by Marko Rosic (not verified)

Well... I've read some Win Whistler announce, and they said that feature will be implemented in it.

I too agree it's a nice feature...

by Erik Engheim (not verified)

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

by Doug Welzel (not verified)

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.

by con (not verified)

What I'd also like to see is on option to HIDE an application from the taskbar. For example I prefer xosview running on my machine in all windows, it is never iconized and is always in the same place.

Therefore I do not need taskbar/kasbar to manage it ( unless maybe for whatever reason it has been
iconized ).

by Haakon Nilsen (not verified)

I think that's a great idea.. You could for example still access the hidden items by going to a "Hidden" submenu on the RMB-menu, and from there either un-hide them or select them.

Or perhaps enable the user to configure kasbar not to show entries for certain apps.. endless possibilities ;) Too bad my coding skills don't suffice, or I'd certainly implement this myself :)

by Richard Moore (not verified)

IIRC You can already do this by launching xosview with kstart. I'm not sure, but you should check it out.

Rich.

by Anders (not verified)

Yes, something like systray in Windows.

by Wolfgang Rohdewald (not verified)

Please consider xmms. The window menu does not contain the standard items
like minimize, maximize, move to desktop. These things are only available when
right clicking in the standard taskbar.

by Christian A Strømmen (not verified)

The default shortcut for getting that menu is Alt+F3. Open XMMS and give it focus, then press Alt+F3 and the operations menu should pop up :)

by Wolfgang Rohdewald (not verified)

Thank you for the tip. But this is no help for
most users who just point and click and would never find out about ALT+F3

by Inorog (not verified)

It is sure KDE won't be able to provide perfect fixes for all non-KDE compliant apps existing out there. Apps have to do their job by themselves.

by Adrian Kubala (not verified)

The point is, when you access the window menu through the taskbar, it will be the correct menu, not XMMS's right-click menu. This is nothing but an improvement.

by Scott Wheeler (not verified)

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. :-)

by Richard Moore (not verified)

Don't worry, it works fine - you get the full menu.

Rich.

by Wolfgang Rohdewald (not verified)

right now they display only position and size of the windows and mark the focused window. I wonder what thumbnails would look like in there. Maybe too small?

by Richard Moore (not verified)

The thumbnail would be external. I've put a mockup of what I mean on my web page, there are also a few more screenshots of Kasbar in different configurations. Take a look at http://www.ipso-facto.demon.co.uk/kde/kasbar-tng.html.

Rich.

by Rikard Anglerud (not verified)

E's iconbox has this feature. It's actually clear enough to recognice the apps, and it's quite useful.

by Rikard Anglerud (not verified)

E's iconbox has this feature. It's actually clear enough to recognice the apps, and it's quite useful. However, it doesn't seem to be what he ment by the thumbnails.

by Rikard Anglerud (not verified)

E's iconbox has this feature. It's actually clear enough to recognice the apps, and it's quite useful. However, it doesn't seem to be what he ment by the thumbnails.

by Gonçalo (not verified)

The thumbnail can be a very good way of finding a window in a busy desktop.

<Day Dream>

A small thumbnail can render it useless but a big one can take too much space...
How about a zooming mechanism? Can it be easily done?

<Day Dream>

Thanks

by GeZ (not verified)

Something like the "Genie" effect of MacOS X ?
It ought to be optionnal if it were to exist. For performance reasons...

by me (not verified)

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!

by Zeljko Vukman (not verified)

Is it possible to download it?

by Richard Moore (not verified)

It is now - I committed my latest code to the CVS last night. The configuration dialog is still missing, but the most of the features are working.

Rich.

by Zeljko Vukman (not verified)

Thanks Richard,

Kasbar is really great. I'm looking forward to
next releases.
Great work. BTW, the new releases of KDE2 has
improved stability & speed.

Regards,

by jamal (not verified)

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.

by jannek (not verified)

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.

--
Janne Kylliö at V e l t o x . o r g

by Richard Moore (not verified)

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.

Rich.

by Zeljko Vukman (not verified)

There are new packages of KDE2 for Mandrake 7.2
with Kasbar and External taskbar etc. They can be downloaded here:

ftp://nebsllc.com/pub/KDE_UPDATE

Regards,

by kR0ll (not verified)

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 :)

by Kde user (not verified)

Kasbar was originally written by Mosfet as a kicker applet
Mosfet need to update his pages more often.

by Samawi (not verified)

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:-)

Samawi

by reihal (not verified)

I agree.
Come on Mosfet, post something, your fans are waiting!