scheme_source->gpollfds = NULL;
scheme_source->time_limit = 0.0;
scheme_source->runnable = FALSE;
+ g_source_set_priority ((GSource *) scheme_source, G_PRIORITY_LOW);
g_source_attach ((GSource *) scheme_source, NULL);
}
while (new != NULL)
{
GPollFD * gfd = new->data;
- g_main_context_add_poll (context, gfd, G_PRIORITY_DEFAULT);
+ /* G_PRIORITY_LOW ensures that window resizes can happen even
+ when Scheme is spinning, thus allowing the time-slice
+ window to grow with its count. */
+ g_main_context_add_poll (context, gfd, G_PRIORITY_LOW);
new = new->next;
}
}
gtk_window_set_type_hint (GTK_WINDOW (slice_window),
GDK_WINDOW_TYPE_HINT_UTILITY);
gtk_widget_show_all (slice_window);
+
+ /* If G_PRIORITY_LOW is too low, and the deprecated
+ GTK_RESIZE_IMMEDIATE is still available, this also worked:
+
+ gtk_container_set_resize_mode (GTK_CONTAINER (slice_window),
+ GTK_RESIZE_IMMEDIATE); */
+
gtk_window_parse_geometry (GTK_WINDOW (slice_window), "250x50+0-40");
}