есть такой вот тестовый код
#include <gtk/gtk.h>
int
main (int argc, char *argv[])
{
GtkWidget *w, *b, *l;
const gchar *txt = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut "
"labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip "
"ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat "
"nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id "
"est laborum.";
gtk_init (&argc, &argv);
l = gtk_label_new (txt);
gtk_label_set_line_wrap (GTK_LABEL (l), TRUE);
b = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_box_pack_start (GTK_BOX (b), l, FALSE, TRUE, 0);
gtk_widget_show_all (b);
w = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (w), 600, -1);
g_signal_connect (G_OBJECT (w), "delete-event", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_add (GTK_CONTAINER (w), b);
gtk_widget_set_size_request (w, 600, -1);
/*gtk_window_set_resizable (GTK_WINDOW (w), FALSE);*/
gtk_widget_show (w);
gtk_main ();
return 0;
}
вроде, работает как ожидается. ширина окна - 600, текст переносится, все классно. стоит раскомментарить gtk_window_set_resizable - gtk на заданную ширину кладет с прибором, и, судя по всему, пытается использовать ширину экрана. как с этим бороться?
p.s. если задавать какой-то короткий текст, то все работает нормально, проблема только при переносе длинного текста