Archive for the ‘cairo-clock’ Category

cairo-clock 0.3.4 in PPA, this and that

Thursday, February 28th, 2008

I put the latest version of cairo-clock in my PPA. One for gutsy (Ubuntu 7.10) and one for hardy (upcoming Ubuntu 8.04). I should now really update the launchpad-page for cairo-clock with this.

Last weekend I went to FOSDEM’08. This meeting never fails to impress. I attended talks about clutter, pigment, nouveau, Gallium3D, xorg-driver status-report, debian-packaging and met up with GNOME- and xorg-folks mostly, but also some people from KDE-crowd. So what conclusion did I draw from this weekend in Bruxelles? The desktop-graphics landscape for the free desktop is on the right track and we’ll have a lot of fun in the near future.

I’ll be at CeBIT’08 in Hannover, Germany next week maning the GNOME-booth the whole week with Sven “herzi” Herzberg.

I was invited to the gtk+ hackfest in Berlin by the GNOME-foundation. First of all huge thanks for this to the people on the board or committee! I feel very honored. Also big thanks to Canonical for letting me attend it on company time!

more cairo-clock 0.3.3 binaries for…

Monday, August 20th, 2007

Ubuntu 7.04 (x86, 32 bit)
Fedora 7 (x86, 32 bit)
Fedora 7 (x86, 64 bit)
Fedora Core 6 with Extras (x86, 32 bit)
openSUSE 10.2 (x86, 32 bit)
openSUSE 10.2 (x86, 64 bit)
openSUSE Factory (x86, 32 bit)
openSUSE Factory (x86, 64 bit)

Please give them a try and report your experience to me. Thanks in advance!

I used the buildservice from openSUSE for the first time to provide these packages without needing to ask any external contributors to do the tedious task of building and packaging my code. Hats off to the openSUSE hackers for putting this service together. This is an awesome tool to have! But I failed to force buildservice to create RPMs with the distribution name-tag I wanted (e.g. .fc6.rpm or .fc7.rpm). If you are interested in the buildservice-page of the cairo-clock package go here.

Another nice thing to notice is this software search. Nearly within a minute after the builds of cairo-clock were done the newly created packages were discoverable and downloadable via this very simple web-frontend.

[wishful-thinking]
Now if launchpad and buildservice could be combined… what a magnificent software-deployment system we would all have at our disposal?! I think launchpad is missing something like buildservice and buildservice is missing something like launchpad. Furthermore it would be nice if launchpad would not be so bzr-centric, but would also allow git to be directly supported.
[/wishful-thinking]

cairo-clock 0.3.3, the “GNOME anniversary”-release

Monday, August 20th, 2007

In order to congratulate the GNOME-project to its first decade of existence, I dedicate the cairo-clock 0.3.3 release to it. I present you cairo-clock 0.3.3, the “GNOME anniversary”-release!

I finally moved cairo-clock to a proper git-repository at f.d.o. The project-homepage of cairo-clock has not yet been updated. A page on launchpad has been started. I still need to figure out how I can hook up my git-repository there, without making a full copy in a bzr-repository.

Added features:

  • localized for da, de, en_GB, es, fi, fr, it, nl, pl, pt_PT, ru, sl, sv, tr, zh_CN and zh_TW
  • using GOption, GList and GString now
  • checking for a composited desktop-environment, thus depending on gtk+ >= 2.10.0
  • brand new gremlin/gremlin-24 theme included (courtesy of Christian “ChipX86″ Hammond)
  • smooth hand animations
  • no more flashing of backgrond-clear-color upon startup

Bugfixes:

  • close button in about-dialog works now/again
  • work-around for “white rectangle”-bug in Xorg (#11109)

Packages:

Prebuilt packages for other architectures and distributions will follow soon I hope. I’ll keep you updated.

The obligatory screencast…


(click to play back, ogg/theora, ~5.9 MBytes)

help translate cairo-clock 0.3.3

Friday, August 17th, 2007

I am in the middle of polishing cairo-clock a bit (bug-fixing, smooth animations, new themes, public repository, localization etc.) and need some help with translation. Here’s the german po file. What languages are needed? Well except for german and english there is nothing else yet. Any contributions should be send to macslow at gmail dot com. Please also state your full name and email for the credits!

Thanks in advance for your consideration!

EDIT: Already received translations for danish (da), finnish (fi), french (fr), italian (it), dutch (nl), polish (pl), portuguese (pt_PT), spanish (es), russian (ru), slovenian (sl), swedish (sv), turkish (tr), simplified chinese (zh_CN) and traditional chinese (zh_TW). Holy crap… thanks sofar everybody!

Sneak peak…

cairo-clock-smooth-1
(click to play back, ogg/theora, ~5.9 MBytes)

a major first for me

Wednesday, December 13th, 2006

cairo-clock is now officially included in the repositories for Ubuntu 6.10 (Edgy Eft) and upcoming Ubuntu 7.04 (Feisty Fawn). This is quite something for me, sending chills down my spine!

There is more to come on several fronts. You just wait, see and be delighted *g*

So far I only know of Ubuntu now offering cairo-clock in its repositories. I have not yet heard about other distributions including it in their repositories. There are more than enough packaging contributions from the community for the different flavours *hint.hint*.

new cairo-clock RPMs for Fedora Core 6

Thursday, November 30th, 2006

Thanks to Troy Folger there are now binary (x86/64) and source RPMs for cairo-clock 0.3.2. Grab them here.

UDS 2006 recap, Google, nVIDIA etc.

Wednesday, November 15th, 2006

I was sponsored to attend the UDS 2006. Holy s**t! What a week! What a intense time! What a cool community-bunch! What an assorted amount of great opportunities! First of all huge thanks to Mark Shuttleworth, Claire Newman, Daniel Holbach and Jono Bacon for each playing a part in getting me over there! I’m still stunned by this very fact. The chance to meet and talk with people like Matt Zimmerman, Rodrigo Parra Novo, Brandon Holtsclaw, Scott James Remnant and other core people from the Ubuntu-community and Canonical for the first time was terrific. It was nice to get a first hand experience of how a distribution is put together and developed step by step at the planning level. There’s really a ton of hard work involved in this process. Another nice thing to experience was the easy getting along of e.g. upstream Gnome and KDE people. Nobody questioned the other ones preferences. This is a good example to follow!

The UDS 2006 was hosted by Google (building 44, former SGI building, Mountain View, California). Google’s geek-herder par excellence, Leslie Hawthorn, made sure everything ran smoothly on the Google-side of things. She’s also the one running the “Summer Of Code”-program at Google. Thus she has some wicked geek-herding experience. Google is a very nice place to work at. Totally awesome food hands down! Non-compromise infrastructure and conferencing equipment all over the place (VoIP, video-converencing, whiteboards, projectors… you name it). The whole surroundings there felt very inspiring. Another nice fact to boot was that, besides all UDS-participants, most of the google employees run Linux exclusively on their workstations (everybody there seems to have at least two 24″ flat-panels connected to their machines) too. That’s quite something to experience for somebody like me coming from an environment where I’m the only OpenSource/Linux person in a sea of Windows-users. The only drawback there was the non-reliable wifi-hotspot. Having roughly 100 folks on one wlan-router isn’t a good idea.

Some obligatory name-dropping… I met again with Sebastien Bacher, Raphael Slinckx, Mike Hearn, Christian Schaller, Wim Taymans, Alex Graveley, Christian Kellner, Murray Cumming, Jonathan Ridell. The cozy mood of gathering around a campfire with “old-time” friends was also in effect again. First time meeting with Tim Müller, David Schleef, Jorge Castro, Melissa Draper, Evan D’Andrea, Joey Stanford, Dennis Kasprzyk, Jason Smith, Colin Watson, Ryan Lortie, Lennart Poettering and Simon McVittie and lot of other people I whose names I cannot fully remember.

A big thanks to everybody for the very funky week I had in Silicon Valley!

I took the opportunity to head to San Jose (just 15 miles away from Mountain View) during the week of the summit, because nVIDIA held the GeForceLAN 3 there. While the whole LAN-gaming is not my thing the scheduled world-wide launch of the G80 (now known as GeForce 8800 GTX or GTS) interested me far more. It was great to attend such a launch-event. I won’t list all the chips features (you can read about them elsewhere), but let me tell you… it’s a nice pixel- and vertex-pushing beast! BTW, all but one of their four tech-demos (cascade, frogger, smoke in a box, virtual Adrianne Curry) they showed on stage were running on OpenGL. Only cascade was not using OpenGL. So much for DirectX10 *g*. Aside from the launch-event itself I was able to chat a bit with the very few technical-staffers from nVIDIA and even the man himself… Jen-Sun Huang. I tried my best to do a fair bit of guerilla-marketing for OpenSource, Linux desktop-graphics and Ubuntu by running around the event floor chatting with people and answering question of people, who recognized the Ubuntu-shirt I was wearing. But this was not planned and only happened by chance. Nevertheless it had left a paramount positive impression with showing them all the “big guns” (gnome, beagle, compiz/beryl, lowfat, deskbar, my other desktop-graphics hacks etc.) I had installed on the laptop I carried around with me. You certainly get them with the eye-candy bling *g*

nVIDIA had two of their Linux-engineers sent over to the summit on thursday. Thus I was able to chat a bit with Andy Ritger and James Jones during the X11-related sessions. Nice things coming our way in terms of OpenGL 3.0 soon. Apart from that the new geometry-shaders and the overall unified shader-architecture of the new G80-chip is exposed in the Linux-drivers right from the start. It’s actually totally transparent to application developers using GLSL. Just in case you were wondering. Oh, btw… the nVIDIA folks know about the black-windows issue when running a composited desktop and your card is running out of texture-memory. They are working on it. Furthermore I hinted them towards us OpenSource folks wanting to see nVIDIA’s PureVideo HD chip-features exposed in the Linux-drivers too. They have plans for that, but not in the immediate future. I tried to hook them up with the gstreamer people.

Here is the bunch of photos I was able to make during the week.

This just came in…




Attilio Drei compiled a stock 0.3.2 version of cairo-clock under MacOS X with the new gtk+-port to quartz. Except for some themes and the window-titlebars the bling from Linux works on MacOS X too. A good indication that the work Imendio did sofar on the gtk-quartz project is solid. Thumbs up! I wonder if the shaped input-masks work too.

community-appreciation and question

Monday, September 18th, 2006

First of all I’m back in “business” again thanks to some very generous and helpful people from the community. I had some nasty problems with my old (and warranty-less) graphics-card. Within a few days I got a shiny new eVGA GeForce 7900GT sent to me by Brad Griffith, and donations from several other people from the community even enabled me to replace my dying CRT with a Samsung SyncMaster 215TW. The new hardware is terrific (proprietary driver or not *g*)! Super huge thanks to everybody for their awesome support! The next release of cairo-clock 0.4.0 will therefore become “the community-appreciation release” *g*

Speaking of cairo-clock 0.4.0 I want to hear everybody’s opinion on a certain thing I’ve on my mind for some days now. Getting to know XRender better and and its support for convolution-filters (read: blurring and smoothing stuff) I encountered the current lack of any hardware support for this compute-intense operation. Convolution-filters are not yet hooked up into cairo itself and according to core Xorg-hackers they are not hardware-accelerated anywhere in pure FOSS-drivers (not even with proprietary drivers). So I want to pull in OpenGL as an additional dependency for cairo-clock - so it becomes a cairo/OpenGL-clock - to be able to do the blurring and a bunch of other nice things in a hardware-acclerated way (using fragment-programs).

Waiting for XRender’s convolution-filters to be hardware-accelerated and hooked up into cairo might be still some months off I assume. I actually agreed to help out with getting them into cairo, but for the moment I rather want to get cairo-clock 0.4.0 done and out of my head. So what do people using cairo-clock think? Could you live with cairo-clock also depending on OpenGL for even better and smoother graphics? I’m not talking about fully floating 3D-clock-objects on your desktop… yet. It will still be strict 2D… for the most part, but not all *g*

I guess I’m too dumb…

Wednesday, August 23rd, 2006

… to figure out how to use Xrender. People writing Xrender itself obviously know how it works and how to use its API. Also the people behind cairo, glitz, compiz, Qt & Co don’t seem to have a problem with just reading a spec (that’s all which is available documentation-wise) and start implementing their drawing functions based on Xrender. I’m certainly not that smart. I’m not being ironic here. It’s just that I’m currently deeply frustrated! For the last two days I tried to figure out (or better: guess) how to make use of Xrender API-calls (mainly grep’ing around in /usr/include/X11/extensions/Xrender.h). It’s such a drag, when you mainly want to focus on writing your application. But I could not even output a simple blue triangle in a window using XRender-calls… let alone start using Xrender’s filter-functionality to blur a surface-buffer from cairo. I’m interested in this for adding blurred shadows in cairo-clock and the cairo-API - at the moment - still lacks direct support for convolution-filter operations. On the other hand doing the same with OpenGL/GLSL is a easy. I could say… “Well, screw any box that does not have OpenGL/GLSL.”, but such an attitude is complete arse and would severely limit the possible user-base.

I’ve googled sites up and down, searched the mailing-list archives at lists.freedesktop.org, tried to leverage any code-snippets I could extract from found articles and even did my best to get a grip of things by looking at code of gnome-window-decorator (from compiz) and cairo (xlib-backend). But all those steps got me further and further away from the actual problem at hand… writing code for the new cairo-clock. This quickly lead to me being totally demotivated to write any line of code at all. What makes it even worse is the fact that my spare-time is burnt by this with no results at the end.

Sorry, if this sounds like ranting or bashing. It’s not intended as such. It’s just sad that development-documentation in 2006 is still such a sore spot with certain paramount parts of the OpenSource graphics-stack. A “nasty” side-effect is that I’m extremely tempted to switch to Qt. Documentation- and example-code-wise this Qt is pure heaven and as long as I’m sticking to writing OpenSource-code the licence is ok too.

I feel very uneasy atm :/

EDIT: In case anybody wonders what I’m trying… he’s my simple test to get anything drawn using Xrender.

Everybody who runs AIGLX…

Thursday, July 13th, 2006

… and has rendering-issues with cairo-clock, please try out this (admittedly) unusual work-around now:

cairo-clock -w 127 -g 127 -s &

If you are one of the poor souls, who unsuccessfully tried cairo-clock on your AIGLX-driven system in the past, please report your experience with that hint as quickly as possible. Either comment here or email me. Thanks in advance!

Some mindful norwegian called Henning Kulander brought this interesting work-around to my attention in the comments here and later described his tests in an email. Apparently on AIGLX-driven systems cairo-clock isn’t refreshed for some unknown reason, if the set width and height of the window are not power-of-two values. Play around with that a little. Right-click in the clock and bring up the preferences-dialog. Activate the second-hand display and try different values (either power-of-two or non-power-of-two) for the window-size.