Hide Swap usage from statusbar when swap total equals zero
This commit is contained in:
@@ -29,10 +29,14 @@ init_timeout (void)
|
||||
{
|
||||
guint num_processes;
|
||||
gfloat cpu, memory, swap;
|
||||
guint64 swap_free, swap_total;
|
||||
|
||||
xtm_task_manager_get_system_info (task_manager, &num_processes, &cpu, &memory, &swap);
|
||||
xtm_process_window_set_system_info (XTM_PROCESS_WINDOW (window), num_processes, cpu, memory, swap);
|
||||
|
||||
xtm_task_manager_get_swap_usage (task_manager, &swap_free, &swap_total);
|
||||
xtm_process_window_show_swap_usage (XTM_PROCESS_WINDOW (window), (swap_total > 0));
|
||||
|
||||
xtm_task_manager_update_model (task_manager);
|
||||
|
||||
if (timeout == 0)
|
||||
|
||||
@@ -25,6 +25,7 @@ enum
|
||||
PROP_CPU = 1,
|
||||
PROP_MEMORY,
|
||||
PROP_SWAP,
|
||||
PROP_SHOW_SWAP,
|
||||
PROP_NUM_PROCESSES,
|
||||
};
|
||||
typedef struct _XtmProcessStatusbarClass XtmProcessStatusbarClass;
|
||||
@@ -66,6 +67,8 @@ xtm_process_statusbar_class_init (XtmProcessStatusbarClass *klass)
|
||||
g_param_spec_float ("memory", "Memory", "Memory usage", 0, 100, 0, G_PARAM_CONSTRUCT|G_PARAM_WRITABLE));
|
||||
g_object_class_install_property (class, PROP_SWAP,
|
||||
g_param_spec_float ("swap", "Swap", "Swap usage", 0, 100, 0, G_PARAM_CONSTRUCT|G_PARAM_WRITABLE));
|
||||
g_object_class_install_property (class, PROP_SHOW_SWAP,
|
||||
g_param_spec_boolean ("show-swap", "ShowSwap", "Show or hide swap usage", TRUE, G_PARAM_WRITABLE));
|
||||
g_object_class_install_property (class, PROP_NUM_PROCESSES,
|
||||
g_param_spec_uint ("num-processes", "NumProcesses", "Number of processes", 0, G_MAXUINT, 0, G_PARAM_CONSTRUCT|G_PARAM_WRITABLE));
|
||||
}
|
||||
@@ -157,6 +160,13 @@ xtm_process_statusbar_set_property (GObject *object, guint property_id, const GV
|
||||
g_free (text);
|
||||
break;
|
||||
|
||||
case PROP_SHOW_SWAP:
|
||||
if (g_value_get_boolean (value))
|
||||
gtk_widget_show (statusbar->label_swap);
|
||||
else
|
||||
gtk_widget_hide (statusbar->label_swap);
|
||||
break;
|
||||
|
||||
case PROP_NUM_PROCESSES:
|
||||
statusbar->num_processes = g_value_get_uint (value);
|
||||
text = g_strdup_printf (_("Processes: %d"), statusbar->num_processes);
|
||||
|
||||
@@ -424,3 +424,11 @@ xtm_process_window_set_system_info (XtmProcessWindow *window, guint num_processe
|
||||
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (window->priv->cpu_monitor), cpu / 100.0);
|
||||
}
|
||||
|
||||
void
|
||||
xtm_process_window_show_swap_usage (XtmProcessWindow *window, gboolean show_swap_usage)
|
||||
{
|
||||
g_return_if_fail (XTM_IS_PROCESS_WINDOW (window));
|
||||
g_return_if_fail (GTK_IS_STATUSBAR (window->priv->statusbar));
|
||||
g_object_set (window->priv->statusbar, "show-swap", show_swap_usage, NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -269,6 +269,8 @@ xtm_task_manager_get_system_info (XtmTaskManager *manager, guint *num_processes,
|
||||
{
|
||||
guint64 memory_used, swap_used;
|
||||
|
||||
g_return_if_fail (XTM_IS_TASK_MANAGER (manager));
|
||||
|
||||
/* Set number of processes */
|
||||
*num_processes = manager->tasks->len;
|
||||
|
||||
@@ -287,9 +289,18 @@ xtm_task_manager_get_system_info (XtmTaskManager *manager, guint *num_processes,
|
||||
*cpu = manager->cpu_user + manager->cpu_system;
|
||||
}
|
||||
|
||||
void
|
||||
xtm_task_manager_get_swap_usage (XtmTaskManager *manager, guint64 *swap_free, guint64 *swap_total)
|
||||
{
|
||||
g_return_if_fail (XTM_IS_TASK_MANAGER (manager));
|
||||
*swap_free = manager->swap_free;
|
||||
*swap_total = manager->swap_total;
|
||||
}
|
||||
|
||||
const GArray *
|
||||
xtm_task_manager_get_task_list (XtmTaskManager *manager)
|
||||
{
|
||||
g_return_val_if_fail (XTM_IS_TASK_MANAGER (manager), NULL);
|
||||
xtm_task_manager_update_model (manager);
|
||||
return manager->tasks;
|
||||
}
|
||||
@@ -300,6 +311,8 @@ xtm_task_manager_update_model (XtmTaskManager *manager)
|
||||
GArray *array;
|
||||
guint i;
|
||||
|
||||
g_return_if_fail (XTM_IS_TASK_MANAGER (manager));
|
||||
|
||||
/* Retrieve initial task list and return */
|
||||
if (manager->tasks->len == 0)
|
||||
{
|
||||
|
||||
@@ -86,6 +86,7 @@ XtmTaskManager * xtm_task_manager_new (GtkTreeModel *model);
|
||||
const gchar * xtm_task_manager_get_username (XtmTaskManager *manager);
|
||||
const gchar * xtm_task_manager_get_hostname (XtmTaskManager *manager);
|
||||
void xtm_task_manager_get_system_info (XtmTaskManager *manager, guint *num_processes, gfloat *cpu, gfloat *memory, gfloat *swap);
|
||||
void xtm_task_manager_get_swap_usage (XtmTaskManager *manager, guint64 *swap_free, guint64 *swap_total);
|
||||
const GArray * xtm_task_manager_get_task_list (XtmTaskManager *manager);
|
||||
void xtm_task_manager_update_model (XtmTaskManager *manager);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user