Archive for May, 2009

Jobs and notifications in the plasma systray.

May 4, 2009

I’ve been doing some work since 4.2 to make sure jobs and notifications in the plasma systemtray have better usability then in it’s 4.2 incarnation. Being a new feature it unsurprisingly still had some rough edges. Thanks to a lot of feedback, and discussion on the issues, the current implementation solves a lot of annoyances. Here’s a probably quite complete overview of improvements:

  • There are 2 kinds of people: those that like it that the popup with jobs and notifications automatically hide after a short while when it’s automatically shown, and those that don’t like this behavior. Apparently, most of the plasma developers are in the first group, but looking at some of the comments I got through bugreports, blogposts and what not, the second group also has quite some followers.
    Two problem with auto hiding are:
    a) people tended to get confused, thinking the job was finished when it autohides
    b) some people usually wait for a job to finish when they start one, or have enough screen real estate (multiple monitors) that the popup isn’t really in the way of anything anyway.
    Issue a) will be much improved now that we animate the icon in the systemtray that indicates there are jobs/notifications while jobs are actually running, and the fact that, at least for compositing users, the popup smoothly slides into the panel when it get’s hidden, giving a clear hint to whats going on. For issue b) however, we decided to add a config option to the systray config dialog so you can disable autohiding if you don’t like it. Autohiding has also been improved by making it more consistent: always autohide on new automatically added items, and not only on jobs.
  • When a job completes, it now becomes an entirely different widget, and the popup get’s automatically shown so you can see when a job finishes, and, if it’s a file transfer, even open the file or destination directory (in case of multiple files), directly from that message. Furthermore, these items are nicely grouped with all completed jobs. I’ve currently got a patch pending on reviewboard with which they get automatically destroyed after some time (currently 5 minutes, might still change) so they don’t get in your way, but don’t get destroyed when you’re not using your computer. So you can safely go away from your computer for a couple of hours, and when you come back, will still be able to see which jobs are finished in your absence.
  • The job progress widgets have been improved: nicer layout, shows ETA, and can even show number of files/directories/bytes with a click on the ‘more’ link.
  • The job progress widgets are grouped in one single progress bar that shows eta, and total progress of all running jobs on your system. By default this group is collapsed, but if you like all the details, you can expand it with a single mouse click (persistent between plasma restarts btw) and will see all individual jobs.
  • The icon to show/hide the popup is now not only animated when jobs are running, it also shows how much items (jobs and notifications) are there, and how much of them have been completed if some are still running. It even has a tooltip… one glance and you instantly know how much jobs are still running, even if the popup is hidden.
  • The plasma notifications also show custom images, like kopete’s contact images.
  • Probably forgetting some stuff here, and some bugs got squashed.

Of course there are supposed to be pretty pictures with an blogpost like this, so here you go (don’t get worried by the not so readable white text in front of the spinner icon, small problem with the Air colorscheme that will get adressed):

Because the tray uses extendergroups now to group running and completed jobs you can now even do insane stuff, like detaching the in-progress-jobs group to your desktop, in which case every new job will appear there on your desktop, but completed jobs will still appear in to tray’s popup (which is actually quite a nice configuration, as I found out when I tested it).

But keep those suggestions coming (well, only if they are good suggestions of course ;)), so the 4.4 systray can be even better 🙂