GdkColor в GdkRGBA

в процессе портирования sylpheed на gtk3 понадобилось преобразовывать представление цветов из GdkColor в GdkRGBA. в результате написал небольшую тулзинку. может, кому и пригодится

    1 /*
    2  * Output GdkRGBA representation of specified color
    3  *
    4  * compile: gcc -pipe -O2 -o rgba $(pkg-config --cflags --libs gdk-3.0) rgba.c
    5  */
    6 
    7 #include <gdk/gdk.h>
    8 
    9 int
   10 main (int argc, char *argv[])
   11 {
   12   GdkRGBA color;
   13 
   14   if (argc < 2)
   15     {
   16       fprintf (stderr, "Usage: rgba <colorspec>\n");
   17       return 1;
   18     }
   19 
   20   if (!gdk_rgba_parse (&color, argv[1]))
   21     {
   22       fprintf (stderr, "Unable to parse color %s\n", argv[1]);
   23       return 1;
   24     }
   25 
   26   printf ("{%.3f, %.3f, %.3f, %.3f}\n", color.red, color.green, color.blue, color.alpha);
   27 
   28   return 0;
   29 }

Очередные странности gtk3

Понадобилось вызывать всплывающее меню. По “горячей клавише”. Из любого места. Есть для этого такая маленькая приятная либа – keybinder. И как отдельная либа хороша, и в свой код интегрируется легко, т.к. в либе всего один файл с кодом. В общем – прелесть. Вот только меню из обработчиков хоткеев всплывать не желает, хоть ты тресни. Любое другое действие – пожалуйста. Меню – хрен тебе на воротник, а не меню. Причем, тот же самый код для вызова меню прекрасно работает, если его дергать через механизмы GApplication. Такая вот омерзительность.

Читать далее «Очередные странности gtk3»