static gboolean cb_main_window_state_changed (GtkWidget *window, GdkEventWindowState *event, gpointer data) { GsmApplication *app = (GsmApplication *) data; auto current_page = app->settings->get_string (GSM_SETTING_CURRENT_TAB); if (event->new_window_state & GDK_WINDOW_STATE_BELOW || event->new_window_state & GDK_WINDOW_STATE_ICONIFIED || event->new_window_state & GDK_WINDOW_STATE_WITHDRAWN) { if (current_page == "processes") { proctable_freeze (app); } else if (current_page == "resources") { load_graph_stop (app->cpu_graph); load_graph_stop (app->mem_graph); load_graph_stop (app->net_graph); } else if (current_page == "disks") { disks_freeze (app); } } else { if (current_page == "processes") { proctable_update (app); proctable_thaw (app); } else if (current_page == "resources") { load_graph_start (app->cpu_graph); load_graph_start (app->mem_graph); load_graph_start (app->net_graph); } else if (current_page == "disks") { disks_update (app); disks_thaw (app); } } return FALSE; }
void cb_change_current_page (GtkNotebook *nb, gint num, gpointer data) { ProcData * const procdata = static_cast<ProcData*>(data); procdata->config.current_tab = num; if (num == PROCMAN_TAB_PROCESSES) { cb_timeout (procdata); if (!procdata->timeout) procdata->timeout = g_timeout_add ( procdata->config.update_interval, cb_timeout, procdata); update_sensitivity(procdata); } else { if (procdata->timeout) { g_source_remove (procdata->timeout); procdata->timeout = 0; } update_sensitivity(procdata); } if (num == PROCMAN_TAB_RESOURCES) { load_graph_start (procdata->cpu_graph); load_graph_start (procdata->mem_graph); load_graph_start (procdata->net_graph); } else { load_graph_stop (procdata->cpu_graph); load_graph_stop (procdata->mem_graph); load_graph_stop (procdata->net_graph); } if (num == PROCMAN_TAB_DISKS) { cb_update_disks (procdata); if(!procdata->disk_timeout) { procdata->disk_timeout = g_timeout_add (procdata->config.disks_update_interval, cb_update_disks, procdata); } } else { if(procdata->disk_timeout) { g_source_remove (procdata->disk_timeout); procdata->disk_timeout = 0; } } }
void update_page_activities (GsmApplication *app) { const char *current_page = gtk_stack_get_visible_child_name (app->stack); if (strcmp (current_page, "processes") == 0) { GAction *search_action = g_action_map_lookup_action (G_ACTION_MAP (app->main_window), "search"); proctable_update (app); proctable_thaw (app); gtk_widget_show (GTK_WIDGET (app->end_process_button)); gtk_widget_show (GTK_WIDGET (app->search_button)); gtk_widget_show (GTK_WIDGET (app->process_menu_button)); update_sensitivity (app); if (g_variant_get_boolean (g_action_get_state (search_action))) gtk_widget_grab_focus (GTK_WIDGET (app->search_entry)); else gtk_widget_grab_focus (GTK_WIDGET (app->tree)); } else { proctable_freeze (app); gtk_widget_hide (GTK_WIDGET (app->end_process_button)); gtk_widget_hide (GTK_WIDGET (app->search_button)); gtk_widget_hide (GTK_WIDGET (app->process_menu_button)); update_sensitivity (app); } if (strcmp (current_page, "resources") == 0) { load_graph_start (app->cpu_graph); load_graph_start (app->mem_graph); load_graph_start (app->net_graph); } else { load_graph_stop (app->cpu_graph); load_graph_stop (app->mem_graph); load_graph_stop (app->net_graph); } if (strcmp (current_page, "disks") == 0) { disks_update (app); disks_thaw (app); } else { disks_freeze (app); } }
static void multiload_destroy_cb(GtkWidget *widget, gpointer data) { gint i; MultiloadApplet *ma = data; for (i = 0; i < NGRAPHS; i++) { load_graph_stop(ma->graphs[i]); if (ma->graphs[i]->colors) { g_free (ma->graphs[i]->colors); ma->graphs[i]->colors = NULL; } gtk_widget_destroy(ma->graphs[i]->main_widget); load_graph_unalloc(ma->graphs[i]); g_free(ma->graphs[i]); } if (ma->about_dialog) gtk_widget_destroy (ma->about_dialog); if (ma->prop_dialog) gtk_widget_destroy (ma->prop_dialog); gtk_widget_destroy(GTK_WIDGET(ma->applet)); g_free (ma); return; }
LoadGraph::~LoadGraph() { load_graph_stop(this); if (this->timer_index) g_source_remove(this->timer_index); if (this->background) g_object_unref (this->background); }
static void load_graph_destroy (GtkWidget *widget, gpointer data_ptr) { LoadGraph *g = (LoadGraph *) data_ptr; load_graph_stop (g); netspeed_delete(g->netspeed_in); netspeed_delete(g->netspeed_out); gtk_widget_destroy(widget); }
/* remove the old graphs and rebuild them */ void multiload_applet_refresh(MultiloadApplet *ma) { gint i; MatePanelAppletOrient orientation; /* stop and free the old graphs */ for (i = 0; i < NGRAPHS; i++) { if (!ma->graphs[i]) continue; load_graph_stop(ma->graphs[i]); gtk_widget_destroy(ma->graphs[i]->main_widget); load_graph_unalloc(ma->graphs[i]); g_free(ma->graphs[i]); } if (ma->box) gtk_widget_destroy(ma->box); orientation = mate_panel_applet_get_orient(ma->applet); if ( (orientation == MATE_PANEL_APPLET_ORIENT_UP) || (orientation == MATE_PANEL_APPLET_ORIENT_DOWN) ) { ma->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); } else ma->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(ma->applet), ma->box); /* create the NGRAPHS graphs, passing in their user-configurable properties with gsettings. */ multiload_create_graphs (ma); /* only start and display the graphs the user has turned on */ for (i = 0; i < NGRAPHS; i++) { gtk_box_pack_start(GTK_BOX(ma->box), ma->graphs[i]->main_widget, TRUE, TRUE, 1); if (ma->graphs[i]->visible) { gtk_widget_show_all (ma->graphs[i]->main_widget); load_graph_start(ma->graphs[i]); } } gtk_widget_show (ma->box); return; }