[Xfce4-commits] <xfce4-taskmanager:master> Hide Swap usage from statusbar when swap total equals zero
Mike Massonnet
noreply at xfce.org
Sun May 23 20:58:06 CEST 2010
Updating branch refs/heads/master
to 4dc36d296aec5e862e4887612368249f82649930 (commit)
from d806b12544e29ee05dffe23e4a1f34d16377734c (commit)
commit 4dc36d296aec5e862e4887612368249f82649930
Author: Mike Massonnet <mmassonnet at xfce.org>
Date: Sun May 23 19:57:25 2010 +0200
Hide Swap usage from statusbar when swap total equals zero
src/main.c | 4 ++++
src/process-statusbar.c | 10 ++++++++++
src/process-window.c | 8 ++++++++
src/task-manager.c | 13 +++++++++++++
src/task-manager.h | 1 +
5 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/src/main.c b/src/main.c
index 79e0cb5..9503ec7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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)
diff --git a/src/process-statusbar.c b/src/process-statusbar.c
index 60a64b8..836e2ad 100644
--- a/src/process-statusbar.c
+++ b/src/process-statusbar.c
@@ -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);
diff --git a/src/process-window.c b/src/process-window.c
index 4cbe9af..da40c7e 100644
--- a/src/process-window.c
+++ b/src/process-window.c
@@ -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);
+}
+
diff --git a/src/task-manager.c b/src/task-manager.c
index 32fef58..9f13c48 100644
--- a/src/task-manager.c
+++ b/src/task-manager.c
@@ -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)
{
diff --git a/src/task-manager.h b/src/task-manager.h
index df6e939..ab386a0 100644
--- a/src/task-manager.h
+++ b/src/task-manager.h
@@ -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);
More information about the Xfce4-commits
mailing list