Ну почему же никто не программирует? программируют, достаточно взглянуть на убунту.
Другое дело в россии это делают так, ни шатко не валко. :-)
Если хотите освоить ГТК приобретите пару книг:
Андрей Костельцов GTK+ Разработка переносимых интерфесов
Артур Гриффитс Программирование GNOME/GTK+Ага на первый ответили, ну повторюсь.
1)g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (click),&n);
ну когда в цикле делаешь коннект со ссылкой на одну и туже переменную вряд ли стоит ожидать что поведение функций будет различным попробуй так:
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (click),i);
2)можно конечно и так как ты написал. но можно и так:
gtk_button_set_image(GTK_BUTTON(widget), image_2);
тут есть одна тонкость если захочешь использовать image_1, то он окажеться уже удаленным :)
что бы этого не произошло сделай предварительно:
gtk_widget_ref(image_1);
3) что бы окно не меняло размер надо вызвать функцию ....
gtk_window_set_resizable(GTK_WINDOW(window),FALSE);
правильно :)
а вот чтобы оно не уменьшалось надо задать необходимый размер ВЛОЖЕННОГО в окно
виджета:
gtk_widget_set_size_request(widget_in_window, 360, 360);
ну а за ним и gtk_window_set_resizable вызвать.