Создание виджетов с использованием Cairo и GTK+ 2.8
раз http://www.sib.opennet.ru/gtkcario/gtkwcario.html
два http://www.sib.opennet.ru/gtkcario/gtkcairo2.html
Зачем не знаю, но если понадобится смотреть тут.
с другой стороны интересно, как они анимированный гиф делали.

Анимационная картинка тикающих часов сделана в формате GIF с помощью программы, называемой byzanz. Я просто записал 60 секунд работы часов. Чтобы byzanz-record могла найти координаты окна, мне пришлось добавить следующий код в файл main.c после функции gtk_widget_show_all():
{
GdkRectangle rect;
gdk_window_get_frame_extents (window->window, &rect);
g_print ("-x %i -y %i -w %i -h %in",
rect.x, rect.y, rect.width, rect.height);
}
Эти строчки печатают параметры, которые можно вставить в другую командную строку:
$ ./byzanz-record -d 60 $GEOMETRY -l clock.gif
раз http://www.sib.opennet.ru/gtkcario/gtkwcario.html
два http://www.sib.opennet.ru/gtkcario/gtkcairo2.html
Зачем не знаю, но если понадобится смотреть тут.
с другой стороны интересно, как они анимированный гиф делали.

Анимационная картинка тикающих часов сделана в формате GIF с помощью программы, называемой byzanz. Я просто записал 60 секунд работы часов. Чтобы byzanz-record могла найти координаты окна, мне пришлось добавить следующий код в файл main.c после функции gtk_widget_show_all():
{
GdkRectangle rect;
gdk_window_get_frame_extents (window->window, &rect);
g_print ("-x %i -y %i -w %i -h %in",
rect.x, rect.y, rect.width, rect.height);
}
Эти строчки печатают параметры, которые можно вставить в другую командную строку:
$ ./byzanz-record -d 60 $GEOMETRY -l clock.gif