/* * Copyright 2016 (c) Anna Schumaker. */ #include #include #include static gboolean __on_idle(gpointer data) { GtkProgressBar *progress = GTK_PROGRESS_BAR(data); if (idle_run_task()) { gtk_progress_bar_set_fraction(progress, idle_progress()); return gtk_widget_is_visible(gui_builder_widget("o_window")); } else { gtk_widget_hide(GTK_WIDGET(progress)); return G_SOURCE_REMOVE; } } void gui_idle_enable() { GtkWidget *progress = gui_builder_widget("o_idle_progress"); gtk_widget_show(progress); g_idle_add(__on_idle, progress); }