Подключение к сигналу insert-text
GtkTextBuffer
. В вашем обратном вызове получите длину текста. Если он длиннее лимита, возьмите двух начальных итеров и переместите одного из них на количество символов, которое вы хотите удалить:
GtkTextIter range_start, range_end;
gtk_text_buffer_get_start_iter(buffer, &range_start);
range_end = range_start;
gtk_text_iter_forward_chars(&range_end, num_chars);
gtk_text_buffer_delete(buffer, &range_start, &range_end);
Тем не менее, вам придется поместить LOT текста в GtkTextBuffer
, чтобы завершить работу приложения.