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 Adam (not verified)

Amen to that. I was looking forward to the
new "diary" format of www.mosfet.org, but it's been quite a while since an update. Reading developer diaries sure beats press releases. Of course, there's always mailing lists to keep up with mosfet's work :)

Adam

by Sigil (not verified)

This question may or may not pertain to kasbar. I just would like to know if there is a mechanism in kde2 that can notify you of a window changing via kasbar or the taskbar.

Example: In windows I have an IRC client connected and minimized. When some one says something the button on the taskbar flashes.

Is this a feature of the App, Kde2, or Kasbar/taskbar?

If it is Kasbar/taskbar it would be nice if you implemented it.

It is so annoying to have ksirc minimized and not be able to know when anything goes on in the channel without maximizing it.

by Maarten ter Huurne (not verified)

Kwrite shows changed files by placing an additional disk icon in the taskbar. Maybe ksirc could use the same mechanism?

by Richard Moore (not verified)

That's actually supposed to be a standard feature of KDE 2 apps. It was added fairly late though, so it's done by everything yet. It is done via the ENT protocol, so it can be supported by other WMs etc. It is definitely on my TODO list for Kasbar (though the visual appearance will be different). If KSirc can use it too then that's great.

Rich.

by Anonymous Coward (not verified)

Hi!

Something I would really like to have is the following (whereby I'm not sure what exactly Kicker, Kasbar, Taskbar and so on are):

I have a desktop preview in the taskbar, which is really cool. But I often want to move a window onto another desktop. I need to switch to that desktop, rmb on the taskbar entry, and send it to the new desktop. Or, make the window sticky, move to the new desktop and unstickyfy it again. This sucks. What I would like is to be able to drag a window from one desktop to another within the preview.

by Maarten ter Huurne (not verified)

The pager applet is responsible for that. You can send in your wish using the bug report system. Use "Application: minipagerapplet" and "Severity: wishlist".

by Dirk Manske (not verified)

> What I would like is to be able to drag a window from one desktop to another within the preview.
"kpager" does exactly what you want. (kpager in KDE2 is much more stable than the old version.) One bad thing: kpager needs some space. Sure, the minipager should also support window draging...

by David Simon (not verified)

You can already do this, just right-click on the
titlebar and select "To Desktop".

by Jonathan Marten (not verified)

Here's a suggestion, something that I have disliked about the taskbar ever since KDE 1. It doesn't really show the minimised state of a window very clearly - the (parentheses) around the name don't stand out very well, and also are a bit "technical"ish. It would be better if the state was shown in some other way (different color, font, etc) - fully configurable of course!

My preferred configuration would be:

the window with focus: button depressed, bold text

other open windows: normal text

minimised windows: grey (half-bright) text

but other people of course may have other ideas...

by Sven Kempf (not verified)

Hallo everybody!

I'd realy like to use this Program, because I used the verion that was given to me with the beta version of KDE and I can't life without it anymore! ;-)

But now I've installed the Final release of KDE 2 and was shockt because there was no kasbar anymore :-(

I now tried to find the new version of kasbar but I didn't find it!

Can anybody tell me where I can find a link to a download verion of kasbar (and, what would be very very important, a good howto for the installation, because I'm a stupid newbi ;-)

With the very best reguards
Sven

by Klas Kalass (not verified)

I'd like a feature where one can drag any running app from kasbar/taskbar to the desktop / menu-editor and instantly having a shortcut this way. That would be very cool, I think.

by Martin Fick (not verified)

A neat option would be to show tasks which are NOT on the current desktop as ICONS only, so that they are less important than the tasks on the current desktop.

by Richard Moore (not verified)

I don't understand - surely this is what it already does? or do you mean icons with no title?

I've recently (yesterday) added the option to limit the display to windows on the current desktop, but it is only an option (and is off by default).

Rich.

by Martin Fick (not verified)

Sorry, I didn't look at your screenshots until after I posted that message. When I did, I realized that kasbar seems different than the regular KDE 2 taskbar; I can't tell from your shots whether my suggestion will still apply.

I am particularly talking about when a taskbar is used in horizontal mode (all the screenshots are vertical). Does kasbar do horizontal like the normal taskbar does?

With tho normal taskbar, applications are displayed with an icon on the left and some text on the right. When you have a lot of applications, the text for each app is reduced drastically and is no longer very usefull. I imagine that this is the reason that the option to only show the apps on the current desktop is offered.

I feel that a "nice" cross between showing only the current desktop's apps and all the apps (in horizontal mode), would be to show the current desktop's apps along with some text while only displaying the icons of the other apps.

To help illustrate my idea, run the KDE2 normal taskbar with a bunch of apps and drag it on the panel. While dragging, it will shrink all
the apps so that mainly the icon is showing. In my scheme, this is kind of what non current desktop apps would look like.

by Martin Fick (not verified)

How about allowing the location of applications on the taskbar to be moved around by dragging and dropping. Not the location of the apps themselves, just their order within their desktop section of the taskbar.

by Richard Moore (not verified)

That's not a bad idea. It's difficult to see how it should work though - what happens if you quit and restart an app for example. I'll think about it, but don't expect to see it any time soon.

If you have a clearer idea than I do of how this should work then let me know.

Rich.

by Martin Fick (not verified)

I wasn't thinking about a permanent thing for an apllication, it should simply be for running apps. I don't always start apps in the order that I wouls like them in the taskbar, therefor rearranging the current running apps would be helpful. If you quit an app and restart it, it is a new app and should act as it always does, go to the end of the list (so to speak). The taskbar should not remember where it was.

by Thorarinn (not verified)

Please include "Minimize all windows" or "Iconify all windows" as one of the options when you right-click on the Kasbar itself.

Look forward to using the new and improved Kasbar :-)

by Richard Moore (not verified)

That's tricky because the window menu is generated by kwin rather than kasbar (see the original article). I did however think that an optional half-width icon offering this might be useful. Would that do?

Rich.

by Andrew (not verified)

Will there ever be a way to get the KDE2 taskbar laid out exactly the same way it can be laid out in KDE 1.1.2? Right now, I have found that having the taskbar accross the top of the screen and the toolbar down the left is the most convenient. But, I've found no way to duplicate this layout in KDE2 and won't switch until I do.

by Richard Moore (not verified)

It's in the latest CVS implemented using the same panel extension system used by Kasbar. It is not part of the 2.0 release. It will be available in 2.1

Rich.

by erotus (not verified)

I have a couple of friends who have the exact same sentiments about the integrated panel and taskbar we now call "kicker." They do not want to switch to KDE2 until they can have their old layout back with a separated taskbar. I personally like the integration but I've come across many that don't. Someone said that KDE2.1 remedies this problem. When is KDE2.1 due out?

by Scotty (not verified)

This is GAY!!! KDE suX and WinD0z3 ru1Z!

by J-C Dumas (not verified)

Please consider some visual clues that shows on wich destop an app is running. (ala KDE 1.1.2). Also, bring back the "onto current desktop" feature if possible. I miss thoses 2 features badly.

by Melvin Quintos (not verified)

Here's a thought that I don't think any desktop has implemented well. How about a feature where you can tile a specific number of apps either vertically, horizontally, or equally.

In Windows, when you right click on the taskbar you have the ability to apply those tiling commands to ALL the running apps. (Hardly ever used, if at all)
What I believe would be better is an implementation such as this:
Right click on Kaskbar and we have submenus (along with the other menu items) titled Vertical, Horizontal, and Equal tiling.
Within those sub menus you have labels saying "Choose 2, 3, "etc, up to the number of apps on the Kasbar (this number shouldn't grow too big)
After issuing a command like that, you simply click on the names of the apps in the kasbar of those apps you want tiled. (similar in feel to the kill command for X windows)
If the idea seems stupid, don't flame me. I'd love to have a feature like that and I am not aware of any implementation of the same kind. There's many times when I wanted to tile vertically one specific web page and a document to fill up the view of my desktop without having to minimizing the other 5 running web browsers blocking the way.

by AltKey (not verified)

I believe that tiling windows in windows XP works on the apps with opoen windows only. the other running aps are left untiled if they are minimised when you use the tile option.

by anonymous (not verified)

what about skipping windows?
i mean if i have started xmms -for example- i do not want to see its button in the taskbar since i have gkrellm to control it. kstart seems to have a parameter --skiptaskbar but it does not seem to work for me. this is a feature i'd really like to see. or am i to stupid to find this functionality in kde2!
sorry for my bad english.

by Michael H. Raus (not verified)

I was messing around with enlightenment for a while and found the ICON BOX very useful. A feature like snap-shotting the windows in the moment of minimizing is very usefull and not just a graphical gimmick. If you are doing so please check if there is a chance to define the size of Kasbar (maybe drag it bigger) thus also the size of the snapshotted windows-"icons". If they are too small one can not recognize the application on display with high resolutions ...

Kasbar is great! Keep up your work!