for(indx=0; indx < 4; indx++)
  gtk_clist_append((GtkCList *) data, dist[indx]);
 return;
}
/* Обработчик нажатия кнопки Очистить */
void button_clear_clicked(gpointer data) {
 /* Очищаем список */
 gtk_clist_clear((GtkCList *)data);
 return;
}
/* Функция прячет/отображает заголовки */
void button_hide_show_clicked(gpointer data) {
 /* 0 = сейчас видим заголовки */
 static short int flag = 0;
 if (flag == 0) {
  /* прячем заголовки */
  gtk_clist_column_titles_hide((GtkCList *)data);
  flag++;
 } else {
  /* Отображаем заголовки */
  gtk_clist_column_titles_show((GtkCList *)data);
 }
 return;
}
/* Данная функция будет вызвана, если пользователь выберет
 элемент */
void selection_made(GtkWidget *clist, gint row,
 gint column, GdkEventButton *event, gpointer data) {
 gchar *text;
 /* Получаем выбранный текст (элемент списка) */
 gtk_clist_get_text(GTK_CLIST(clist), row, column, &text);
 /* Просто выводим информацию на консоль */
 g_print(
  'Вы выбрали ряд %d. Колонка %d, текст в ячейке %s
',
  row, column, text);
 return;
}
int main(int argc, gchar *argv[]) {
 GtkWidget *window;
 GtkWidget *vbox, *hbox;
 GtkWidget *scrolled_window, *clist;
 GtkWidget *button_add, *button_clear, *button_hide_show;
 gchar *titles[2] = { 'Номер', 'Дистрибутив' };
 setlocale(LC_ALL, 'ru_RU.KOI8-R');
 // Нужно вызвать ДО gtk_init()
 gtk_init(&argc, &argv);
 window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
 gtk_widget_set_usize(GTK_WIDGET(window), 300, 150);
 gtk_window_set_title(GTK_WINDOW(window), 'Список');
 gtk_signal_connect(GTK_OBJECT(window), 'destroy',
  GTK_SIGNAL_FUNC(gtk_main_quit), NULL);
 vbox=gtk_vbox_new(FALSE, 5);
 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
 gtk_container_add(GTK_CONTAINER(window), vbox);
 gtk_widget_show(vbox);
 /* Создаем окно с полосками прокрутки и упаковываем в
  него список */
 scrolled_window = gtk_scrolled_window_new(NULL, NULL);
 gtk_scrolled_window_set_policy(
  GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC,
  GTK_POLIСY_ALWAYS);
 gtk_box_pack_start(GTK_BOX(vbox), scrolled_window,
  TRUE, TRUE, 0);
 gtk_widget_show(scrolled_window);
 /* Создаем список с двумя колонками */
 clist = gtk_clist_new_with_titles(2, titles);
 /* Обработка выделения */
 gtk_signal_connect(GTK_OBJECT(clist), 'select_row',
  GTK_SIGNAL_FUNC(selection_made), NULL);
 /* Устанавливаем тень для рамки списка */
 gtk_clist_set_shadow_type(GTK_CLIST(clist),
  GTK_SHADOW_OUT);
 /* Устанавливаем ширину для колонки. Колонки нумеруются
  с 0 */
 gtk_clist_set_column_width(GTK_CLIST(clist), 0, 150);
 /* Помещаем список в контейнер */
 gtk_container_add(GTK_CONTAINER(scrolled_window), clist);
 gtk_widget_show(clist);
 /* Создаем и размещаем кнопки Добавить список,
  Очистить, Спрятать/отобразить заголовок */
 hbox = gtk_hbox_new(FALSE, 0);
 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
 gtk_widget_show(hbox);
