MacSlow’s Cairo-Clock
Contents
What’s it about?
What does it currently look like?
What’s themes are available?
How to install/make custom themes?
What’s needed in order to run?
What quirks will be encountered?
FAQ or “But what if… ?”
Where do I download a version for my system from?
What can be expected in the future?
What’s it about?
It’s an analog clock displaying the system-time. “So what?”, you might say, “There are about 1.023.493 of those already out there!”. Indeed there are and probably some more, but this one is a bit different. It leverages the new visual features offered by Xorg 7.0 in combination with a compositing-manager (e.g. compiz), gtk+ 2.10.x, cairo 1.2.0 and librsvg 2.14.0 to produce a time-display with pretty-pixels.
What does it currently look like?
Have a look at these screencasts of the current release. The left one shows new features and the right one goes through all themes coming with the 0.3.3 release…
![]() (click to play back, ogg/theora, ~5.9 MBytes) |
![]() (click to play back, ogg/theora, ~5.5 MBytes) |
The clock itself can be moved around with left-mouse-button drag. It is resizeable with middle-mouse-button drag or via the preferences dialog. Every element of a clock-theme is drawn with inkscape. If you don’t like any of the shipping themes or think you can do better (which would not surprise me) just draw you own one. I’m always keen on cool designs so send me your stuff, for inclusion in future releases.
What’s themes are available?
- tango - a theme following the style and color-scheme of the guide-lines set forth by the Tango-project, made by Jannol
- ipulse - an abstract theme sent to me by Darryll “Moppsy” Truchan
- silvia - a sleek and elegant theme sent to me by Darryll “Moppsy” Truchan
- default-24 - a 24h-variation of the default-theme sent to me by Darryll “Moppsy” Truchan
- ipulse-24 - a 24h-variation of the ipulse-theme sent to me by Darryll “Moppsy” Truchan
- quartz-24 - a very special 24h-theme done by Darryll “Moppsy” Truchan
- radium-24 - a 24h-variation of the radium-theme done by Darryll “Moppsy” Truchan
- silvia-24 - a 24h-variation of the silvia-theme done by Darryll “Moppsy” Truchan
- simple-24 - a 24h-variation of the simple-theme done by Darryll “Moppsy” Truchan
- radium - another more realistic-looking theme
- zen - a clock with a very stylistic and japanese feel
- antique - the very first “3rd-party” theme sent to me by Timo Sakari Mikkolainen
- funky - my try at coming up with something completely different, not really meant to be easily readable
- default - straight elegance, my best work sofar therefore the default
- fdo - a copy of the looks of fdclock from freedesktop.org (with kind permission from Keith Packard)
- glassy - my attempt to get a different look for glass, somehow failed
- simple - as subtle as possible
- gremlin - a cute pink little critter sitting on your desktop done by Christian “ChipX86″ Hammond
- gremlin-24 - 24h variation of the afore mentioned theme
How to install/make custom themes?
In your home-directory create a directory called .cairo-clock and then create a directory themes in the former. Then your best start is to copy the whole directory /usr/share/cairo-clock/themes/default (the exact path depends on you install prefix) in ~/.cairo-clock/themes/new_theme_name. Then fire up inkscape and edit each of the 12 SVG-files to suit your taste. Be sure to not change the filenames! You can leave files empty if you want (e.g. the simple-theme has most SVG-files empty). You can save either as plain SVG or inkscape SVG. It doesn’t matter. After a restart of cairo-clock your new theme shows up in the theme-combobox-widget under “new_theme_name” or whatever you chose to christen it.
What’s needed in order to run?
Any recent distribution (Ubuntu 7.04, Fedora 7, openSUSE 10.2 etc.) satisfying the stated dependencies should be able to run cairo-clock. In particular the dependencies are:
- gtk+ 2.10.0
- cairo 1.2.0
- librsvg 2.14.0
- libglade 2.6.0
- Xorg 7.0 (with enabled Composite-extension)
- a compositing-manager (e.g. compiz)
Also helpful for running all this at acceptable speeds is:
- a graphics-card and appropriate driver able to accelerate the Render-extension (e.g. some GeForce-series card and the 1.0-8178 driver)
- for example a ATI R2×0-based graphics card driven by the EXA-enabled radeon-driver from the DRI-project (that’s said to be the fastest solution for non-GL/desktop graphics at the moment)
What quirks will be encountered?
Starting with the 0.3 release everything should behave safe and sound now. But since I know what the program can do and what it cannot do I naturally do not do strange things to it and thus do not run into any problems… gee, a lot of do’s
Please report me any funky things you encounter. Resizing might still feel sluggish, because I redraw the back- and fore-ground surface-buffers everytime. I do not want to fallback to some lower-quality rendering during resize. But your experience during resize depends greatly on you graphics-card, its driver, you machines CPU-speed and the window-size itself. For general use I regard it as fast enough. After all you won’t resize the clock every other moment. Much of the resize-performance is also directly related to the complexity of the themes SVG-files. If you have mindboggingly complex SVG-files rendering will of course be slow. But only during resizes (or inital program-startup), when the surface-buffers are updated. If you don’t have set the seconds-hand to display resizing the clock via the prefernces-dialog causes the refresh to lag upto a minute. I’ll fix that as fast as possible.
FAQ or “But what if… ?”
Q: … I run it with an older version of Xorg?
A: It will look like rubbish if it starts at all! You mainly see a black rectangle behind the clock, if it runs.
Q: … I make the clock window really big or have no Render-acceleration at all?
A: It might run like arse!
Q: The clock compiles/installs, but when I run it there is such a terrible black square behind it?
A: Be sure to fire up your compositing-manager and the black square will magically vanish.
Q: Dude, the clock rocks, but where’s the KDE/Qt-version of it?
A: Hm… *looking.around* not here. Sorry, I don’t use KDE therefore I didn’t write a KDE/Qt-version. But feel free to port it to KDE/Qt. At least Qt 4.x offers everything needed to do the same kind of graphical effects and SVG-rendering.
Q: I run an offical version of compiz and want to exclude the clock from the scale-plugin?
A: Make sure to have the option “Appear in pager” unchecked in the preferences-dialog.
Q: What’s cairo-clocks wm-class-name?
A: That would be “Cairo-clock”.
Where do I download a version for my system from?
Ubuntu:
- Ubuntu 7.10 (x86, 32bit)
- Ubuntu 7.10 (x86, 64bit)
- Ubuntu 8.04 (x86, 32bit)
- Ubuntu 8.04 (x86, 64bit)
Fedora:
- Fedora 7 (x86, 32 bit)
- Fedora 7 (x86, 64 bit)
- Fedora Core 6 (x86, 32 bit)
openSUSE:
- openSUSE 10.2 (x86, 32 bit)
- openSUSE 10.2 (x86, 64 bit)
- openSUSE Factory (x86, 32 bit)
- openSUSE Factory (x86, 64 bit)
distribution-independent:
- release 0.3.4 - source-tarball (SHA1SUM)
- release 0.3.3 - source-tarball (SHA1SUM)
- release 0.3.2 - source-tarball (SHA1SUM)
- release 0.3.1 - source-tarball (SHA1SUM)
- release 0.3 - source-tarball (SHA1SUM)
- release 0.2 - source-tarball (SHA1SUM)
- release 0.1alpha - source-tarball (SHA1SUM)
upstream:
- cairo-clock’s upstream git-repository at f.d.o
What can be expected in the future?
Here’s the current list of topics in my TODO…
- code-cleanup/rewrite
- “valgrind” it
- online-help (yelp)
- timezone selection and timezone-display
- theme-download from www.gnome-look.org
- dynamic window-icon generated from currently used theme (as suggested by Gerd “lowfi” Kohlberger)
- more translations
- closer integration with compiz, awn, screenlets and similar projects

