OSD desktop-clock that does not get in your way?

is there a clock application,

  • that can be placed on your screen like a widget
  • staying always on top
  • but automatically fades away on mouseover
  • enabling you to click through it on items below,

(behaves pretty much like the Ubuntu notifications in that sense).

I am aware, that there are screenlets and gdesklets widget apps, but those are buggy, look outdated, and do not comply with the criteria listed above.

What I have in mind is a clock that is large, (digital), always visible (on top of all other windows), and does not disrupt your work (e.g. you can still click that scroll bar or button if it is just below the clock, since the clock fades away on hovering).

A tool called "OSD-Lyrics" that show lyrics for songs and behaves exactly the way I described above.

So it should be possible (and even easier) to do the same with a clock.


Solution 1:

Seems there aren't currently any application fulfilling all your expectations. Hope you got a watch for Christmas ;-) Here are the actual possibilities I see :

  • Screenlet option : with compiz and the widget layer you can make widgets nicely fade with the F9 key. Of course it doesn't fade on mouseover and as for the outdated look it's subjective but I think you won't be happy with that solution.
    Personally, I do not autohide my top panel because I want to have time, cpu and ram usage displayed and in that case I would have to press a key.
  • Hacking NotifyOSD : as you pointed out, the NotifyOSD does almost all you want.
    I made a small Python script implementing this idea : https://gist.github.com/760615.
    Download it and launch python NotifyOSD_clock.py in a terminal.
    OSD clock
    That clock nicely fades away on mouseover of course.
    OSD clock on mouseover
    However I recommend not using this script as is :

    • it will flood your $HOME/.cache/notify-osd.log file
    • it will block other low priority system notifications
    • and you can't move the clock

    If you like that user interface, you would have to reuse the notify-osd source code to make a standalone application (not so easy for the usual Ubuntu end-user, he !).

  • DIY (almost) from scratch : SO recommands libXosd if you want to write your own script.
  • Propose your idea for a future Ubuntu release : http://brainstorm.ubuntu.com/
  • Saving vertical space without getting rid of the top panel : just by moving the window buttons in the top panel (cf. point 4) because it allows you to keep the usual clock applet visible.

Personally I wouldn't be happy with that kind of big transparent clock being always over my windows. I'm neither satisfied with the autohide option which hide everything and the top panel already uses too much vertical space. Maybe should we have a mix of autohide and autofadeaway in that panel.

Anyway, having all those vertically-stacked panels, toolbars and tabs isn't the most clever way to fully use our ever-wider screens (nope, I don't spend all my time watching 16:9 movies). I am pleased to see that we might get some improvements with the future Unity interface in Ubuntu 11.04 :-)

Solution 2:

I wrote this bash line just to try, but it doesn't behave in the right way and has the disadvantage to clog the notification system queue. It's a start, perhaps?

while true; do notify-send `date +%H:%M` -t 60000; sleep 60; done;

you need to install notify-send

Solution 3:

Found it! it's not the most elegant but it's

  • lightweight
  • configurable
  • in the repos!

search synaptic for osd_clock

:)