[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Improving task manager interaction
From:       Richard Moore <rich () ipso-facto ! freeserve ! co ! uk>
Date:       2001-08-22 14:31:18
[Download RAW message or body]

I've been doing some thinking about how we can improve the
interaction between KDE apps and the various task managers
(ie. kasbar and the standard taskbar). This mail is rather
long, but I couldn't see how to make it any shorter, sorry.

All the task managers are built using the taskmanager API
from kdebase/kicker/taskmanager and use this common code
for all the low level stuff with the actual task manager
app simply being responsible for the GUI. This means that
a good way to improve the communication between apps and
task managers would be to add a small client API which
gave applications a way to provide extended information
to the task manager by communicating with the shared
back end. It would then be the job of the GUI to display
this information appropriately (if it wants to). For the
discussion lets imagine this client side class is called
KTaskInfo.

There are a number of extra things that I would like to
see a task provide through KTaskInfo:

- Status text
  The KTaskInfo class could provide some slots similar to
  those in KStatusBar allowing the task manager to display
  the current status message even when the app is minimised
  without messing up the titlebar (which is already
  overloaded with the app name, filename, modified status and
  caption).

- Status Icons
  A number of apps (konq being the main one) can already
  overlay additional icons to reflect their status. This
  should be part of the API itself though as currently
  the task manager cannot distinguish between the status
  icon and the tasks normal icon.

- State Information
  Is the task busy? What progress has it made?

- Document Info
  What documents does this task contain? Which are modified?
  This would allow a task manager to present MDI style tasks
  in a way similar to the task grouping stuff rather than
  simply reflecting the state of the active document as
  happens now. It would remove the need to depend on searching
  the title text for '[modified]' to check if the modified
  indicator should be shown.

- Request Attention
  Tasks should also be able to indicate a need for attention,
  and other such changes in their state. This might be
  represented in a GUI by flashing the icon or background for
  example.
  
- Show message
  Ask the task manager to display a *passive* message. For
  example a chat program might want the task manager to pop
  up a small window by the task when someone sends you a
  message.

- Thumbnail
  To integrate nicely with kasbar it would be nice if apps
  had the option of providing a custom thumbnail. Note the
  standard taskbar could use the thumbnail stuff too as the
  code is part of taskmanager. This would allow the app to
  update the thumbnail when its state changes even if it is
  hidden (currently the thumbnail is only updated when the
  app is visible and active).

Obviously it would be good to try to integrate this code with
KNotify too, but that should be fairly easy as KNotify could
simply use KTaskInfo too. It would also be cool if (at least
a subset) of these could be made part of the NET specification
so that non-KDE apps/environments could share the same
abilities.

What do people think? Is this worth doing? Will anyone help?

Cheers

Rich.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic