AFAIK ваш лучший вариант - это постобработка текста после того, как он был вставлен - у события InsertText в TextBuffer есть аргументы, которые сообщают вам позицию и размер вставленного текста, так что вы можете удалить, обработать и повторно вставить его. Вы, конечно, хотели бы избежать перехвата вставок в 1 символ (нажатия клавиш) и собственных повторных вставок, но это тривиально.
Единственный другой вариант, о котором я могу подумать, - это заново реализовать поддержку вставки, перехватывая команду вставки клавиши, средний щелчок и т. Д., Но учтите, что клавиши команд могут быть переопределены в пользовательских файлах gtkrc, поэтому реализация это правильно может стать волосатым.
Возможно, стоит спросить об этом на канале # gtk + IRC на irc.gnome.org.