Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'd like to have a message pop up in response to various system events, mostly in order to be able to set reminders for myself from a shell session. There are a few ways to do this; zenity seems to be the most polished. However, I've found at least two problems with zenity:

  1. Messages do not appear on all workspaces. I tried using the gtk option --screen to control this, but they just appear on the current workspace regardless. So if I am switching workspaces as the message comes up, I will not see it.

  2. Messages do not appear above all other windows. Specifically, if I am using guake, a new zenity message will appear below the guake window and I won't be able to see it.

I tried a few other apps a while back. Both gmessage and xmessage exhibited problem 1; gmessage also exhibited problem 2. I did find that kalarm, which can be scripted from the command line, worked acceptably, but I'm trying to avoid running the KDE stack if possible, and would prefer something lightweight with zenity's versatility.

It seems that it might be possible to arrange for these problems to be resolved by setting the WM_CLASS, but I'm in a bit over my head there. It might also be possible to make modifications to the window after it launches with a script, but again I'm not sure where to look for resources on that.


As suggested by @geirha, I've looked into using notify-send (via the package libnotify-bin, which appears to be a client to notify-osd). There are numerous problems with this framework, for which I've filed a few bug reports. I'm hoping that devilspie can provide workarounds for some or all of these issues, or that there is another notification system which works more reliably.

share|improve this question

Maybe you want notify-send?

Otherwise, there's devilspie, which allows you to say things like "all windows with this name (or of this class or with this role), shall be visible on all workspaces".

share|improve this answer
Is there a way to get notifications sent by notify-send to be displayed until acknowledged? According to the spec, setting the urgency to critical should do this, but notify-osd doesn't seem to respect these rules. When I send notify-send -u critical Testing "This is a test of the emergency broadcast system", it is displayed for 10 seconds and then disappears. – intuited Mar 31 '11 at 1:22
Ahh, okay.. it looks like setting the --expire-time to zero will do this. The first time I tried that I thought it was actually displaying for 0 seconds, because I didn't see it. It was hidden under guake. Notifications with expiry times are displayed above guake (using a completely different skin). – intuited Mar 31 '11 at 1:27

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.