NOV
15
2000

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.

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!


By ralian at Wed, 2000/11/15 - 6:00am

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 Richard Moore at Wed, 2000/11/15 - 6:00am

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 Jason at Wed, 2000/11/15 - 6:00am

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 Eric Laffoon at Wed, 2000/11/15 - 6:00am

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 Storm at Wed, 2000/11/15 - 6:00am

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 Adrian Kubala at Thu, 2000/11/16 - 6:00am

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 Alain Toussaint at Fri, 2000/11/17 - 6:00am

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 TI at Wed, 2003/09/03 - 5:00am

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 Netizen51 at Wed, 2000/11/15 - 6:00am

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 Richard Moore at Wed, 2000/11/15 - 6:00am

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

This would of course be optional..


By KDE fan at Wed, 2000/11/15 - 6:00am

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 Erik Engheim at Wed, 2000/11/15 - 6:00am

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 rinse at Wed, 2000/11/15 - 6:00am

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 Johan at Wed, 2000/11/15 - 6:00am

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 Andrew Coles at Wed, 2000/11/15 - 6:00am

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 Erik Engheim at Wed, 2000/11/15 - 6:00am

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 ac at Thu, 2000/11/16 - 6:00am

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 Marko Rosic at Thu, 2000/11/16 - 6:00am

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 Erik Engheim at Wed, 2000/11/15 - 6:00am

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 Doug Welzel at Thu, 2000/11/16 - 6:00am

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 con at Wed, 2000/11/15 - 6:00am

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 Haakon Nilsen at Wed, 2000/11/15 - 6:00am

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

Rich.


By Richard Moore at Wed, 2000/11/15 - 6:00am

Yes, something like systray in Windows.


By Anders at Wed, 2000/11/15 - 6:00am

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 Wolfgang Rohdewald at Wed, 2000/11/15 - 6:00am

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 Christian A Strømmen at Wed, 2000/11/15 - 6:00am

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 Wolfgang Rohdewald at Wed, 2000/11/15 - 6:00am

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 Inorog at Wed, 2000/11/15 - 6:00am

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 Adrian Kubala at Thu, 2000/11/16 - 6:00am

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 Scott Wheeler at Sat, 2000/11/18 - 6:00am

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

Rich.


By Richard Moore at Wed, 2000/11/15 - 6:00am

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 Wolfgang Rohdewald at Wed, 2000/11/15 - 6:00am

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 Richard Moore at Wed, 2000/11/15 - 6:00am

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


By Rikard Anglerud at Wed, 2000/11/15 - 6:00am

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 at Wed, 2000/11/15 - 6:00am

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 at Wed, 2000/11/15 - 6:00am

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 Gonçalo at Wed, 2000/11/15 - 6:00am

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


By GeZ at Thu, 2000/11/16 - 6:00am

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 me at Thu, 2000/11/16 - 6:00am

Is it possible to download it?


By Zeljko Vukman at Wed, 2000/11/15 - 6:00am

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 Richard Moore at Wed, 2000/11/15 - 6:00am

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 Zeljko Vukman at Wed, 2000/11/15 - 6:00am

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 jamal at Thu, 2000/11/16 - 6:00am

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 jannek at Thu, 2000/11/16 - 6:00am

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 Richard Moore at Fri, 2000/11/17 - 6:00am

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 Zeljko Vukman at Fri, 2000/11/17 - 6:00am

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 kR0ll at Wed, 2000/11/15 - 6:00am

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


By Kde user at Wed, 2000/11/15 - 6:00am

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 Samawi at Wed, 2000/11/15 - 6:00am

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


By reihal at Wed, 2000/11/15 - 6:00am

Pages