Теперь по поводу событий среды X. Эти события относятся к управлению окнами и (в основном) к событиям мыши. Кроме того, некоторые встроенные виджеты X также управляются этими событиями. Например, простые кнопки... Правда на них посмотришь... Мда, некрасивые... Вообще сейчас мало где можно встроенные виджеты X увидеть, ну например запустите xvidtune. Эти события бывают следующих типов:
Для этих событий используется несколько иной синтаксис присоединения обработчика событий. Например, следующий вызов gtk_signal_connect:
gtk_signal_connect(GTK_OBJECT(object) , "delete_event", GTK_SIGNAL_FUNC (callback_func), NULL);
Применим к такому обработчику:
void callback_func( GtkWidget *widget, GdkEvent *event, gpointer callback_data );
Приведение типа можно даже не приводить при желании, и соответствующих настройках компилятора. Все же лучше стоит, а то даже в ординарной программе будут кучами сыпаться предупреждения компилятора. Здесь event - указатель на структуру-объединение GDK, содержащее данные этого события. Может быть одно из следующего:
Я думаю. некоторое соответствие названиям событий X все же проглядывается :)