[Xfce4-commits] <xfce4-cpugraph-plugin:master> Reformat the source code
Florian
noreply at xfce.org
Sat Apr 17 16:16:04 CEST 2010
Updating branch refs/heads/master
to 32f2075c5de9a02dd796497b024d14d28916f958 (commit)
from 1acc75ecdfa9e00139943d2f629fcef665fd035f (commit)
commit 32f2075c5de9a02dd796497b024d14d28916f958
Author: Florian Rivoal <frivoal at gmail.com>
Date: Mon Feb 8 00:24:46 2010 +0900
Reformat the source code
The source code style (brace style, tab vs space...) was inconsistent,
so it needed a clean up. I took this opportunity to change everything to
something I like.
Changing the entire file makes it hard to use git blame, but it was
already broken because of the large code movement made around 0.4.0.
panel-plugin/cpu.c | 1868 ++++++++++++++++++++++++---------------------------
panel-plugin/cpu.h | 91 ++--
panel-plugin/mode.c | 257 ++++----
panel-plugin/mode.h | 6 +-
panel-plugin/os.c | 293 +++++----
panel-plugin/os.h | 15 +-
6 files changed, 1198 insertions(+), 1332 deletions(-)
diff --git a/panel-plugin/cpu.c b/panel-plugin/cpu.c
index 4f0012f..c933aff 100644
--- a/panel-plugin/cpu.c
+++ b/panel-plugin/cpu.c
@@ -1,1156 +1,1010 @@
#include "cpu.h"
#include "mode.h"
-guint16
-_lerp (double t, guint16 a, guint16 b)
+guint16 _lerp( double t, guint16 a, guint16 b )
{
- return (guint16) (a + t * (b - a));
+ return (guint16) (a + t * (b - a));
}
-
-static void
-cpugraph_construct (XfcePanelPlugin *plugin)
+static void cpugraph_construct( XfcePanelPlugin *plugin )
{
- CPUGraph *base;
+ CPUGraph *base;
+
+ xfce_textdomain( GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8" );
- xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
+ base = CreateControl( plugin );
- base = CreateControl (plugin);
+ ReadSettings( plugin, base );
- ReadSettings (plugin, base);
+ g_signal_connect( plugin, "free-data", G_CALLBACK( Kill ), base );
- g_signal_connect (plugin, "free-data", G_CALLBACK (Kill), base);
+ g_signal_connect( plugin, "save", G_CALLBACK( WriteSettings ), base );
- g_signal_connect (plugin, "save", G_CALLBACK (WriteSettings), base);
+ xfce_panel_plugin_menu_show_configure( plugin );
- xfce_panel_plugin_menu_show_configure (plugin);
- g_signal_connect (plugin, "configure-plugin", G_CALLBACK (CreateOptions),
- base);
+ g_signal_connect( plugin, "configure-plugin", G_CALLBACK( CreateOptions ), base );
- g_signal_connect (plugin, "size-changed", G_CALLBACK (SetSize), base);
+ g_signal_connect( plugin, "size-changed", G_CALLBACK( SetSize ), base );
- g_signal_connect (plugin, "orientation-changed",
- G_CALLBACK (SetOrientation), base);
+ g_signal_connect( plugin, "orientation-changed", G_CALLBACK( SetOrientation ), base );
}
/* register the plugin */
-XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL (cpugraph_construct);
-
+XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL( cpugraph_construct );
-void
-Kill (XfcePanelPlugin * plugin, CPUGraph * base)
+void Kill( XfcePanelPlugin * plugin, CPUGraph * base )
{
- gint i;
- cpuData_free();
- base->m_CpuData = NULL;
+ gint i;
+ cpuData_free();
+ base->m_CpuData = NULL;
- for(i=0; i<base->nrCores-1; i++)
- gtk_widget_destroy(base->m_pBar[i]);
+ for(i=0; i<base->nrCores-1; i++)
+ gtk_widget_destroy(base->m_pBar[i]);
- gtk_widget_destroy(base->m_Box);
+ gtk_widget_destroy(base->m_Box);
- if (base->m_TimeoutID)
- g_source_remove (base->m_TimeoutID);
+ if( base->m_TimeoutID )
+ g_source_remove( base->m_TimeoutID );
- if (base->m_History)
- g_free (base->m_History);
+ if( base->m_History )
+ g_free( base->m_History );
- g_object_unref (base->m_Tooltip);
+ g_object_unref( base->m_Tooltip );
- g_free (base);
+ g_free( base );
}
-void
-ReadSettings (XfcePanelPlugin * plugin, CPUGraph * base)
+void ReadSettings( XfcePanelPlugin * plugin, CPUGraph * base )
{
- const char *value;
- char *file;
- XfceRc *rc;
- int update;
-
- base->m_Width = 70;
-
- base->m_ForeGround1.red = 0;
- base->m_ForeGround1.green = 65535;
- base->m_ForeGround1.blue = 0;
-
- base->m_ForeGround2.red = 65535;
- base->m_ForeGround2.green = 0;
- base->m_ForeGround2.blue = 0;
-
- base->m_ForeGround3.red = 0;
- base->m_ForeGround3.green = 0;
- base->m_ForeGround3.blue = 65535;
-
- base->m_BackGround.red = 65535;
- base->m_BackGround.green = 65535;
- base->m_BackGround.blue = 65535;
-
- base->m_TimeScale = 0;
- base->m_Frame = 0;
- base->m_AssociateCommand = "xterm top";
- base->m_ColorMode = 0;
- base->m_Mode = 0;
-
- if ((file = xfce_panel_plugin_lookup_rc_file (plugin)) != NULL)
- {
- rc = xfce_rc_simple_open (file, TRUE);
- g_free (file);
-
- if (rc)
- {
- base->m_UpdateInterval =
- xfce_rc_read_int_entry (rc, "UpdateInterval",
- base->m_UpdateInterval);
-
- base->m_TimeScale =
- xfce_rc_read_int_entry (rc, "TimeScale",
- base->m_TimeScale);
-
- base->m_Width =
- xfce_rc_read_int_entry (rc, "Width", base->m_Width);
-
- base->m_Mode = xfce_rc_read_int_entry (rc, "Mode", base->m_Mode);
-
- base->m_Frame =
- xfce_rc_read_int_entry (rc, "Frame", base->m_Frame);
-
- if (value = xfce_rc_read_entry (rc, "AssociateCommand", base->m_AssociateCommand)) {
- base->m_AssociateCommand = g_strdup(value);
- }
-
- base->m_ColorMode =
- xfce_rc_read_int_entry (rc, "ColorMode", base->m_ColorMode);
-
- if ((value = xfce_rc_read_entry (rc, "Foreground1", NULL)))
- {
- gdk_color_parse (value, &base->m_ForeGround1);
- }
- if ((value = xfce_rc_read_entry (rc, "Foreground2", NULL)))
- {
- gdk_color_parse (value, &base->m_ForeGround2);
- }
- if ((value = xfce_rc_read_entry (rc, "Background", NULL)))
- {
- gdk_color_parse (value, &base->m_BackGround);
- }
- if ((value = xfce_rc_read_entry (rc, "Foreground3", NULL)))
- {
- gdk_color_parse (value, &base->m_ForeGround3);
- }
-
- xfce_rc_close (rc);
- }
- }
- SetHistorySize (base, base->m_Width);
- if (base->m_TimeoutID)
- g_source_remove (base->m_TimeoutID);
- switch (base->m_UpdateInterval)
- {
- case 0:
- update = 250;
- break;
- case 1:
- update = 500;
- break;
- case 2:
- update = 750;
- break;
- default:
- update = 1000;
- }
- base->m_TimeoutID = g_timeout_add (update, (GtkFunction) UpdateCPU, base);
- gtk_frame_set_shadow_type (GTK_FRAME (base->m_FrameWidget),
- base->m_Frame ? GTK_SHADOW_IN : GTK_SHADOW_NONE);
+ const char *value;
+ char *file;
+ XfceRc *rc;
+ int update;
+
+ base->m_Width = 70;
+
+ base->m_ForeGround1.red = 0;
+ base->m_ForeGround1.green = 65535;
+ base->m_ForeGround1.blue = 0;
+
+ base->m_ForeGround2.red = 65535;
+ base->m_ForeGround2.green = 0;
+ base->m_ForeGround2.blue = 0;
+
+ base->m_ForeGround3.red = 0;
+ base->m_ForeGround3.green = 0;
+ base->m_ForeGround3.blue = 65535;
+
+ base->m_BackGround.red = 65535;
+ base->m_BackGround.green = 65535;
+ base->m_BackGround.blue = 65535;
+
+ base->m_TimeScale = 0;
+ base->m_Frame = 0;
+ base->m_AssociateCommand = "xterm top";
+ base->m_ColorMode = 0;
+ base->m_Mode = 0;
+
+ if( (file = xfce_panel_plugin_lookup_rc_file( plugin )) != NULL )
+ {
+ rc = xfce_rc_simple_open( file, TRUE );
+ g_free( file );
+
+ if( rc )
+ {
+ base->m_UpdateInterval =
+ xfce_rc_read_int_entry (rc, "UpdateInterval",
+ base->m_UpdateInterval);
+
+ base->m_TimeScale =
+ xfce_rc_read_int_entry (rc, "TimeScale",
+ base->m_TimeScale);
+
+ base->m_Width =
+ xfce_rc_read_int_entry( rc, "Width", base->m_Width );
+
+ base->m_Mode = xfce_rc_read_int_entry( rc, "Mode", base->m_Mode );
+
+ base->m_Frame =
+ xfce_rc_read_int_entry( rc, "Frame", base->m_Frame );
+
+ if( value = xfce_rc_read_entry( rc, "AssociateCommand", base->m_AssociateCommand ) ) {
+ base->m_AssociateCommand = g_strdup(value);
+ }
+
+ base->m_ColorMode =
+ xfce_rc_read_int_entry( rc, "ColorMode", base->m_ColorMode );
+
+ if( (value = xfce_rc_read_entry( rc, "Foreground1", NULL )) )
+ {
+ gdk_color_parse( value, &base->m_ForeGround1 );
+ }
+ if( (value = xfce_rc_read_entry( rc, "Foreground2", NULL )) )
+ {
+ gdk_color_parse( value, &base->m_ForeGround2 );
+ }
+ if( (value = xfce_rc_read_entry( rc, "Background", NULL )) )
+ {
+ gdk_color_parse( value, &base->m_BackGround );
+ }
+ if( (value = xfce_rc_read_entry( rc, "Foreground3", NULL )) )
+ {
+ gdk_color_parse( value, &base->m_ForeGround3 );
+ }
+
+ xfce_rc_close( rc );
+ }
+ }
+ SetHistorySize( base, base->m_Width );
+ if( base->m_TimeoutID )
+ g_source_remove( base->m_TimeoutID );
+ switch( base->m_UpdateInterval )
+ {
+ case 0:
+ update = 250;
+ break;
+ case 1:
+ update = 500;
+ break;
+ case 2:
+ update = 750;
+ break;
+ default:
+ update = 1000;
+ }
+ base->m_TimeoutID = g_timeout_add( update, (GtkFunction) UpdateCPU, base );
+ gtk_frame_set_shadow_type( GTK_FRAME(base->m_FrameWidget ), base->m_Frame ? GTK_SHADOW_IN : GTK_SHADOW_NONE );
}
-void
-WriteSettings (XfcePanelPlugin *plugin, CPUGraph *base)
+void WriteSettings( XfcePanelPlugin *plugin, CPUGraph *base )
{
- char value[10];
- XfceRc *rc;
- char *file;
+ char value[10];
+ XfceRc *rc;
+ char *file;
- if (!(file = xfce_panel_plugin_save_location (plugin, TRUE)))
- return;
+ if( !(file = xfce_panel_plugin_save_location( plugin, TRUE )) )
+ return;
- rc = xfce_rc_simple_open (file, FALSE);
- g_free (file);
+ rc = xfce_rc_simple_open( file, FALSE );
+ g_free( file );
- if (!rc)
- return;
+ if( !rc )
+ return;
- xfce_rc_write_int_entry (rc, "UpdateInterval", base->m_UpdateInterval);
+ xfce_rc_write_int_entry( rc, "UpdateInterval", base->m_UpdateInterval );
- xfce_rc_write_int_entry (rc, "TimeScale", base->m_TimeScale);
+ xfce_rc_write_int_entry( rc, "TimeScale", base->m_TimeScale );
- xfce_rc_write_int_entry (rc, "Width", base->m_Width);
+ xfce_rc_write_int_entry( rc, "Width", base->m_Width );
- xfce_rc_write_int_entry (rc, "Mode", base->m_Mode);
+ xfce_rc_write_int_entry( rc, "Mode", base->m_Mode );
- xfce_rc_write_int_entry (rc, "Frame", base->m_Frame);
+ xfce_rc_write_int_entry( rc, "Frame", base->m_Frame );
- xfce_rc_write_entry (rc, "AssociateCommand", base->m_AssociateCommand ? base->m_AssociateCommand : "");
+ xfce_rc_write_entry( rc, "AssociateCommand", base->m_AssociateCommand ? base->m_AssociateCommand : "" );
- xfce_rc_write_int_entry (rc, "ColorMode", base->m_ColorMode);
+ xfce_rc_write_int_entry( rc, "ColorMode", base->m_ColorMode );
- g_snprintf (value, 8, "#%02X%02X%02X", base->m_ForeGround1.red >> 8,
- base->m_ForeGround1.green >> 8,
- base->m_ForeGround1.blue >> 8);
- xfce_rc_write_entry (rc, "Foreground1", value);
+ g_snprintf( value, 8, "#%02X%02X%02X", base->m_ForeGround1.red >> 8, base->m_ForeGround1.green >> 8, base->m_ForeGround1.blue >> 8 );
+ xfce_rc_write_entry( rc, "Foreground1", value );
- g_snprintf (value, 8, "#%02X%02X%02X", base->m_ForeGround2.red >> 8,
- base->m_ForeGround2.green >> 8,
- base->m_ForeGround2.blue >> 8);
- xfce_rc_write_entry (rc, "Foreground2", value);
+ g_snprintf( value, 8, "#%02X%02X%02X", base->m_ForeGround2.red >> 8, base->m_ForeGround2.green >> 8, base->m_ForeGround2.blue >> 8 );
+ xfce_rc_write_entry( rc, "Foreground2", value );
- g_snprintf (value, 8, "#%02X%02X%02X", base->m_BackGround.red >> 8,
- base->m_BackGround.green >> 8,
- base->m_BackGround.blue >> 8);
- xfce_rc_write_entry (rc, "Background", value);
+ g_snprintf( value, 8, "#%02X%02X%02X", base->m_BackGround.red >> 8, base->m_BackGround.green >> 8, base->m_BackGround.blue >> 8 );
+ xfce_rc_write_entry( rc, "Background", value );
- g_snprintf (value, 8, "#%02X%02X%02X", base->m_ForeGround3.red >> 8,
- base->m_ForeGround3.green >> 8,
- base->m_ForeGround3.blue >> 8);
- xfce_rc_write_entry (rc, "Foreground3", value);
+ g_snprintf( value, 8, "#%02X%02X%02X", base->m_ForeGround3.red >> 8, base->m_ForeGround3.green >> 8, base->m_ForeGround3.blue >> 8 );
+ xfce_rc_write_entry( rc, "Foreground3", value );
- xfce_rc_close (rc);
+ xfce_rc_close( rc );
}
-CPUGraph *
-CreateControl (XfcePanelPlugin * plugin)
+CPUGraph * CreateControl( XfcePanelPlugin * plugin )
{
- gint i;
- GtkWidget *frame, *ebox;
- GtkOrientation orientation;
- GtkProgressBarOrientation barOrientation;
- CPUGraph *base = g_new0 (CPUGraph, 1);
+ gint i;
+ GtkWidget *frame, *ebox;
+ GtkOrientation orientation;
+ GtkProgressBarOrientation barOrientation;
+ CPUGraph *base = g_new0( CPUGraph, 1 );
- base->plugin = plugin;
+ base->plugin = plugin;
- ebox = gtk_event_box_new ();
- gtk_widget_show (ebox);
- gtk_container_add (GTK_CONTAINER (plugin), ebox);
+ ebox = gtk_event_box_new();
+ gtk_widget_show( ebox );
+ gtk_container_add( GTK_CONTAINER( plugin ), ebox );
- orientation = xfce_panel_plugin_get_orientation(plugin);
- if(orientation == GTK_ORIENTATION_HORIZONTAL)
- barOrientation = GTK_PROGRESS_BOTTOM_TO_TOP;
- else
- barOrientation = GTK_PROGRESS_LEFT_TO_RIGHT;
+ orientation = xfce_panel_plugin_get_orientation(plugin);
+ if(orientation == GTK_ORIENTATION_HORIZONTAL)
+ barOrientation = GTK_PROGRESS_BOTTOM_TO_TOP;
+ else
+ barOrientation = GTK_PROGRESS_LEFT_TO_RIGHT;
- base->m_Box = xfce_hvbox_new(orientation, FALSE, 0);
- gtk_widget_show(base->m_Box);
- gtk_container_add(GTK_CONTAINER(ebox), base->m_Box);
+ base->m_Box = xfce_hvbox_new(orientation, FALSE, 0);
+ gtk_widget_show(base->m_Box);
+ gtk_container_add(GTK_CONTAINER(ebox), base->m_Box);
- gtk_container_set_border_width(GTK_CONTAINER(frame), BORDER / 2);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), BORDER / 2);
- /* Multicore stuff */
- if((base->nrCores = cpuData_init() - 1) < 0)
- fprintf(stderr,"Cannot init cpu data !\n");
+ /* Multicore stuff */
+ if((base->nrCores = cpuData_init() - 1) < 0)
+ fprintf(stderr,"Cannot init cpu data !\n");
- base->m_pBar = (GtkWidget **) malloc(sizeof(GtkWidget *) * base->nrCores);
+ base->m_pBar = (GtkWidget **) malloc(sizeof(GtkWidget *) * base->nrCores);
- for(i=0; i<base->nrCores; i++) {
- base->m_pBar[i] = GTK_WIDGET(gtk_progress_bar_new());
- gtk_progress_bar_set_orientation(
- GTK_PROGRESS_BAR(base->m_pBar[i]),
- barOrientation);
+ for(i=0; i<base->nrCores; i++) {
+ base->m_pBar[i] = GTK_WIDGET(gtk_progress_bar_new());
+ gtk_progress_bar_set_orientation(
+ GTK_PROGRESS_BAR(base->m_pBar[i]),
+ barOrientation);
- gtk_box_pack_start(
- GTK_BOX(base->m_Box),
- base->m_pBar[i],
- FALSE,
- FALSE,
- 0);
+ gtk_box_pack_start(
+ GTK_BOX(base->m_Box),
+ base->m_pBar[i],
+ FALSE,
+ FALSE,
+ 0);
- gtk_widget_show(base->m_pBar[i]);
- }
+ gtk_widget_show(base->m_pBar[i]);
+ }
- base->m_FrameWidget = frame = gtk_frame_new (NULL);
- gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
+ base->m_FrameWidget = frame = gtk_frame_new( NULL );
+ gtk_frame_set_shadow_type( GTK_FRAME( frame ), GTK_SHADOW_IN );
- gtk_box_pack_start(
- GTK_BOX(base->m_Box),
- frame,
- TRUE,
- TRUE,
- 2);
+ gtk_box_pack_start( GTK_BOX(base->m_Box), frame, TRUE, TRUE, 2);
- gtk_widget_show (frame);
+ gtk_widget_show( frame );
- xfce_panel_plugin_add_action_widget (plugin, ebox);
- g_signal_connect (ebox, "button-press-event", G_CALLBACK (LaunchCommand), base);
+ xfce_panel_plugin_add_action_widget( plugin, ebox );
+ g_signal_connect( ebox, "button-press-event", G_CALLBACK( LaunchCommand ), base );
- base->m_DrawArea = gtk_drawing_area_new ();
- gtk_widget_set_app_paintable (base->m_DrawArea, TRUE);
- gtk_container_add (GTK_CONTAINER (frame), GTK_WIDGET (base->m_DrawArea));
- gtk_widget_show (base->m_DrawArea);
+ base->m_DrawArea = gtk_drawing_area_new();
+ gtk_widget_set_app_paintable( base->m_DrawArea, TRUE );
+ gtk_container_add( GTK_CONTAINER( frame ), GTK_WIDGET( base->m_DrawArea ) );
+ gtk_widget_show( base->m_DrawArea );
- xfce_panel_plugin_add_action_widget (plugin, base->m_DrawArea);
+ xfce_panel_plugin_add_action_widget( plugin, base->m_DrawArea );
- base->m_Tooltip = gtk_tooltips_new ();
- g_object_ref (base->m_Tooltip);
- gtk_object_sink (GTK_OBJECT (base->m_Tooltip));
+ base->m_Tooltip = gtk_tooltips_new();
+ g_object_ref( base->m_Tooltip );
+ gtk_object_sink( GTK_OBJECT( base->m_Tooltip ) );
- g_signal_connect_after (base->m_DrawArea, "expose-event",
- G_CALLBACK (DrawAreaExposeEvent), base);
+ g_signal_connect_after( base->m_DrawArea, "expose-event", G_CALLBACK( DrawAreaExposeEvent ), base );
- return base;
+ return base;
}
-void
-SetOrientation (XfcePanelPlugin * plugin, GtkOrientation orientation, CPUGraph *base)
+void SetOrientation( XfcePanelPlugin * plugin, GtkOrientation orientation, CPUGraph *base )
{
- GtkProgressBarOrientation barOrientation;
- gpointer p_pBar[base->nrCores];
- gpointer p_FrameWidget;
- gint i;
-
- /* <-- Multicore stuff */
-
- orientation = xfce_panel_plugin_get_orientation(plugin);
- if(orientation == GTK_ORIENTATION_HORIZONTAL)
- barOrientation = GTK_PROGRESS_BOTTOM_TO_TOP;
- else
- barOrientation = GTK_PROGRESS_LEFT_TO_RIGHT;
-
- /* Unpack progress bars */
- for(i=0; i<base->nrCores; i++){
- /* reference progress bars to keep them alive */
- p_pBar[i] = g_object_ref(base->m_pBar[i]);
- gtk_container_remove(
- GTK_CONTAINER(base->m_Box),
- GTK_WIDGET(base->m_pBar[i]));
- }
- p_FrameWidget = g_object_ref(base->m_FrameWidget);
- gtk_container_remove(
- GTK_CONTAINER(base->m_Box),
- GTK_WIDGET(base->m_FrameWidget));
-
-
- xfce_hvbox_set_orientation(XFCE_HVBOX(base->m_Box), orientation);
-
- /* Pack progress bars again into hvbox */
- for(i=0; i<base->nrCores; i++){
- gtk_progress_bar_set_orientation(
- GTK_PROGRESS_BAR(base->m_pBar[i]),
- barOrientation);
- gtk_box_pack_start(
- GTK_BOX(base->m_Box),
- base->m_pBar[i],
- FALSE,
- FALSE,
- 1);
- /* We dont need anymore this reference */
- g_object_unref(p_pBar[i]);
- }
- gtk_box_pack_start(
- GTK_BOX(base->m_Box),
- base->m_FrameWidget,
- TRUE,
- TRUE,
- 2);
- g_object_unref(p_FrameWidget);
- UserSetSize (base);
- gtk_widget_queue_draw (base->m_DrawArea);
+ GtkProgressBarOrientation barOrientation;
+ gpointer p_pBar[base->nrCores];
+ gpointer p_FrameWidget;
+ gint i;
+ /* <-- Multicore stuff */
+
+ orientation = xfce_panel_plugin_get_orientation( plugin );
+ if( orientation == GTK_ORIENTATION_HORIZONTAL )
+ barOrientation = GTK_PROGRESS_BOTTOM_TO_TOP;
+ else
+ barOrientation = GTK_PROGRESS_LEFT_TO_RIGHT;
+
+ /* Unpack progress bars */
+ for( i=0; i<base->nrCores; i++ )
+ {
+ /* reference progress bars to keep them alive */
+ p_pBar[i] = g_object_ref( base->m_pBar[i] );
+ gtk_container_remove( GTK_CONTAINER( base->m_Box ), GTK_WIDGET( base->m_pBar[i] ) );
+ }
+ p_FrameWidget = g_object_ref( base->m_FrameWidget );
+ gtk_container_remove( GTK_CONTAINER( base->m_Box ), GTK_WIDGET( base->m_FrameWidget ) );
+
+
+ xfce_hvbox_set_orientation( XFCE_HVBOX( base->m_Box ), orientation );
+
+ /* Pack progress bars again into hvbox */
+ for( i=0; i<base->nrCores; i++ )
+ {
+ gtk_progress_bar_set_orientation( GTK_PROGRESS_BAR( base->m_pBar[i] ), barOrientation );
+ gtk_box_pack_start( GTK_BOX( base->m_Box ), base->m_pBar[i], FALSE, FALSE, 1 );
+ /* We dont need anymore this reference */
+ g_object_unref( p_pBar[i] );
+ }
+ gtk_box_pack_start( GTK_BOX( base->m_Box ), base->m_FrameWidget, TRUE, TRUE, 2 );
+ g_object_unref( p_FrameWidget );
+ UserSetSize( base );
+ gtk_widget_queue_draw( base->m_DrawArea );
}
-void
-UpdateTooltip (CPUGraph * base)
+void UpdateTooltip( CPUGraph * base )
{
- char tooltip[32];
- int pos = snprintf (tooltip, 32, "Usage: %d%%", base->m_CpuData[0].load*100/CPU_SCALE);
- if( base->m_CpuData[0].scalCurFreq )
- snprintf (tooltip+pos, 32-pos, " (%d MHz)", base->m_CpuData[0].scalCurFreq/1000);
- gtk_tooltips_set_tip (GTK_TOOLTIPS (base->m_Tooltip),
- base->m_FrameWidget->parent, tooltip, NULL);
+ char tooltip[32];
+ int pos = snprintf( tooltip, 32, "Usage: %d%%", base->m_CpuData[0].load*100/CPU_SCALE );
+ if( base->m_CpuData[0].scalCurFreq )
+ snprintf( tooltip+pos, 32-pos, " (%d MHz)", base->m_CpuData[0].scalCurFreq/1000 );
+ gtk_tooltips_set_tip( GTK_TOOLTIPS( base->m_Tooltip ), base->m_FrameWidget->parent, tooltip, NULL );
}
-gboolean
-SetSize (XfcePanelPlugin *plugin, int size, CPUGraph *base)
+gboolean SetSize( XfcePanelPlugin *plugin, int size, CPUGraph *base )
{
- gint i;
- gtk_container_set_border_width (GTK_CONTAINER (base->m_FrameWidget),
- size > 26 ? 2 : 0);
-
- if (xfce_panel_plugin_get_orientation (plugin) ==
- GTK_ORIENTATION_HORIZONTAL)
- {
- gtk_widget_set_size_request (GTK_WIDGET (plugin),
- base->m_Width, size);
- for(i=0; i<base->nrCores; i++)
- gtk_widget_set_size_request(
- GTK_WIDGET(base->m_pBar[i]),
- BORDER,
- size);
- }
- else
- {
- gtk_widget_set_size_request (GTK_WIDGET (plugin),
- size, base->m_Width);
- for(i=0; i<base->nrCores; i++)
- gtk_widget_set_size_request(
- GTK_WIDGET(base->m_pBar[i]),
- size,
- BORDER);
- }
-
- return TRUE;
+ gint i;
+ gtk_container_set_border_width( GTK_CONTAINER( base->m_FrameWidget ), size > 26 ? 2 : 0 );
+
+ if( xfce_panel_plugin_get_orientation( plugin ) == GTK_ORIENTATION_HORIZONTAL )
+ {
+ gtk_widget_set_size_request( GTK_WIDGET( plugin ), base->m_Width, size );
+ for( i=0; i<base->nrCores; i++ )
+ gtk_widget_set_size_request( GTK_WIDGET(base->m_pBar[i]), BORDER, size );
+ }
+ else
+ {
+ gtk_widget_set_size_request( GTK_WIDGET( plugin ), size, base->m_Width );
+ for( i=0; i<base->nrCores; i++ )
+ gtk_widget_set_size_request( GTK_WIDGET( base->m_pBar[i] ), size, BORDER );
+ }
+
+ return TRUE;
}
-void
-UserSetSize (CPUGraph * base)
+void UserSetSize( CPUGraph * base )
{
- SetSize (base->plugin, xfce_panel_plugin_get_size (base->plugin), base);
+ SetSize( base->plugin, xfce_panel_plugin_get_size( base->plugin ), base );
}
-static void
-DialogResponse (GtkWidget *dlg, int response, CPUGraph *base)
+static void DialogResponse( GtkWidget *dlg, int response, CPUGraph *base )
{
- ApplyChanges (base);
- gtk_widget_destroy (dlg);
- xfce_panel_plugin_unblock_menu (base->plugin);
- WriteSettings (base->plugin, base);
+ ApplyChanges( base );
+ gtk_widget_destroy( dlg );
+ xfce_panel_plugin_unblock_menu( base->plugin );
+ WriteSettings( base->plugin, base );
}
-void
-CreateOptions (XfcePanelPlugin *plugin, CPUGraph *base)
+void CreateOptions( XfcePanelPlugin *plugin, CPUGraph *base )
{
- GtkWidget *dlg, *header;
- GtkBox *vbox, *vbox2, *hbox;
- GtkWidget *label;
- GtkSizeGroup *sg;
- SOptions *op = &base->m_Options;
-
- xfce_panel_plugin_block_menu (plugin);
-
- dlg = gtk_dialog_new_with_buttons (_("Configure CPU Graph"),
- GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))),
- GTK_DIALOG_DESTROY_WITH_PARENT |
- GTK_DIALOG_NO_SEPARATOR,
- GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
- NULL);
-
- base->m_OptionsDialog = dlg;
-
- g_signal_connect (dlg, "response", G_CALLBACK (DialogResponse), base);
-
- gtk_container_set_border_width (GTK_CONTAINER (dlg), 2);
-
- header = xfce_create_header (NULL, _("CPU Graph"));
- gtk_widget_set_size_request (GTK_BIN (header)->child, -1, 32);
- gtk_container_set_border_width (GTK_CONTAINER (header), BORDER - 2);
- gtk_widget_show (header);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), header,
- FALSE, TRUE, 0);
-
- vbox = GTK_BOX (gtk_vbox_new(FALSE, BORDER));
- gtk_container_set_border_width (GTK_CONTAINER (vbox), BORDER );
- gtk_widget_show(GTK_WIDGET (vbox));
-
- sg = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-
- /* Update Interval */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (hbox), FALSE, FALSE, 0);
- label = gtk_label_new (_("Update Interval: "));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_size_group_add_widget (sg, label);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (label), FALSE, FALSE, 0);
-
- op->m_UpdateOption = gtk_option_menu_new ();
- gtk_widget_show (op->m_UpdateOption);
- gtk_box_pack_start (GTK_BOX (hbox), op->m_UpdateOption, FALSE, FALSE, 0);
-
- op->m_UpdateMenu = gtk_menu_new ();
- gtk_option_menu_set_menu (GTK_OPTION_MENU (op->m_UpdateOption),
- op->m_UpdateMenu);
-
- op->m_UpdateMenuItem =
- gtk_menu_item_new_with_label (_("Fastest (~250ms)"));
- gtk_widget_show (op->m_UpdateMenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_UpdateMenu),
- op->m_UpdateMenuItem);
-
- op->m_UpdateMenuItem = gtk_menu_item_new_with_label (_("Fast (~500ms)"));
- gtk_widget_show (op->m_UpdateMenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_UpdateMenu),
- op->m_UpdateMenuItem);
-
- op->m_UpdateMenuItem =
- gtk_menu_item_new_with_label (_("Normal (~750ms)"));
- gtk_widget_show (op->m_UpdateMenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_UpdateMenu),
- op->m_UpdateMenuItem);
-
- op->m_UpdateMenuItem = gtk_menu_item_new_with_label (_("Slow (~1s)"));
- gtk_widget_show (op->m_UpdateMenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_UpdateMenu),
- op->m_UpdateMenuItem);
-
- gtk_option_menu_set_history (GTK_OPTION_MENU (op->m_UpdateOption),
- base->m_UpdateInterval);
-
- g_signal_connect (op->m_UpdateOption, "changed",
- G_CALLBACK (UpdateChange), base);
-
- /* Width */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (hbox), FALSE, FALSE, 0);
-
- if (xfce_panel_plugin_get_orientation (plugin) ==
- GTK_ORIENTATION_HORIZONTAL)
- label = gtk_label_new (_("Width:"));
- else
- label = gtk_label_new (_("Height:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_size_group_add_widget (sg, label);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (label), FALSE, FALSE, 0);
-
- op->m_Width =
- gtk_spin_button_new_with_range (10, 128, 1);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (op->m_Width), base->m_Width);
- gtk_widget_show (op->m_Width);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (op->m_Width), FALSE,
- FALSE, 0);
- g_signal_connect (op->m_Width, "value-changed", G_CALLBACK (SpinChange),
- &base->m_Width);
-
- /* TimeScale */
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (hbox), FALSE, FALSE, 0);
-
- op->m_TimeScale = gtk_check_button_new_with_mnemonic (_("Non-linear time-scale"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (op->m_TimeScale),
- base->m_TimeScale);
- gtk_widget_show (op->m_TimeScale);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (op->m_TimeScale), FALSE,
- FALSE, 0);
- g_signal_connect (op->m_TimeScale, "toggled", G_CALLBACK (TimeScaleChange),
- base);
- gtk_size_group_add_widget (sg, op->m_TimeScale);
-
- /* Frame */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (hbox), FALSE, FALSE, 0);
-
- op->m_GraphFrame = gtk_check_button_new_with_mnemonic (_("Show frame"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (op->m_GraphFrame),
- base->m_Frame);
- gtk_widget_show (op->m_GraphFrame);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (op->m_GraphFrame), FALSE,
- FALSE, 0);
- g_signal_connect (op->m_GraphFrame, "toggled", G_CALLBACK (FrameChange),
- base);
- gtk_size_group_add_widget (sg, op->m_GraphFrame);
-
- vbox2 = GTK_BOX (gtk_vbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (vbox2));
- gtk_container_set_border_width (GTK_CONTAINER (vbox2), 8);
-
- /* Associate Command */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (hbox), FALSE, FALSE, 0);
- label = gtk_label_new (_("Associated command :"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_size_group_add_widget (sg, label);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (label), FALSE, FALSE, 0);
- op->m_AssociateCommand = gtk_entry_new ();
- gtk_entry_set_max_length (GTK_ENTRY(op->m_AssociateCommand), 32);
- gtk_entry_set_text (GTK_ENTRY(op->m_AssociateCommand), base->m_AssociateCommand);
- gtk_widget_show (op->m_AssociateCommand);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (op->m_AssociateCommand), FALSE, FALSE, 0);
- g_signal_connect (op->m_AssociateCommand, "changed", G_CALLBACK (AssociateCommandChange), base);
-
- /* Foreground 1 */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox2), GTK_WIDGET (hbox), FALSE, FALSE, 0);
-
- label = gtk_label_new (_("Color 1:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_size_group_add_widget (sg, label);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (label), FALSE, FALSE, 0);
-
- op->m_FG1 = gtk_button_new ();
- op->m_ColorDA = gtk_drawing_area_new ();
-
- gtk_widget_modify_bg (op->m_ColorDA, GTK_STATE_NORMAL,
- &base->m_ForeGround1);
- gtk_widget_set_size_request (op->m_ColorDA, 12, 12);
- gtk_container_add (GTK_CONTAINER (op->m_FG1), op->m_ColorDA);
- gtk_widget_show (GTK_WIDGET (op->m_FG1));
- gtk_widget_show (GTK_WIDGET (op->m_ColorDA));
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (op->m_FG1), FALSE, FALSE,
- 0);
-
- g_signal_connect (op->m_FG1, "clicked", G_CALLBACK (ChangeColor1), base);
-
- /* Foreground2 */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox2), GTK_WIDGET (hbox), FALSE, FALSE, 0);
-
- label = gtk_label_new (_("Color 2:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_size_group_add_widget (sg, label);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (label), FALSE, FALSE, 0);
-
- op->m_FG2 = gtk_button_new ();
- op->m_ColorDA2 = gtk_drawing_area_new ();
-
- gtk_widget_modify_bg (op->m_ColorDA2, GTK_STATE_NORMAL,
- &base->m_ForeGround2);
- gtk_widget_set_size_request (op->m_ColorDA2, 12, 12);
- gtk_container_add (GTK_CONTAINER (op->m_FG2), op->m_ColorDA2);
- gtk_widget_show (GTK_WIDGET (op->m_FG2));
- gtk_widget_show (GTK_WIDGET (op->m_ColorDA2));
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (op->m_FG2), FALSE, FALSE,
- 0);
-
- g_signal_connect (op->m_FG2, "clicked", G_CALLBACK (ChangeColor2), base);
-
- if (base->m_Mode == 1)
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2), TRUE);
-
- /* Foreground3 */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox2), GTK_WIDGET (hbox), FALSE, FALSE, 0);
-
- label = gtk_label_new (_("Color 3:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_size_group_add_widget (sg, label);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (label), FALSE, FALSE, 0);
- op->m_FG3 = gtk_button_new ();
- op->m_ColorDA5 = gtk_drawing_area_new ();
- gtk_widget_modify_bg (op->m_ColorDA5, GTK_STATE_NORMAL,
- &base->m_ForeGround3);
- gtk_widget_set_size_request (op->m_ColorDA5, 12, 12);
- gtk_container_add (GTK_CONTAINER (op->m_FG3), op->m_ColorDA5);
- gtk_widget_show (GTK_WIDGET (op->m_FG3));
- gtk_widget_show (GTK_WIDGET (op->m_ColorDA5));
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (op->m_FG3), FALSE, FALSE,
- 0);
- g_signal_connect (op->m_FG3, "clicked", G_CALLBACK (ChangeColor4), base);
-
- if (base->m_Mode == 0 || base->m_Mode == 2 || base->m_ColorMode == 0)
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3), FALSE);
- else
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3), TRUE);
-
-
- /* Background */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox2), GTK_WIDGET (hbox), FALSE, FALSE, 0);
-
- label = gtk_label_new (_("Background:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_size_group_add_widget (sg, label);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (label), FALSE, FALSE, 0);
-
- op->m_BG = gtk_button_new ();
- op->m_ColorDA3 = gtk_drawing_area_new ();
-
- gtk_widget_modify_bg (op->m_ColorDA3, GTK_STATE_NORMAL,
- &base->m_BackGround);
- gtk_widget_set_size_request (op->m_ColorDA3, 12, 12);
- gtk_container_add (GTK_CONTAINER (op->m_BG), op->m_ColorDA3);
- gtk_widget_show (GTK_WIDGET (op->m_BG));
- gtk_widget_show (GTK_WIDGET (op->m_ColorDA3));
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (op->m_BG), FALSE, FALSE,
- 0);
-
- g_signal_connect (op->m_BG, "clicked", G_CALLBACK (ChangeColor3), base);
-
- /* Modes */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox2), GTK_WIDGET (hbox), FALSE, FALSE, 0);
-
- label = gtk_label_new (_("Mode:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_size_group_add_widget (sg, label);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (label), FALSE, FALSE, 0);
-
- op->m_OptionMenu = gtk_option_menu_new ();
- gtk_widget_show (op->m_OptionMenu);
- gtk_box_pack_start (GTK_BOX (hbox), op->m_OptionMenu, FALSE, FALSE, 0);
-
- op->m_Menu = gtk_menu_new ();
- gtk_option_menu_set_menu (GTK_OPTION_MENU (op->m_OptionMenu), op->m_Menu);
-
- op->m_MenuItem = gtk_menu_item_new_with_label (_("Normal"));
- gtk_widget_show (op->m_MenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_Menu), op->m_MenuItem);
-
- op->m_MenuItem = gtk_menu_item_new_with_label (_("LED"));
- gtk_widget_show (op->m_MenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_Menu), op->m_MenuItem);
-
- op->m_MenuItem = gtk_menu_item_new_with_label (_("No history"));
- gtk_widget_show (op->m_MenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_Menu), op->m_MenuItem);
-
- gtk_option_menu_set_history (GTK_OPTION_MENU (op->m_OptionMenu),
- base->m_Mode);
-
- g_signal_connect (op->m_OptionMenu, "changed", G_CALLBACK (ModeChange),
- base);
-
- /* Color mode */
-
- hbox = GTK_BOX (gtk_hbox_new (FALSE, BORDER));
- gtk_widget_show (GTK_WIDGET (hbox));
- gtk_box_pack_start (GTK_BOX (vbox2), GTK_WIDGET (hbox), FALSE, FALSE, 0);
- label = gtk_label_new (_("Color mode: "));
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_size_group_add_widget (sg, label);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (label), FALSE, FALSE, 0);
-
- op->m_ModeOption = gtk_option_menu_new ();
- gtk_widget_show (op->m_ModeOption);
- gtk_box_pack_start (GTK_BOX (hbox), op->m_ModeOption, FALSE, FALSE, 0);
-
- op->m_ModeMenu = gtk_menu_new ();
- gtk_option_menu_set_menu (GTK_OPTION_MENU (op->m_ModeOption),
- op->m_ModeMenu);
-
- op->m_ModeMenuItem = gtk_menu_item_new_with_label (_("None"));
- gtk_widget_show (op->m_ModeMenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_ModeMenu),
- op->m_ModeMenuItem);
-
- op->m_ModeMenuItem = gtk_menu_item_new_with_label (_("Gradient"));
- gtk_widget_show (op->m_ModeMenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_ModeMenu),
- op->m_ModeMenuItem);
-
- op->m_ModeMenuItem = gtk_menu_item_new_with_label (_("Fire"));
- gtk_widget_show (op->m_ModeMenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_ModeMenu),
- op->m_ModeMenuItem);
-
- op->m_ModeMenuItem = gtk_menu_item_new_with_label ("cpufreq");
- gtk_widget_show (op->m_ModeMenuItem);
- gtk_menu_shell_append (GTK_MENU_SHELL (op->m_ModeMenu),
- op->m_ModeMenuItem);
-
- gtk_option_menu_set_history (GTK_OPTION_MENU (op->m_ModeOption),
- base->m_ColorMode);
-
- g_signal_connect (op->m_ModeOption, "changed",
- G_CALLBACK (ColorModeChange), base);
-
- gtk_widget_show_all (GTK_WIDGET (hbox));
-
- op->m_Notebook = gtk_notebook_new ();
- gtk_container_set_border_width (GTK_CONTAINER (op->m_Notebook),
- BORDER - 2);
- label = gtk_label_new (_("Appearance"));
- gtk_notebook_append_page (GTK_NOTEBOOK (op->m_Notebook),
- GTK_WIDGET (vbox2), GTK_WIDGET (label));
- label = gtk_label_new (_("Advanced"));
- gtk_notebook_append_page (GTK_NOTEBOOK (op->m_Notebook),
- GTK_WIDGET (vbox), GTK_WIDGET (label));
- gtk_widget_show (op->m_Notebook);
-
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox),
- GTK_WIDGET (op->m_Notebook), TRUE, TRUE, 0);
+ GtkWidget *dlg, *header;
+ GtkBox *vbox, *vbox2, *hbox;
+ GtkWidget *label;
+ GtkSizeGroup *sg;
+ SOptions *op = &base->m_Options;
+
+ xfce_panel_plugin_block_menu( plugin );
+
+ dlg = gtk_dialog_new_with_buttons( _("Configure CPU Graph"),
+ GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( plugin ) ) ),
+ GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+ GTK_STOCK_CLOSE,
+ GTK_RESPONSE_OK,
+ NULL
+ );
+
+ base->m_OptionsDialog = dlg;
+
+ g_signal_connect( dlg, "response", G_CALLBACK( DialogResponse ), base );
+
+ gtk_container_set_border_width( GTK_CONTAINER( dlg ), 2 );
+
+ header = xfce_create_header( NULL, _("CPU Graph") );
+ gtk_widget_set_size_request( GTK_BIN( header )->child, -1, 32 );
+ gtk_container_set_border_width( GTK_CONTAINER( header ), BORDER - 2 );
+ gtk_widget_show( header );
+ gtk_box_pack_start( GTK_BOX( GTK_DIALOG( dlg )->vbox ), header, FALSE, TRUE, 0 );
+
+ vbox = GTK_BOX( gtk_vbox_new( FALSE, BORDER ) );
+ gtk_container_set_border_width( GTK_CONTAINER( vbox ), BORDER );
+ gtk_widget_show( GTK_WIDGET( vbox ) );
+
+ sg = gtk_size_group_new( GTK_SIZE_GROUP_HORIZONTAL );
+
+ /* Update Interval */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+ label = gtk_label_new( _("Update Interval: ") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_UpdateOption = gtk_option_menu_new();
+ gtk_widget_show( op->m_UpdateOption );
+ gtk_box_pack_start( GTK_BOX( hbox ), op->m_UpdateOption, FALSE, FALSE, 0 );
+
+ op->m_UpdateMenu = gtk_menu_new();
+ gtk_option_menu_set_menu( GTK_OPTION_MENU( op->m_UpdateOption ), op->m_UpdateMenu );
+
+ op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Fastest (~250ms)") );
+ gtk_widget_show( op->m_UpdateMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
+
+ op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Fast (~500ms)") );
+ gtk_widget_show( op->m_UpdateMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
+
+ op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Normal (~750ms)") );
+ gtk_widget_show( op->m_UpdateMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
+
+ op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Slow (~1s)") );
+ gtk_widget_show( op->m_UpdateMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
+
+ gtk_option_menu_set_history( GTK_OPTION_MENU( op->m_UpdateOption ), base->m_UpdateInterval );
+
+ g_signal_connect( op->m_UpdateOption, "changed", G_CALLBACK( UpdateChange ), base );
+
+ /* Width */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ if( xfce_panel_plugin_get_orientation( plugin ) == GTK_ORIENTATION_HORIZONTAL )
+ label = gtk_label_new( _("Width:") );
+ else
+ label = gtk_label_new( _("Height:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_Width = gtk_spin_button_new_with_range( 10, 128, 1 );
+ gtk_spin_button_set_value( GTK_SPIN_BUTTON( op->m_Width ), base->m_Width );
+ gtk_widget_show( op->m_Width );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_Width ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_Width, "value-changed", G_CALLBACK( SpinChange ), &base->m_Width );
+
+ /* TimeScale */
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ op->m_TimeScale = gtk_check_button_new_with_mnemonic( _("Non-linear time-scale") );
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( op->m_TimeScale ), base->m_TimeScale );
+ gtk_widget_show( op->m_TimeScale );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_TimeScale ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_TimeScale, "toggled", G_CALLBACK( TimeScaleChange ), base );
+ gtk_size_group_add_widget( sg, op->m_TimeScale );
+
+ /* Frame */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ op->m_GraphFrame = gtk_check_button_new_with_mnemonic( _("Show frame") );
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( op->m_GraphFrame ), base->m_Frame );
+ gtk_widget_show( op->m_GraphFrame );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_GraphFrame ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_GraphFrame, "toggled", G_CALLBACK( FrameChange ), base );
+ gtk_size_group_add_widget( sg, op->m_GraphFrame );
+
+ vbox2 = GTK_BOX( gtk_vbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( vbox2 ) );
+ gtk_container_set_border_width( GTK_CONTAINER( vbox2 ), 8 );
+
+ /* Associate Command */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+ label = gtk_label_new( _("Associated command :") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+ op->m_AssociateCommand = gtk_entry_new();
+ gtk_entry_set_max_length( GTK_ENTRY(op->m_AssociateCommand), 32 );
+ gtk_entry_set_text( GTK_ENTRY(op->m_AssociateCommand), base->m_AssociateCommand );
+ gtk_widget_show( op->m_AssociateCommand );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_AssociateCommand ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_AssociateCommand, "changed", G_CALLBACK( AssociateCommandChange ), base );
+
+ /* Foreground 1 */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Color 1:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_FG1 = gtk_button_new();
+ op->m_ColorDA = gtk_drawing_area_new();
+
+ gtk_widget_modify_bg( op->m_ColorDA, GTK_STATE_NORMAL, &base->m_ForeGround1 );
+ gtk_widget_set_size_request( op->m_ColorDA, 12, 12 );
+ gtk_container_add( GTK_CONTAINER( op->m_FG1 ), op->m_ColorDA );
+ gtk_widget_show( GTK_WIDGET( op->m_FG1 ) );
+ gtk_widget_show( GTK_WIDGET( op->m_ColorDA ) );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG1 ), FALSE, FALSE, 0 );
+
+ g_signal_connect( op->m_FG1, "clicked", G_CALLBACK( ChangeColor1 ), base );
+
+ /* Foreground2 */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Color 2:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_FG2 = gtk_button_new();
+ op->m_ColorDA2 = gtk_drawing_area_new();
+
+ gtk_widget_modify_bg( op->m_ColorDA2, GTK_STATE_NORMAL, &base->m_ForeGround2 );
+ gtk_widget_set_size_request( op->m_ColorDA2, 12, 12 );
+ gtk_container_add( GTK_CONTAINER( op->m_FG2 ), op->m_ColorDA2 );
+ gtk_widget_show( GTK_WIDGET( op->m_FG2 ) );
+ gtk_widget_show( GTK_WIDGET( op->m_ColorDA2 ) );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG2 ), FALSE, FALSE, 0 );
+
+ g_signal_connect( op->m_FG2, "clicked", G_CALLBACK( ChangeColor2 ), base );
+
+ if( base->m_Mode == 1 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
+
+ /* Foreground3 */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Color 3:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+ op->m_FG3 = gtk_button_new();
+ op->m_ColorDA5 = gtk_drawing_area_new();
+ gtk_widget_modify_bg( op->m_ColorDA5, GTK_STATE_NORMAL, &base->m_ForeGround3 );
+ gtk_widget_set_size_request( op->m_ColorDA5, 12, 12 );
+ gtk_container_add( GTK_CONTAINER( op->m_FG3 ), op->m_ColorDA5 );
+ gtk_widget_show( GTK_WIDGET( op->m_FG3 ) );
+ gtk_widget_show( GTK_WIDGET( op->m_ColorDA5 ) );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG3 ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_FG3, "clicked", G_CALLBACK( ChangeColor4 ), base );
+
+ if( base->m_Mode == 0 || base->m_Mode == 2 || base->m_ColorMode == 0 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
+ else
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
+
+
+ /* Background */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Background:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_BG = gtk_button_new();
+ op->m_ColorDA3 = gtk_drawing_area_new();
+
+ gtk_widget_modify_bg( op->m_ColorDA3, GTK_STATE_NORMAL, &base->m_BackGround );
+ gtk_widget_set_size_request( op->m_ColorDA3, 12, 12 );
+ gtk_container_add( GTK_CONTAINER( op->m_BG ), op->m_ColorDA3 );
+ gtk_widget_show( GTK_WIDGET( op->m_BG ) );
+ gtk_widget_show( GTK_WIDGET( op->m_ColorDA3 ) );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_BG ), FALSE, FALSE, 0 );
+
+ g_signal_connect( op->m_BG, "clicked", G_CALLBACK( ChangeColor3 ), base );
+
+ /* Modes */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Mode:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_OptionMenu = gtk_option_menu_new();
+ gtk_widget_show( op->m_OptionMenu );
+ gtk_box_pack_start( GTK_BOX( hbox ), op->m_OptionMenu, FALSE, FALSE, 0 );
+
+ op->m_Menu = gtk_menu_new();
+ gtk_option_menu_set_menu( GTK_OPTION_MENU( op->m_OptionMenu ), op->m_Menu );
+
+ op->m_MenuItem = gtk_menu_item_new_with_label( _("Normal") );
+ gtk_widget_show( op->m_MenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_Menu ), op->m_MenuItem );
+
+ op->m_MenuItem = gtk_menu_item_new_with_label( _("LED") );
+ gtk_widget_show( op->m_MenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_Menu ), op->m_MenuItem );
+
+ op->m_MenuItem = gtk_menu_item_new_with_label( _("No history") );
+ gtk_widget_show( op->m_MenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_Menu ), op->m_MenuItem );
+
+ gtk_option_menu_set_history( GTK_OPTION_MENU( op->m_OptionMenu ), base->m_Mode );
+
+ g_signal_connect( op->m_OptionMenu, "changed", G_CALLBACK( ModeChange ), base );
+
+ /* Color mode */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+ label = gtk_label_new( _("Color mode: ") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_ModeOption = gtk_option_menu_new();
+ gtk_widget_show( op->m_ModeOption );
+ gtk_box_pack_start( GTK_BOX( hbox ), op->m_ModeOption, FALSE, FALSE, 0 );
+
+ op->m_ModeMenu = gtk_menu_new();
+ gtk_option_menu_set_menu( GTK_OPTION_MENU( op->m_ModeOption ), op->m_ModeMenu );
+
+ op->m_ModeMenuItem = gtk_menu_item_new_with_label( _("None") );
+ gtk_widget_show( op->m_ModeMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
+
+ op->m_ModeMenuItem = gtk_menu_item_new_with_label( _("Gradient") );
+ gtk_widget_show( op->m_ModeMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
+
+ op->m_ModeMenuItem = gtk_menu_item_new_with_label( _("Fire") );
+ gtk_widget_show( op->m_ModeMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
+
+ op->m_ModeMenuItem = gtk_menu_item_new_with_label( "cpufreq" );
+ gtk_widget_show( op->m_ModeMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
- gtk_widget_show (dlg);
+ gtk_option_menu_set_history( GTK_OPTION_MENU( op->m_ModeOption ), base->m_ColorMode );
+
+ g_signal_connect( op->m_ModeOption, "changed", G_CALLBACK( ColorModeChange ), base );
+
+ gtk_widget_show_all( GTK_WIDGET( hbox ) );
+
+ op->m_Notebook = gtk_notebook_new();
+ gtk_container_set_border_width( GTK_CONTAINER( op->m_Notebook ), BORDER - 2 );
+ label = gtk_label_new( _("Appearance") );
+ gtk_notebook_append_page( GTK_NOTEBOOK( op->m_Notebook ), GTK_WIDGET( vbox2 ), GTK_WIDGET( label ) );
+ label = gtk_label_new( _("Advanced") );
+ gtk_notebook_append_page( GTK_NOTEBOOK( op->m_Notebook ), GTK_WIDGET( vbox ), GTK_WIDGET( label ) );
+ gtk_widget_show( op->m_Notebook );
+
+ gtk_box_pack_start( GTK_BOX( GTK_DIALOG( dlg )->vbox), GTK_WIDGET( op->m_Notebook ), TRUE, TRUE, 0 );
+
+ gtk_widget_show( dlg );
}
-gboolean
-UpdateCPU (CPUGraph * base)
+gboolean UpdateCPU( CPUGraph * base )
{
- gint i;
- base->m_CpuData = cpuData_read();
- for(i=0; i<base->nrCores; i++){
- gtk_progress_bar_set_fraction(
- GTK_PROGRESS_BAR(base->m_pBar[i]),
- (gdouble)base->m_CpuData[i+1].load/CPU_SCALE);
- }
-
- if(base->m_TimeScale)
- {
- int i = base->m_Values - 1;
- int j = i + base->m_Values;
- while(i > 0)
- {
- int a, b;
-
- a = base->m_History[i], b = base->m_History[i-1];
- if( a < b ) a++;
- int factor = (i*2);
- base->m_History[i--] = ( a*(factor-1) + b )/factor;
-
- a = base->m_History[j], b = base->m_History[j-1];
- if( a < b ) a++;
- base->m_History[j--] = ( a*(factor-1) + b )/factor;
- }
- } else {
- memmove (base->m_History + 1
- , base->m_History
- , (base->m_Values*2-1)*sizeof(int));
- }
- base->m_History[0] = (long)base->m_CpuData[0].load;
- base->m_History[base->m_Values] = base->m_CpuData[0].scalCurFreq;
-
- /* Tooltip */
- UpdateTooltip (base);
-
- /* Draw the graph. */
- gtk_widget_queue_draw (base->m_DrawArea);
- return TRUE;
+ gint i;
+ base->m_CpuData = cpuData_read();
+ for( i=0; i<base->nrCores; i++ )
+ {
+ gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(base->m_pBar[i]), (gdouble)base->m_CpuData[i+1].load / CPU_SCALE );
+ }
+
+ if( base->m_TimeScale )
+ {
+ int i = base->m_Values - 1;
+ int j = i + base->m_Values;
+ while( i > 0 )
+ {
+ int a, b;
+
+ a = base->m_History[i], b = base->m_History[i-1];
+ if( a < b ) a++;
+ int factor = (i*2);
+ base->m_History[i--] = (a * (factor-1) + b) / factor;
+
+ a = base->m_History[j], b = base->m_History[j-1];
+ if( a < b ) a++;
+ base->m_History[j--] = (a * (factor-1) + b) / factor;
+ }
+ } else {
+ memmove( base->m_History + 1 , base->m_History , (base->m_Values * 2 - 1) * sizeof( int ) );
+ }
+ base->m_History[0] = (long)base->m_CpuData[0].load;
+ base->m_History[base->m_Values] = base->m_CpuData[0].scalCurFreq;
+
+ /* Tooltip */
+ UpdateTooltip( base );
+
+ /* Draw the graph. */
+ gtk_widget_queue_draw( base->m_DrawArea );
+ return TRUE;
}
-void
-DrawGraph (CPUGraph * base)
+void DrawGraph( CPUGraph * base )
{
- GtkWidget *da = base->m_DrawArea;
- int w, h;
-
- w = da->allocation.width;
- h = da->allocation.height;
-
- /* Dynamically allocated everytime just in case depth changes */
- GdkGC *fg1 = gdk_gc_new (da->window);
- GdkGC *fg2 = gdk_gc_new (da->window);
- GdkGC *bg = gdk_gc_new (da->window);
- gdk_gc_set_rgb_fg_color (bg, &base->m_BackGround);
-
- gdk_draw_rectangle (da->window, bg, TRUE, 0, 0, w, h);
-
- if (base->m_Mode == 0)
- {
- drawGraphModeNormal(base, fg1, da, w, h);
- }
- else if (base->m_Mode == 1)
- {
- drawGraphModeLED(base, fg1, fg2, da, w, h);
- }
- else if (base->m_Mode == 2)
- {
- drawGraphModeNoHistory(base, fg1, fg2, da, w, h);
- }
-
- g_object_unref (fg2);
- g_object_unref (fg1);
- g_object_unref (bg);
+ GtkWidget *da = base->m_DrawArea;
+ int w, h;
+
+ w = da->allocation.width;
+ h = da->allocation.height;
+
+ /* Dynamically allocated everytime just in case depth changes */
+ GdkGC *fg1 = gdk_gc_new( da->window );
+ GdkGC *fg2 = gdk_gc_new( da->window );
+ GdkGC *bg = gdk_gc_new( da->window );
+ gdk_gc_set_rgb_fg_color( bg, &base->m_BackGround );
+
+ gdk_draw_rectangle( da->window, bg, TRUE, 0, 0, w, h );
+
+ if( base->m_Mode == 0 )
+ {
+ drawGraphModeNormal( base, fg1, da, w, h );
+ }
+ else if( base->m_Mode == 1 )
+ {
+ drawGraphModeLED( base, fg1, fg2, da, w, h );
+ }
+ else if( base->m_Mode == 2 )
+ {
+ drawGraphModeNoHistory( base, fg1, fg2, da, w, h );
+ }
+
+ g_object_unref( fg2 );
+ g_object_unref( fg1 );
+ g_object_unref( bg );
}
-void
-DrawAreaExposeEvent (GtkWidget * da, GdkEventExpose * event, gpointer data)
+void DrawAreaExposeEvent( GtkWidget * da, GdkEventExpose * event, gpointer data )
{
- CPUGraph *base = (CPUGraph *) data;
+ CPUGraph *base = (CPUGraph *) data;
- DrawGraph (base);
+ DrawGraph( base );
}
-void
-SpinChange (GtkSpinButton * sb, int *value)
+void SpinChange( GtkSpinButton * sb, int *value )
{
- (*value) = gtk_spin_button_get_value_as_int (sb);
+ (*value) = gtk_spin_button_get_value_as_int( sb );
}
-void
-ApplyChanges (CPUGraph * base)
+void ApplyChanges( CPUGraph * base )
{
- int update;
-
- if (base->m_TimeoutID)
- g_source_remove (base->m_TimeoutID);
- switch (base->m_UpdateInterval)
- {
- case 0:
- update = 250;
- break;
- case 1:
- update = 500;
- break;
- case 2:
- update = 750;
- break;
- default:
- update = 1000;
- }
- base->m_TimeoutID = g_timeout_add (update, (GtkFunction) UpdateCPU, base);
-
- UserSetSize (base);
- SetHistorySize (base, base->m_Width);
+ int update;
+
+ if( base->m_TimeoutID )
+ g_source_remove( base->m_TimeoutID );
+ switch( base->m_UpdateInterval )
+ {
+ case 0:
+ update = 250;
+ break;
+ case 1:
+ update = 500;
+ break;
+ case 2:
+ update = 750;
+ break;
+ default:
+ update = 1000;
+ }
+ base->m_TimeoutID = g_timeout_add( update, (GtkFunction) UpdateCPU, base );
+
+ UserSetSize( base );
+ SetHistorySize( base, base->m_Width );
}
-void
-ChangeColor1 (GtkButton * button, CPUGraph * base)
+void ChangeColor1( GtkButton * button, CPUGraph * base )
{
- ChangeColor (0, base);
+ ChangeColor( 0, base );
}
-void
-ChangeColor2 (GtkButton * button, CPUGraph * base)
+void ChangeColor2( GtkButton * button, CPUGraph * base )
{
- ChangeColor (1, base);
+ ChangeColor( 1, base );
}
-void
-ChangeColor3 (GtkButton * button, CPUGraph * base)
+void ChangeColor3( GtkButton * button, CPUGraph * base )
{
- ChangeColor (2, base);
+ ChangeColor( 2, base );
}
-void
-ChangeColor4 (GtkButton * button, CPUGraph * base)
+void ChangeColor4( GtkButton * button, CPUGraph * base )
{
- ChangeColor (3, base);
+ ChangeColor( 3, base );
}
-void
-ChangeColor (int color, CPUGraph * base)
+void ChangeColor( int color, CPUGraph * base )
{
- GtkWidget *dialog;
- GtkColorSelection *colorsel;
- gint response;
-
- dialog = gtk_color_selection_dialog_new ("Select color");
- gtk_window_set_transient_for (GTK_WINDOW (dialog),
- GTK_WINDOW (base->m_OptionsDialog));
-
- colorsel =
- GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel);
-
- if (color == 0)
- {
- gtk_color_selection_set_previous_color (colorsel,
- &base->m_ForeGround1);
- gtk_color_selection_set_current_color (colorsel,
- &base->m_ForeGround1);
- }
- else if (color == 1)
- {
- gtk_color_selection_set_previous_color (colorsel,
- &base->m_ForeGround2);
- gtk_color_selection_set_current_color (colorsel,
- &base->m_ForeGround2);
- }
- else if (color == 2)
- {
- gtk_color_selection_set_previous_color (colorsel,
- &base->m_BackGround);
- gtk_color_selection_set_current_color (colorsel, &base->m_BackGround);
- }
- else if (color == 3)
- {
- gtk_color_selection_set_previous_color (colorsel,
- &base->m_ForeGround3);
- gtk_color_selection_set_current_color (colorsel,
- &base->m_ForeGround3);
- }
-
- gtk_color_selection_set_has_palette (colorsel, TRUE);
-
- response = gtk_dialog_run (GTK_DIALOG (dialog));
- if (response == GTK_RESPONSE_OK)
- {
- if (color == 0)
- {
- gtk_color_selection_get_current_color (colorsel,
- &base->m_ForeGround1);
- gtk_widget_modify_bg (base->m_Options.m_ColorDA, GTK_STATE_NORMAL,
- &base->m_ForeGround1);
- }
- else if (color == 1)
- {
- gtk_color_selection_get_current_color (colorsel,
- &base->m_ForeGround2);
- gtk_widget_modify_bg (base->m_Options.m_ColorDA2,
- GTK_STATE_NORMAL, &base->m_ForeGround2);
- }
- else if (color == 2)
- {
- gtk_color_selection_get_current_color (colorsel,
- &base->m_BackGround);
- gtk_widget_modify_bg (base->m_Options.m_ColorDA3,
- GTK_STATE_NORMAL, &base->m_BackGround);
- }
- else if (color == 3)
- {
- gtk_color_selection_get_current_color (colorsel,
- &base->m_ForeGround3);
- gtk_widget_modify_bg (base->m_Options.m_ColorDA5,
- GTK_STATE_NORMAL, &base->m_ForeGround3);
- }
- }
-
- gtk_widget_destroy (dialog);
+ GtkWidget *dialog;
+ GtkColorSelection *colorsel;
+ gint response;
+
+ dialog = gtk_color_selection_dialog_new( "Select color" );
+ gtk_window_set_transient_for( GTK_WINDOW( dialog ), GTK_WINDOW( base->m_OptionsDialog ) );
+
+ colorsel = GTK_COLOR_SELECTION( GTK_COLOR_SELECTION_DIALOG( dialog )->colorsel );
+
+ if( color == 0 )
+ {
+ gtk_color_selection_set_previous_color( colorsel, &base->m_ForeGround1 );
+ gtk_color_selection_set_current_color( colorsel, &base->m_ForeGround1 );
+ }
+ else if( color == 1 )
+ {
+ gtk_color_selection_set_previous_color( colorsel, &base->m_ForeGround2 );
+ gtk_color_selection_set_current_color( colorsel, &base->m_ForeGround2 );
+ }
+ else if( color == 2 )
+ {
+ gtk_color_selection_set_previous_color( colorsel, &base->m_BackGround );
+ gtk_color_selection_set_current_color( colorsel, &base->m_BackGround );
+ }
+ else if( color == 3 )
+ {
+ gtk_color_selection_set_previous_color( colorsel, &base->m_ForeGround3 );
+ gtk_color_selection_set_current_color( colorsel, &base->m_ForeGround3 );
+ }
+
+ gtk_color_selection_set_has_palette( colorsel, TRUE );
+
+ response = gtk_dialog_run( GTK_DIALOG( dialog ) );
+ if( response == GTK_RESPONSE_OK )
+ {
+ if( color == 0 )
+ {
+ gtk_color_selection_get_current_color( colorsel, &base->m_ForeGround1 );
+ gtk_widget_modify_bg( base->m_Options.m_ColorDA, GTK_STATE_NORMAL, &base->m_ForeGround1 );
+ }
+ else if( color == 1 )
+ {
+ gtk_color_selection_get_current_color( colorsel, &base->m_ForeGround2 );
+ gtk_widget_modify_bg( base->m_Options.m_ColorDA2, GTK_STATE_NORMAL, &base->m_ForeGround2 );
+ }
+ else if( color == 2 )
+ {
+ gtk_color_selection_get_current_color( colorsel, &base->m_BackGround );
+ gtk_widget_modify_bg( base->m_Options.m_ColorDA3, GTK_STATE_NORMAL, &base->m_BackGround );
+ }
+ else if( color == 3 )
+ {
+ gtk_color_selection_get_current_color( colorsel, &base->m_ForeGround3 );
+ gtk_widget_modify_bg( base->m_Options.m_ColorDA5, GTK_STATE_NORMAL, &base->m_ForeGround3 );
+ }
+ }
+
+ gtk_widget_destroy( dialog );
}
-void
-SetHistorySize (CPUGraph * base, int size)
+void SetHistorySize( CPUGraph * base, int size )
{
- int i;
- base->m_History =
- (long *) realloc (base->m_History, 2 * size * sizeof (long));
-
- base->m_CpuData = cpuData_read();
- base->m_CpuData[0].pUsed = 0;
- base->m_CpuData[0].pTotal = 0;
- long usage = base->m_CpuData[0].load;
- for (i = size - 1; i >= base->m_Values; i--)
- {
- base->m_History[i] = usage;
- base->m_History[i+size] = base->m_CpuData[0].scalCurFreq;
- }
- base->m_Values = size;
+ int i;
+ base->m_History = (long *) realloc( base->m_History, 2 * size * sizeof( long ) );
+
+ base->m_CpuData = cpuData_read();
+ base->m_CpuData[0].pUsed = 0;
+ base->m_CpuData[0].pTotal = 0;
+ long usage = base->m_CpuData[0].load;
+ for( i = size - 1; i >= base->m_Values; i-- )
+ {
+ base->m_History[i] = usage;
+ base->m_History[i+size] = base->m_CpuData[0].scalCurFreq;
+ }
+ base->m_Values = size;
}
-void
-ModeChange (GtkOptionMenu * om, CPUGraph * base)
+void ModeChange( GtkOptionMenu * om, CPUGraph * base )
{
- base->m_Mode = gtk_option_menu_get_history (om);
- if (base->m_Mode == 0)
- {
- if (base->m_ColorMode > 0)
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2),
- TRUE);
- else
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2),
- FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3), FALSE);
- }
- else if (base->m_Mode == 1)
- {
- if (base->m_ColorMode > 0)
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3),
- TRUE);
- else
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3),
- FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2), TRUE);
- }
- else if (base->m_Mode == 2)
- {
- if (base->m_ColorMode > 0)
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2),
- TRUE);
- else
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2),
- FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3), FALSE);
- }
+ base->m_Mode = gtk_option_menu_get_history( om );
+ if( base->m_Mode == 0 )
+ {
+ if( base->m_ColorMode > 0 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
+ else
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), FALSE );
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
+ }
+ else if( base->m_Mode == 1 )
+ {
+ if( base->m_ColorMode > 0 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
+ else
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
+ }
+ else if( base->m_Mode == 2 )
+ {
+ if( base->m_ColorMode > 0 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
+ else
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), FALSE );
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
+ }
}
-void
-UpdateChange (GtkOptionMenu * om, CPUGraph * base)
+
+void UpdateChange( GtkOptionMenu * om, CPUGraph * base )
{
- base->m_UpdateInterval = gtk_option_menu_get_history (om);
+ base->m_UpdateInterval = gtk_option_menu_get_history( om );
}
-void
-FrameChange (GtkToggleButton * button, CPUGraph * base)
+void FrameChange( GtkToggleButton * button, CPUGraph * base )
{
- base->m_Frame = gtk_toggle_button_get_active (button);
+ base->m_Frame = gtk_toggle_button_get_active( button );
- gtk_frame_set_shadow_type (GTK_FRAME (base->m_FrameWidget),
- base->m_Frame ? GTK_SHADOW_IN : GTK_SHADOW_NONE);
+ gtk_frame_set_shadow_type( GTK_FRAME( base->m_FrameWidget ), base->m_Frame ? GTK_SHADOW_IN : GTK_SHADOW_NONE );
}
-void
-AssociateCommandChange (GtkEntry *entry, CPUGraph * base)
+void AssociateCommandChange( GtkEntry *entry, CPUGraph * base )
{
- base->m_AssociateCommand = g_strdup (gtk_entry_get_text (entry));
+ base->m_AssociateCommand = g_strdup( gtk_entry_get_text( entry ) );
}
-gboolean
-LaunchCommand(GtkWidget *w,GdkEventButton *event, CPUGraph *base)
+gboolean LaunchCommand( GtkWidget*w,GdkEventButton *event, CPUGraph *base )
{
- if(event->button == 1){
- GString *cmd;
- if (strlen(base->m_AssociateCommand) == 0) {
- return;
- }
- cmd = g_string_new (base->m_AssociateCommand);
- xfce_exec (cmd->str, FALSE, FALSE, NULL);
- g_string_free (cmd, TRUE);
- }
- return FALSE;
+ if( event->button == 1 )
+ {
+ GString *cmd;
+ if( strlen(base->m_AssociateCommand) == 0 )
+ {
+ return;
+ }
+ cmd = g_string_new( base->m_AssociateCommand );
+ xfce_exec( cmd->str, FALSE, FALSE, NULL );
+ g_string_free( cmd, TRUE );
+ }
+ return FALSE;
}
-void
-TimeScaleChange (GtkToggleButton * button, CPUGraph * base)
+void TimeScaleChange( GtkToggleButton * button, CPUGraph * base )
{
- base->m_TimeScale = gtk_toggle_button_get_active (button);
+ base->m_TimeScale = gtk_toggle_button_get_active( button );
}
-void
-ColorModeChange (GtkOptionMenu * om, CPUGraph * base)
+void ColorModeChange( GtkOptionMenu * om, CPUGraph * base )
{
- base->m_ColorMode = gtk_option_menu_get_history (om);
-
- if (base->m_ColorMode == 0)
- {
- if (base->m_Mode == 0 || base->m_Mode == 2)
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2),
- FALSE);
- else
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2),
- TRUE);
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3), FALSE);
- }
- else if (base->m_ColorMode == 1)
- {
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2), TRUE);
- if (base->m_Mode == 1)
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3),
- TRUE);
- else
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3),
- FALSE);
- }
- else if (base->m_ColorMode == 2)
- {
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2), TRUE);
- if (base->m_Mode == 1)
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3),
- TRUE);
- else
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3),
- FALSE);
- }
- else if (base->m_ColorMode == 3)
+ base->m_ColorMode = gtk_option_menu_get_history( om );
+
+ if( base->m_ColorMode == 0 )
{
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG2), TRUE);
- if (base->m_Mode == 1)
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3), TRUE);
- else
- gtk_widget_set_sensitive (GTK_WIDGET (base->m_Options.m_FG3), FALSE);
-}
+ if( base->m_Mode == 0 || base->m_Mode == 2 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), FALSE );
+ else
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
+ }
+ else if( base->m_ColorMode == 1 )
+ {
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
+ if( base->m_Mode == 1 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
+ else
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
+ }
+ else if( base->m_ColorMode == 2 )
+ {
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
+ if( base->m_Mode == 1 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
+ else
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
+ }
+ else if( base->m_ColorMode == 3 )
+ {
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
+ if( base->m_Mode == 1 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
+ else
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
+ }
}
-
diff --git a/panel-plugin/cpu.h b/panel-plugin/cpu.h
index b8866c1..d8e4fe1 100644
--- a/panel-plugin/cpu.h
+++ b/panel-plugin/cpu.h
@@ -18,7 +18,6 @@
#include "os.h"
-
#define BORDER 8
#define MAX_WIDTH 64
@@ -60,7 +59,7 @@ typedef struct
GtkWidget *m_OptionMenu;
GtkWidget *m_Menu;
GtkWidget *m_MenuItem;
-}SOptions;
+} SOptions;
typedef struct
{
@@ -69,23 +68,23 @@ typedef struct
GtkWidget *m_FrameWidget;
GtkWidget *m_DrawArea;
GtkWidget *m_OptionsDialog;
- GtkWidget *m_Box;
- GtkWidget **m_pBar;
+ GtkWidget *m_Box;
+ GtkWidget **m_pBar;
SOptions m_Options;
- int m_UpdateInterval; // Number of ms between updates.
+ int m_UpdateInterval; // Number of ms between updates.
int m_TimeScale; // Wether to use non-linear time scale.
- int m_Width; // The width of the plugin.
- int m_Mode; // Eventual mode of the plugin.
+ int m_Width; // The width of the plugin.
+ int m_Mode; // Eventual mode of the plugin.
int m_ColorMode;
int m_Frame;
gchar *m_AssociateCommand;
- guint nrCores; // Number of cores (not including total cpu)
+ guint nrCores; // Number of cores (not including total cpu)
- GdkColor m_ForeGround1; // Inactive color.
- GdkColor m_ForeGround2; // Active color.
+ GdkColor m_ForeGround1; // Inactive color.
+ GdkColor m_ForeGround2; // Active color.
GdkColor m_ForeGround3;
- GdkColor m_BackGround; // Background color.
+ GdkColor m_BackGround; // Background color.
GtkTooltips *m_Tooltip; // Eventual tooltip.
@@ -93,40 +92,40 @@ typedef struct
long *m_History;
int m_Values;
int m_Orientation;
- CpuData *m_CpuData;
-
-}CPUGraph;
-
-CPUGraph *CreateControl (XfcePanelPlugin *plugin);
-void Kill (XfcePanelPlugin *plugin, CPUGraph *base);
-void ReadSettings (XfcePanelPlugin *plugin, CPUGraph *base);
-void WriteSettings (XfcePanelPlugin *plugin, CPUGraph *base);
-gboolean SetSize (XfcePanelPlugin *plugin, int size, CPUGraph *base);
-void UserSetSize (CPUGraph *base);
-gboolean UpdateCPU (CPUGraph *base);
-void UpdateTooltip (CPUGraph *base);
-void DrawGraph (CPUGraph *base);
-void DrawAreaExposeEvent (GtkWidget *da, GdkEventExpose *event, gpointer data);
-void CreateOptions (XfcePanelPlugin *plugin, CPUGraph *base);
-void SetOrientation (XfcePanelPlugin *plugin, GtkOrientation orientation, CPUGraph *base);
-void SetHistorySize (CPUGraph *base, int size);
-void SetRealGeometry (CPUGraph *base);
-
-
-void ChangeColor1 (GtkButton *button, CPUGraph *base);
-void ChangeColor2 (GtkButton *button, CPUGraph *base);
-void ChangeColor3 (GtkButton *button, CPUGraph *base);
-void ChangeColor4 (GtkButton *button, CPUGraph *base);
-void ChangeColor5 (GtkButton *button, CPUGraph *base);
-void ChangeColor (int color, CPUGraph *base);
-void SpinChange (GtkSpinButton *sb, int *value);
-void UpdateChange (GtkOptionMenu *om, CPUGraph *base);
-void ModeChange (GtkOptionMenu *om, CPUGraph *base);
-void ApplyChanges (CPUGraph *base);
-void FrameChange (GtkToggleButton *button, CPUGraph *base);
-void TimeScaleChange (GtkToggleButton *button, CPUGraph *base);
-void AssociateCommandChange(GtkEntry *entry, CPUGraph *base);
-void ColorModeChange (GtkOptionMenu *om, CPUGraph *base);
-gboolean LaunchCommand (GtkWidget *w, GdkEventButton *event, CPUGraph *base);
+ CpuData *m_CpuData;
+
+} CPUGraph;
+
+CPUGraph *CreateControl( XfcePanelPlugin *plugin );
+void Kill( XfcePanelPlugin *plugin, CPUGraph *base );
+void ReadSettings( XfcePanelPlugin *plugin, CPUGraph *base );
+void WriteSettings( XfcePanelPlugin *plugin, CPUGraph *base );
+gboolean SetSize( XfcePanelPlugin *plugin, int size, CPUGraph *base );
+void UserSetSize( CPUGraph *base );
+gboolean UpdateCPU( CPUGraph *base );
+void UpdateTooltip( CPUGraph *base );
+void DrawGraph( CPUGraph *base );
+void DrawAreaExposeEvent( GtkWidget *da, GdkEventExpose *event, gpointer data );
+void CreateOptions( XfcePanelPlugin *plugin, CPUGraph *base );
+void SetOrientation( XfcePanelPlugin *plugin, GtkOrientation orientation, CPUGraph *base );
+void SetHistorySize( CPUGraph *base, int size );
+void SetRealGeometry( CPUGraph *base );
+
+
+void ChangeColor1( GtkButton *button, CPUGraph *base );
+void ChangeColor2( GtkButton *button, CPUGraph *base );
+void ChangeColor3( GtkButton *button, CPUGraph *base );
+void ChangeColor4( GtkButton *button, CPUGraph *base );
+void ChangeColor5( GtkButton *button, CPUGraph *base );
+void ChangeColor( int color, CPUGraph *base );
+void SpinChange( GtkSpinButton *sb, int *value );
+void UpdateChange( GtkOptionMenu *om, CPUGraph *base );
+void ModeChange( GtkOptionMenu *om, CPUGraph *base );
+void ApplyChanges( CPUGraph *base );
+void FrameChange( GtkToggleButton *button, CPUGraph *base );
+void TimeScaleChange( GtkToggleButton *button, CPUGraph *base );
+void AssociateCommandChange( GtkEntry *entry, CPUGraph *base );
+void ColorModeChange( GtkOptionMenu *om, CPUGraph *base );
+gboolean LaunchCommand( GtkWidget *w, GdkEventButton *event, CPUGraph *base );
#endif
diff --git a/panel-plugin/mode.c b/panel-plugin/mode.c
index 3a594c6..f6aac9a 100644
--- a/panel-plugin/mode.c
+++ b/panel-plugin/mode.c
@@ -24,148 +24,131 @@
#include "mode.h"
/*** MODE 0 : Normal ***/
-void drawGraphModeNormal (CPUGraph *base, GdkGC *fg1, GtkWidget *da, int w, int h){
- int x, y;
-
- for (x = w; x >= 0; x--)
- {
- long usage = h * base->m_History[w - x] / CPU_SCALE;
-
- if(usage == 0) continue;
-
- if (base->m_ColorMode == 0) {
- gdk_gc_set_rgb_fg_color (fg1, &base->m_ForeGround1);
-
- if(base->m_Frame)
- gdk_draw_line (da->window, fg1, x+1, h+1-usage, x+1, h);
- else
- gdk_draw_line (da->window, fg1, x, h-usage, x, h-1);
- }
- else if (base->m_ColorMode == 3) /* cpu freq. based */
- {
- GdkColor color;
- double t = (double) (base->m_History[base->m_Values+ w - x] - base->m_CpuData[0].scalMinFreq)
- / (base->m_CpuData[0].scalMaxFreq - base->m_CpuData[0].scalMinFreq);
-
- color.red = _lerp (t, base->m_ForeGround1.red,
- base->m_ForeGround2.red);
- color.green = _lerp (t, base->m_ForeGround1.green,
- base->m_ForeGround2.green);
- color.blue = _lerp (t, base->m_ForeGround1.blue,
- base->m_ForeGround2.blue);
- gdk_gc_set_rgb_fg_color (fg1, &color);
-
- if(base->m_Frame)
- gdk_draw_line (da->window, fg1
- , x+1, h+1-usage, x+1, h);
- else
- gdk_draw_line (da->window, fg1
- , x, h-usage, x, h-1);
-
- }
- else /* 1 or 2 */
- {
- int tmp = 0;
- int length = h - (h - usage);
- for (y = h; y >= h - usage; y--, tmp++)
- {
- if (base->m_ColorMode > 0)
- {
- GdkColor color;
- double t =
- (base->m_ColorMode == 1) ? (tmp / (double) (h)) :
- (tmp / (double) (length));
- color.red =
- _lerp (t, base->m_ForeGround1.red,
- base->m_ForeGround2.red);
- color.green =
- _lerp (t, base->m_ForeGround1.green,
- base->m_ForeGround2.green);
- color.blue =
- _lerp (t, base->m_ForeGround1.blue,
- base->m_ForeGround2.blue);
- gdk_gc_set_rgb_fg_color (fg1, &color);
- }
- gdk_draw_point (da->window, fg1, x, y);
- }
- }
- }
+void drawGraphModeNormal( CPUGraph *base, GdkGC *fg1, GtkWidget *da, int w, int h )
+{
+ int x, y;
+
+ for( x = w; x >= 0; x-- )
+ {
+ long usage = h * base->m_History[w - x] / CPU_SCALE;
+
+ if( usage == 0 ) continue;
+
+ if( base->m_ColorMode == 0 )
+ {
+ gdk_gc_set_rgb_fg_color( fg1, &base->m_ForeGround1 );
+
+ if( base->m_Frame )
+ gdk_draw_line( da->window, fg1, x+1, h+1-usage, x+1, h );
+ else
+ gdk_draw_line( da->window, fg1, x, h-usage, x, h-1 );
+ }
+ else if( base->m_ColorMode == 3 ) /* cpu freq. based */
+ {
+ GdkColor color;
+ double t = (double) (base->m_History[base->m_Values+ w - x] - base->m_CpuData[0].scalMinFreq)
+ / (base->m_CpuData[0].scalMaxFreq - base->m_CpuData[0].scalMinFreq);
+
+ color.red = _lerp (t, base->m_ForeGround1.red,
+ base->m_ForeGround2.red);
+ color.green = _lerp (t, base->m_ForeGround1.green,
+ base->m_ForeGround2.green);
+ color.blue = _lerp (t, base->m_ForeGround1.blue,
+ base->m_ForeGround2.blue);
+ gdk_gc_set_rgb_fg_color( fg1, &color );
+
+ if( base->m_Frame )
+ gdk_draw_line( da->window, fg1 , x+1, h+1-usage, x+1, h );
+ else
+ gdk_draw_line( da->window, fg1 , x, h-usage, x, h-1 );
+
+ }
+ else /* 1 or 2 */
+ {
+ int tmp = 0;
+ int length = h - (h - usage);
+ for( y = h; y >= h - usage; y--, tmp++ )
+ {
+ if( base->m_ColorMode > 0 )
+ {
+ GdkColor color;
+ double t = (base->m_ColorMode == 1) ?
+ (tmp / (double) (h)) :
+ (tmp / (double) (length));
+ color.red = _lerp( t, base->m_ForeGround1.red, base->m_ForeGround2.red );
+ color.green = _lerp( t, base->m_ForeGround1.green, base->m_ForeGround2.green );
+ color.blue = _lerp( t, base->m_ForeGround1.blue, base->m_ForeGround2.blue );
+ gdk_gc_set_rgb_fg_color( fg1, &color );
+ }
+ gdk_draw_point( da->window, fg1, x, y );
+ }
+ }
+ }
}
/*** MODE 1 : LED ***/
-void drawGraphModeLED (CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w, int h){
- int nrx = (int)((w + 1) / 3.0);
- int nry = (int)((h + 1) / 2.0);
- int x, y;
-
- gdk_gc_set_rgb_fg_color (fg1, &base->m_ForeGround1);
- gdk_gc_set_rgb_fg_color (fg2, &base->m_ForeGround2);
-
- for (x = nrx ; x >= 0; x--)
- {
- int tmp = 0;
- int idx = nrx-x;
- int limit = (int)(nry - nry * base->m_History[idx]/CPU_SCALE);
-
- for (y = nry; y >= 0; y--)
- {
- if (base->m_ColorMode > 0)
- {
- GdkColor color;
- double t =
- (base->m_ColorMode == 1) ?
- (tmp / nry) :
- (tmp / limit);
- color.red =
- _lerp (t, base->m_ForeGround2.red,
- base->m_ForeGround3.red);
- color.green =
- _lerp (t, base->m_ForeGround2.green,
- base->m_ForeGround3.green);
- color.blue =
- _lerp (t, base->m_ForeGround2.blue,
- base->m_ForeGround3.blue);
- gdk_gc_set_rgb_fg_color (fg2, &color);
- tmp++;
- }
- gdk_draw_rectangle (da->window,
- (y >= limit) ? fg1 : fg2,
- TRUE, x * 3, y * 2, 2, 1);
-
- }
- }
+void drawGraphModeLED( CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w, int h )
+{
+ int nrx = (int)((w + 1) / 3.0);
+ int nry = (int)((h + 1) / 2.0);
+ int x, y;
+
+ gdk_gc_set_rgb_fg_color( fg1, &base->m_ForeGround1 );
+ gdk_gc_set_rgb_fg_color( fg2, &base->m_ForeGround2 );
+
+ for( x = nrx ; x >= 0; x-- )
+ {
+ int tmp = 0;
+ int idx = nrx-x;
+ int limit = (int)(nry - nry * base->m_History[idx]/CPU_SCALE);
+
+ for( y = nry; y >= 0; y-- )
+ {
+ if( base->m_ColorMode > 0 )
+ {
+ GdkColor color;
+ double t = (base->m_ColorMode == 1) ?
+ (tmp / nry) :
+ (tmp / limit);
+ color.red = _lerp( t, base->m_ForeGround2.red, base->m_ForeGround3.red );
+ color.green = _lerp( t, base->m_ForeGround2.green, base->m_ForeGround3.green );
+ color.blue = _lerp( t, base->m_ForeGround2.blue, base->m_ForeGround3.blue );
+ gdk_gc_set_rgb_fg_color( fg2, &color );
+ tmp++;
+ }
+ gdk_draw_rectangle (da->window,
+ (y >= limit) ? fg1 : fg2,
+ TRUE, x * 3, y * 2, 2, 1);
+
+ }
+ }
}
/*** MODE 2 : NoHistory ***/
-void drawGraphModeNoHistory(CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w, int h){
- int y;
- long usage = h * base->m_History[0] / CPU_SCALE;
- int tmp = 0;
- int length = usage;
-
- for (y = h; y >= h - usage; y--)
- {
- if (base->m_ColorMode > 0)
- {
- GdkColor color;
- double t =
- (base->m_ColorMode == 1) ? (tmp / (double) (h)) :
- (tmp / (double) (length));
- color.red =
- _lerp (t, base->m_ForeGround1.red,
- base->m_ForeGround2.red);
- color.green =
- _lerp (t, base->m_ForeGround1.green,
- base->m_ForeGround2.green);
- color.blue =
- _lerp (t, base->m_ForeGround1.blue,
- base->m_ForeGround2.blue);
- gdk_gc_set_rgb_fg_color (fg2, &color);
- tmp++;
- }
- gdk_draw_line (da->window,
- (base->m_ColorMode > 0) ? fg2 : fg1,
- 0, y, w, y);
- }
+void drawGraphModeNoHistory( CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w, int h )
+{
+ int y;
+ long usage = h * base->m_History[0] / CPU_SCALE;
+ int tmp = 0;
+ int length = usage;
+
+ for( y = h; y >= h - usage; y-- )
+ {
+ if( base->m_ColorMode > 0 )
+ {
+ GdkColor color;
+ double t = (base->m_ColorMode == 1) ?
+ (tmp / (double) (h)) :
+ (tmp / (double) (length));
+ color.red = _lerp( t, base->m_ForeGround1.red, base->m_ForeGround2.red );
+ color.green = _lerp( t, base->m_ForeGround1.green, base->m_ForeGround2.green );
+ color.blue = _lerp( t, base->m_ForeGround1.blue, base->m_ForeGround2.blue );
+ gdk_gc_set_rgb_fg_color( fg2, &color );
+ tmp++;
+ }
+ gdk_draw_line (da->window,
+ (base->m_ColorMode > 0) ? fg2 : fg1,
+ 0, y, w, y);
+ }
}
diff --git a/panel-plugin/mode.h b/panel-plugin/mode.h
index 735423a..74ce871 100644
--- a/panel-plugin/mode.h
+++ b/panel-plugin/mode.h
@@ -3,8 +3,8 @@
#include "cpu.h"
-void drawGraphModeNormal(CPUGraph *base, GdkGC *fg1, GtkWidget *da, int w, int h);
-void drawGraphModeLED(CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w, int h);
-void drawGraphModeNoHistory(CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w, int h);
+void drawGraphModeNormal( CPUGraph *base, GdkGC *fg1, GtkWidget *da, int w, int h );
+void drawGraphModeLED( CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w, int h );
+void drawGraphModeNoHistory( CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w, int h );
#endif
diff --git a/panel-plugin/os.c b/panel-plugin/os.c
index 5a82859..c063778 100644
--- a/panel-plugin/os.c
+++ b/panel-plugin/os.c
@@ -16,68 +16,81 @@
CpuData *cpudata = NULL;
int nrCpus = 0;
-void cpuData_free(){
- free(cpudata);
- cpudata = NULL;
- nrCpus = 0;
+void cpuData_free()
+{
+ free( cpudata );
+ cpudata = NULL;
+ nrCpus = 0;
}
#if defined (__linux__)
-int cpuData_init(){
- FILE *fstat = NULL;
- char cpuStr[PROCMAXLNLEN];
- int i, cpuNr = -1;
- /* Check if previously initalized */
- if(cpudata != NULL) return(-2);
+int cpuData_init()
+{
+ FILE *fstat = NULL;
+ char cpuStr[PROCMAXLNLEN];
+ int i, cpuNr = -1;
+ /* Check if previously initalized */
+ if( cpudata != NULL )
+ return -2;
/* Open proc stat file */
- if(!(fstat = fopen(PROC_STAT, "r"))) return(-1);
+ if( !(fstat = fopen( PROC_STAT, "r" )) )
+ return -1;
/* Read each cpu line at time */
- do{
- if(!fgets(cpuStr, PROCMAXLNLEN, fstat)) return(cpuNr);
+ do
+ {
+ if( !fgets( cpuStr, PROCMAXLNLEN, fstat ) )
+ return cpuNr;
cpuNr++;
}
- while(strncmp(cpuStr, "cpu", 3) == 0);
+ while( strncmp( cpuStr, "cpu", 3 ) == 0 );
/* Alloc storage for cpu data stuff */
- cpudata = (CpuData *) calloc(cpuNr, sizeof(CpuData));
- if(cpudata == NULL) return(-3);
-
- /* init frequency */
- for(i=cpuNr-1; i>=0; i--){
- cpudata[i].scalCurFreq = 0;
- cpudata[i].scalMinFreq = 0;
- cpudata[i].scalMaxFreq = -1;
- }
-
- fclose(fstat);
- return(nrCpus=cpuNr);
+ cpudata = (CpuData *) calloc( cpuNr, sizeof( CpuData ) );
+ if( cpudata == NULL )
+ return-3;
+
+ /* init frequency */
+ for( i=cpuNr-1; i>=0; i-- )
+ {
+ cpudata[i].scalCurFreq = 0;
+ cpudata[i].scalMinFreq = 0;
+ cpudata[i].scalMaxFreq = -1;
+ }
+
+ fclose( fstat );
+ return nrCpus = cpuNr;
}
-CpuData *cpuData_read(){
- FILE *fStat = NULL;
+CpuData *cpuData_read()
+{
+ FILE *fStat = NULL;
char cpuStr[PROCMAXLNLEN];
unsigned long user, nice, system, idle, used, total;
- unsigned long iowait=0, irq=0, softirq=0;
+ unsigned long iowait=0, irq=0, softirq=0;
int cpuNr = 0;
- /* Check if callable */
- if((cpudata == NULL) || (nrCpus == 0)) return(NULL);
+ /* Check if callable */
+ if( (cpudata == NULL) || (nrCpus == 0) )
+ return NULL;
/* Open proc stat file */
- if(!(fStat = fopen(PROC_STAT, "r"))) return(NULL);
-
- /* Read each cpu line at time */
- do{
- if(!fgets(cpuStr, PROCMAXLNLEN, fStat)) return(cpudata);
- if(sscanf(cpuStr, "%*s %ld %ld %ld %ld %ld %ld %ld",
- &user, &nice, &system, &idle, &iowait, &irq, &softirq) < 7)
- iowait = irq = softirq = 0;
- used = user + nice + system + irq + softirq;
- total = used + idle + iowait;
- if((total - cpudata[cpuNr].pTotal) != 0){
- cpudata[cpuNr].load = CPU_SCALE * (float)(used - cpudata[cpuNr].pUsed)
- / (float)(total - cpudata[cpuNr].pTotal);
+ if( !(fStat = fopen( PROC_STAT, "r" )) )
+ return NULL;
+
+ /* Read each cpu line at time */
+ do
+ {
+ if( !fgets( cpuStr, PROCMAXLNLEN, fStat ) )
+ return cpudata;
+ if( sscanf( cpuStr, "%*s %ld %ld %ld %ld %ld %ld %ld", &user, &nice, &system, &idle, &iowait, &irq, &softirq ) < 7 )
+ iowait = irq = softirq = 0;
+ used = user + nice + system + irq + softirq;
+ total = used + idle + iowait;
+ if( (total - cpudata[cpuNr].pTotal) != 0 )
+ {
+ cpudata[cpuNr].load = CPU_SCALE * (float)(used - cpudata[cpuNr].pUsed) /
+ (float)(total - cpudata[cpuNr].pTotal);
}
else
{
@@ -86,49 +99,54 @@ CpuData *cpuData_read(){
cpudata[cpuNr].pUsed = used;
cpudata[cpuNr].pTotal = total;
cpuNr++;
- }
- while((cpuNr < nrCpus) && (strncmp(cpuStr, "cpu", 3) == 0));
+ }
+ while( (cpuNr < nrCpus) && (strncmp( cpuStr, "cpu", 3 ) == 0) );
- fclose(fStat);
+ fclose( fStat );
- return cpudata;
+ return cpudata;
}
#elif defined (__FreeBSD__)
-void cpuData_init(){
- int i, cpuNr = -1;
+void cpuData_init()
+{
+ int i, cpuNr = -1;
- /* Check if previously initalized */
- if(cpudata != NULL) return(-2);
+ /* Check if previously initalized */
+ if( cpudata != NULL )
+ return -2;
- cpuNr = 1;
+ cpuNr = 1;
/* Alloc storage for cpu data stuff */
- cpudata = (CpuData *) calloc(cpuNr, sizeof(CpuData));
- if(cpudata == NULL) return(-3);
-
- /* init frequency */
- for(i=cpuNr-1; i>=0; i--){
- cpudata[i].scalCurFreq = 0;
- cpudata[i].scalMinFreq = 0;
- cpudata[i].scalMaxFreq = -1;
- }
-
- fclose(fstat);
- return(nrCpus=cpuNr);
+ cpudata = (CpuData *) calloc( cpuNr, sizeof( CpuData ) );
+ if( cpudata == NULL )
+ return -3;
+
+ /* init frequency */
+ for( i=cpuNr-1; i>=0; i-- )
+ {
+ cpudata[i].scalCurFreq = 0;
+ cpudata[i].scalMinFreq = 0;
+ cpudata[i].scalMaxFreq = -1;
+ }
+
+ fclose( fstat );
+ return nrCpus = cpuNr;
}
-CpuData *cpuData_read(){
+CpuData *cpuData_read()
+{
unsigned long user, nice, sys, bsdidle, idle;
unsigned long used, total;
long cp_time[CPUSTATES];
- size_t len = sizeof (cp_time);
+ size_t len = sizeof( cp_time );
long usage;
- if (sysctlbyname ("kern.cp_time", &cp_time, &len, NULL, 0) < 0)
+ if( sysctlbyname( "kern.cp_time", &cp_time, &len, NULL, 0 ) < 0 )
{
- printf ("Cannot get kern.cp_time.\n");
+ printf( "Cannot get kern.cp_time.\n" );
return -1;
}
@@ -140,7 +158,7 @@ CpuData *cpuData_read(){
used = user+nice+sys;
total = used+bsdidle;
- if ((total - cpudata[0].pTotal) != 0)
+ if( (total - cpudata[0].pTotal) != 0 )
cpudata[0].pTotal = (CPU_SCALE.0 * (used - cpudata[0].pTotal))/(total - cpudata[0].pTotal);
else
cpudata[0].pTotal = 0;
@@ -148,44 +166,49 @@ CpuData *cpuData_read(){
cpudata[0].pUsed = used;
cpudata[0].pTotal = total;
- return cpudata;
+ return cpudata;
}
#elif defined (__NetBSD__)
-void cpuData_init(){
- int i, cpuNr = -1;
+void cpuData_init()
+{
+ int i, cpuNr = -1;
- /* Check if previously initalized */
- if(cpudata != NULL) return(-2);
+ /* Check if previously initalized */
+ if( cpudata != NULL )
+ return -2;
- cpuNr = 1;
+ cpuNr = 1;
/* Alloc storage for cpu data stuff */
- cpudata = (CpuData *) calloc(cpuNr, sizeof(CpuData));
- if(cpudata == NULL) return(-3);
-
- /* init frequency */
- for(i=cpuNr-1; i>=0; i--){
- cpudata[i].scalCurFreq = 0;
- cpudata[i].scalMinFreq = 0;
- cpudata[i].scalMaxFreq = -1;
- }
-
- fclose(fstat);
- return(nrCpus=cpuNr);
+ cpudata = (CpuData *) calloc( cpuNr, sizeof( CpuData ) );
+ if( cpudata == NULL )
+ return -3;
+
+ /* init frequency */
+ for( i=cpuNr-1; i>=0; i-- )
+ {
+ cpudata[i].scalCurFreq = 0;
+ cpudata[i].scalMinFreq = 0;
+ cpudata[i].scalMaxFreq = -1;
+ }
+
+ fclose( fstat );
+ return nrCpus = cpuNr;
}
-CpuData *cpuData_read(){
+CpuData *cpuData_read()
+{
long user, nice, sys, bsdidle, idle;
long used, total, usage;
static int mib[] = {CTL_KERN, KERN_CP_TIME };
u_int64_t cp_time[CPUSTATES];
- size_t len = sizeof (cp_time);
+ size_t len = sizeof( cp_time );
- if (sysctl (mib, 2, &cp_time, &len, NULL, 0) < 0)
+ if( sysctl( mib, 2, &cp_time, &len, NULL, 0 ) < 0 )
{
- printf ("Cannot get kern.cp_time\n");
+ printf( "Cannot get kern.cp_time\n" );
return -1;
}
@@ -198,70 +221,76 @@ CpuData *cpuData_read(){
used = user+nice+sys;
total = used+bsdidle;
- if (total - cpudata[0].pTotal != 0)
- usage = (CPU_SCALE * (double)(used - cpudata[0].pTotal))/(double)(total - cpudata[0].pTotal);
+ if( total - cpudata[0].pTotal != 0 )
+ usage = (CPU_SCALE * (double)(used - cpudata[0].pTotal)) / (double)(total - cpudata[0].pTotal);
else
usage = 0;
cpudata[0].pUsed = used;
cpudata[0].pTotal = total;
- return cpudata;
+ return cpudata;
}
#elif defined (__OpenBSD_)
-void cpuData_init(){
- int i, cpuNr = -1;
+void cpuData_init()
+{
+ int i, cpuNr = -1;
- /* Check if previously initalized */
- if(cpudata != NULL) return(-2);
+ /* Check if previously initalized */
+ if( cpudata != NULL )
+ return -2;
- cpuNr = 1;
+ cpuNr = 1;
/* Alloc storage for cpu data stuff */
- cpudata = (CpuData *) calloc(cpuNr, sizeof(CpuData));
- if(cpudata == NULL) return(-3);
-
- /* init frequency */
- for(i=cpuNr-1; i>=0; i--){
- cpudata[i].scalCurFreq = 0;
- cpudata[i].scalMinFreq = 0;
- cpudata[i].scalMaxFreq = -1;
- }
-
- fclose(fstat);
- return(nrCpus=cpuNr);
+ cpudata = (CpuData *) calloc( cpuNr, sizeof( CpuData ) );
+ if( cpudata == NULL )
+ return -3;
+
+ /* init frequency */
+ for( i=cpuNr-1; i>=0; i-- )
+ {
+ cpudata[i].scalCurFreq = 0;
+ cpudata[i].scalMinFreq = 0;
+ cpudata[i].scalMaxFreq = -1;
+ }
+
+ fclose( fstat );
+ return nrCpus = cpuNr;
}
-CpuData *cpuData_read(){
- unsigned long user, nice, sys, bsdidle, idle;
- unsigned long used, total, usage;
- static int mib[] = {CTL_KERN, KERN_CP_TIME };
- u_int64_t cp_time[CPUSTATES];
- size_t len = sizeof (cp_time);
- if (sysctl (mib, 2, &cp_time, &len, NULL, 0) < 0){
- printf ("Cannot get kern.cp_time\n");
- return -1;
- }
+CpuData *cpuData_read()
+{
+ unsigned long user, nice, sys, bsdidle, idle;
+ unsigned long used, total, usage;
+ static int mib[] = {CTL_KERN, KERN_CP_TIME };
+ u_int64_t cp_time[CPUSTATES];
+ size_t len = sizeof( cp_time );
+ if( sysctl( mib, 2, &cp_time, &len, NULL, 0) < 0 )
+ {
+ printf( "Cannot get kern.cp_time\n" );
+ return -1;
+ }
user = cp_time[CP_USER];
nice = cp_time[CP_NICE];
- sys = cp_time[CP_SYS];
- bsdidle = cp_time[CP_INTR];
- idle = cp_time[CP_IDLE];
+ sys = cp_time[CP_SYS];
+ bsdidle = cp_time[CP_INTR];
+ idle = cp_time[CP_IDLE];
- used = user+nice+sys;
- total = used+bsdidle;
+ used = user+nice+sys;
+ total = used+bsdidle;
- if (total - cpudata[0].pTotal != 0)
+ if( total - cpudata[0].pTotal != 0 )
usage = (CPU_SCALE * (double)(used - cpudata[0].pTotal))/(double)(total - cpudata[0].pTotal);
else
- usage = 0;
- cpudata[0].pUsed = used;
- cpudata[0].pTotal = total;
+ usage = 0;
+ cpudata[0].pUsed = used;
+ cpudata[0].pTotal = total;
- return cpudata;
+ return cpudata;
}
#else
#error "You're OS is not supported."
diff --git a/panel-plugin/os.h b/panel-plugin/os.h
index 1a81148..d22fba4 100644
--- a/panel-plugin/os.h
+++ b/panel-plugin/os.h
@@ -36,19 +36,20 @@
#define CPU_SCALE 100000
-typedef struct s_cpuData{
- float load; /* cpu utilization */
- unsigned long pUsed; /* Previous value of used cpu time */
+typedef struct s_cpuData
+{
+ float load; /* cpu utilization */
+ unsigned long pUsed; /* Previous value of used cpu time */
unsigned long pTotal; /* Previous value of total cpu time */
- long scalCurFreq;
- long scalMinFreq;
- long scalMaxFreq;
+ long scalCurFreq;
+ long scalMinFreq;
+ long scalMaxFreq;
} CpuData;
int cpuData_init();
void cpuData_free();
CpuData *cpuData_read();
-void setFrequencyScaling(int cpuId);
+void setFrequencyScaling( int cpuId );
#endif
More information about the Xfce4-commits
mailing list