static void create_plugin( GtkWidget *vbox, gint first_create ) { GdkImlibImage *krell_image; TextStyle *ts, *ts_alt; Style *panel_style, *slider_style; if ( first_create ) panel = gkrellm_panel_new0(); panel_style = gkrellm_meter_style( style_id ); slider_style = gkrellm_krell_slider_style(); krell_image = gkrellm_krell_slider_image(); krell = gkrellm_create_krell( panel, krell_image, slider_style ); gkrellm_monotonic_krell_values( krell, FALSE ); gkrellm_set_krell_full_scale( krell, MAX_LCD, 1 ); gkrellm_panel_configure( panel, NULL, panel_style ); gkrellm_panel_create( vbox, monitor, panel ); ts = gkrellm_meter_textstyle( style_id ); ts_alt = gkrellm_meter_alt_textstyle( style_id ); text = gkrellm_create_decal_text( panel, "LCD", ts_alt, panel_style, 3, -1, -1 ); if ( first_create ){ gtk_signal_connect( GTK_OBJECT(panel->drawing_area), "expose_event", (GtkSignalFunc)plug_expose_event, NULL ); gtk_signal_connect( GTK_OBJECT(panel->drawing_area), "button_press_event", (GtkSignalFunc)panel_button_press, NULL ); gtk_signal_connect( GTK_OBJECT(panel->drawing_area), "button_release_event", (GtkSignalFunc)panel_button_release, NULL ); gtk_signal_connect( GTK_OBJECT(panel->drawing_area), "motion_notify_event", (GtkSignalFunc)slider_motion, NULL ); } }
static void create_proc_monitor(GtkWidget *vbox, gint first_create) { GkrellmChart *cp; GkrellmChartdata *cd; GkrellmChartconfig *cf; GkrellmPanel *p; GkrellmStyle *style; if (first_create) { proc.chart = gkrellm_chart_new0(); proc.chart->panel = gkrellm_panel_new0(); } cp = proc.chart; p = cp->panel; style = gkrellm_panel_style(style_id); gkrellm_create_krell(p, gkrellm_krell_panel_piximage(style_id), style); gkrellm_chart_create(proc.vbox, mon_proc, cp, &proc.chart_config); gkrellm_set_draw_chart_function(cp, refresh_proc_chart, proc.chart); cd = gkrellm_add_default_chartdata(cp, _("Load")); gkrellm_monotonic_chartdata(cd, FALSE); gkrellm_set_chartdata_draw_style_default(cd, CHARTDATA_LINE); proc.forks_cd = gkrellm_add_default_chartdata(cp, _("Forks")); gkrellm_set_chartdata_flags(proc.forks_cd, CHARTDATA_ALLOW_HIDE); cf = cp->config; gkrellm_chartconfig_fixed_grids_connect(cf, setup_proc_scaling, NULL); gkrellm_chartconfig_grid_resolution_connect(cf, setup_proc_scaling, NULL); gkrellm_chartconfig_grid_resolution_adjustment(cf, FALSE, LOAD_SCALING, 0.5, 5.0, 0.5, 0.5, 1, 50); gkrellm_chartconfig_grid_resolution_label(cf, _("Average process load per minute")); gkrellm_alloc_chartdata(cp); setup_proc_scaling(); /* I put motherboard temp on Proc panel (if temperature sensors found) */ gkrellm_sensors_create_decals(p, style_id, &proc.sensor_decal, &proc.fan_decal); gkrellm_panel_configure(p, proc.panel_label, style); gkrellm_panel_create(proc.vbox, mon_proc, p); proc.save_label_position = p->label->position; if (proc.sensor_decal) adjust_sensors_display(TRUE); new_text_format = TRUE; if (first_create) { g_signal_connect(G_OBJECT(cp->drawing_area), "expose_event", G_CALLBACK(proc_expose_event), NULL); g_signal_connect(G_OBJECT(p->drawing_area), "expose_event", G_CALLBACK(proc_expose_event), NULL); g_signal_connect(G_OBJECT(cp->drawing_area),"button_press_event", G_CALLBACK(cb_proc_extra), NULL); g_signal_connect(G_OBJECT(p->drawing_area), "button_press_event", G_CALLBACK(cb_panel_press), NULL); } else refresh_proc_chart(cp); gkrellm_setup_launcher(p, &proc_launch, CHART_PANEL_TYPE, 4); }
static void create_plugin(GtkWidget* vbox, gint first_create) { GkrellmStyle* style; GkrellmPiximage* krell_image; GkrellmTextstyle* ts; gint y = -1; unsigned int cpu; /* called when GKrellM is re-built at every theme or horizontal size change */ if (first_create) panel = gkrellm_panel_new0(); read_khz(); for ( cpu=0; cpu<ncpu; ++cpu ) { style = gkrellm_meter_style(style_id); /* text style */ ts = gkrellm_meter_textstyle(style_id); /* the governor text */ text_decal_gov[cpu] = gkrellm_create_decal_text(panel, "abcdefghijklmnopqrstuvwxyz", ts, style, -1, /* x = -1 places at left margin */ y, /* y = -1 places at top margin */ -1); /* w = -1 makes decal the panel width minus margins */ if (gov_enable) { governor_text[cpu] = governor[cpu]; y = text_decal_gov[cpu]->y + text_decal_gov[cpu]->h + 1; } else { governor_text[cpu] = empty; } /* the frequency text */ text_decal_freq[cpu] = gkrellm_create_decal_text(panel, "0123456789 MHz", ts, style, -1, /* x = -1 places at left margin */ y, /* y = -1 places at top margin */ -1); /* w = -1 makes decal the panel width minus margins */ y = text_decal_freq[cpu]->y + text_decal_freq[cpu]->h + 1; /* the slider */ if (slider_enable) { krell_image = gkrellm_krell_slider_piximage(); gkrellm_set_style_slider_values_default(style, y, /* y offset */ 0, 0); /* Left and right krell margins */ slider_krell[cpu] = gkrellm_create_krell(panel, krell_image, style); y = slider_krell[cpu]->y0 + slider_krell[cpu]->h_frame + 2; gkrellm_monotonic_krell_values(slider_krell[cpu], FALSE); gkrellm_set_krell_full_scale(slider_krell[cpu], slider_krell[cpu]->w_scale, 1); gkrellm_update_krell(panel, slider_krell[cpu], 0); update_slider_position(slider_krell[cpu], slider_krell[cpu]->w_scale*khz[cpu]/khz_max, cpu); } } slider_enable_current = slider_enable; gov_enable_current = gov_enable; /* configure and create the panel */ gkrellm_panel_configure(panel, "", style); gkrellm_panel_create(vbox, monitor, panel); if (first_create) { g_signal_connect(G_OBJECT (panel->drawing_area), "expose_event", G_CALLBACK(panel_expose_event), NULL); g_signal_connect(G_OBJECT(panel->drawing_area), "button_press_event", G_CALLBACK(cb_panel_press), NULL ); g_signal_connect(G_OBJECT(panel->drawing_area), "button_release_event", G_CALLBACK(cb_panel_release), NULL ); g_signal_connect(G_OBJECT(panel->drawing_area), "motion_notify_event", G_CALLBACK(cb_panel_motion), NULL); } }