diff --git a/panel-plugin/settings.c b/panel-plugin/settings.c index 0c90779..9d6eab3 100644 --- a/panel-plugin/settings.c +++ b/panel-plugin/settings.c @@ -1,5 +1,21 @@ #include "settings.h" +void fallback_command( const gchar **command, gboolean *in_terminal ) +{ + gchar *_command = g_find_program_in_path( "xfce4-taskmanager"); + if( _command != NULL ) + { + g_free( _command ); + *command = "xfce4-taskmanager"; + *in_terminal = FALSE; + } + else + { + *command = "top"; + *in_terminal = TRUE; + } +} + void read_settings( XfcePanelPlugin * plugin, CPUGraph * base ) { const char *value; @@ -46,6 +62,8 @@ void read_settings( XfcePanelPlugin * plugin, CPUGraph * base ) if( rc ) { + if( !xfce_rc_has_entry( rc, "AssociateCommand" ) ) + fallback_command( &associated_command, &in_terminal ); rate = xfce_rc_read_int_entry (rc, "UpdateInterval", rate ); nonlinear = xfce_rc_read_int_entry (rc, "TimeScale", nonlinear ); size = xfce_rc_read_int_entry( rc, "Size", size );