Мы столкнулись с этой проблемой в Ubuntu Accomplishments Viewer, и, когда нам удалось ее решить, я представлю наше решение.
Хитрость заключается в том, чтобы поместить GtkIconView в GtkScrolledWindow и установить его hscrollbar_policy в значение "Always". Затем должен использоваться сигнал проверки изменения размера, чтобы реагировать, когда пользователь изменяет размер окна (обратите внимание, что он должен быть проверен, изменился ли размер, поскольку сигнал испускается также, когда, например, окно перемещается). Когда размер изменяется, модель, используемую GtkIconView, должна быть очищена и воссоздана, так как это запускает GtkIconView, правильно перераспределяя вновь полученное пространство (или сокращается). Кроме того, в результате горизонтальная полоса прокрутки никогда не будет видна, так как GtkIconView использует столько же места, сколько GtkScrolledWindow.