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;
|
guint num_processes;
|
||||||
gfloat cpu, memory, swap;
|
gfloat cpu, memory, swap;
|
||||||
|
guint64 swap_free, swap_total;
|
||||||
|
|
||||||
xtm_task_manager_get_system_info (task_manager, &num_processes, &cpu, &memory, &swap);
|
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_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);
|
xtm_task_manager_update_model (task_manager);
|
||||||
|
|
||||||
if (timeout == 0)
|
if (timeout == 0)
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ enum
|
|||||||
PROP_CPU = 1,
|
PROP_CPU = 1,
|
||||||
PROP_MEMORY,
|
PROP_MEMORY,
|
||||||
PROP_SWAP,
|
PROP_SWAP,
|
||||||
|
PROP_SHOW_SWAP,
|
||||||
PROP_NUM_PROCESSES,
|
PROP_NUM_PROCESSES,
|
||||||
};
|
};
|
||||||
typedef struct _XtmProcessStatusbarClass XtmProcessStatusbarClass;
|
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_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_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_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_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));
|
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);
|
g_free (text);
|
||||||
break;
|
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:
|
case PROP_NUM_PROCESSES:
|
||||||
statusbar->num_processes = g_value_get_uint (value);
|
statusbar->num_processes = g_value_get_uint (value);
|
||||||
text = g_strdup_printf (_("Processes: %d"), statusbar->num_processes);
|
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);
|
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;
|
guint64 memory_used, swap_used;
|
||||||
|
|
||||||
|
g_return_if_fail (XTM_IS_TASK_MANAGER (manager));
|
||||||
|
|
||||||
/* Set number of processes */
|
/* Set number of processes */
|
||||||
*num_processes = manager->tasks->len;
|
*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;
|
*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 *
|
const GArray *
|
||||||
xtm_task_manager_get_task_list (XtmTaskManager *manager)
|
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);
|
xtm_task_manager_update_model (manager);
|
||||||
return manager->tasks;
|
return manager->tasks;
|
||||||
}
|
}
|
||||||
@@ -300,6 +311,8 @@ xtm_task_manager_update_model (XtmTaskManager *manager)
|
|||||||
GArray *array;
|
GArray *array;
|
||||||
guint i;
|
guint i;
|
||||||
|
|
||||||
|
g_return_if_fail (XTM_IS_TASK_MANAGER (manager));
|
||||||
|
|
||||||
/* Retrieve initial task list and return */
|
/* Retrieve initial task list and return */
|
||||||
if (manager->tasks->len == 0)
|
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_username (XtmTaskManager *manager);
|
||||||
const gchar * xtm_task_manager_get_hostname (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_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);
|
const GArray * xtm_task_manager_get_task_list (XtmTaskManager *manager);
|
||||||
void xtm_task_manager_update_model (XtmTaskManager *manager);
|
void xtm_task_manager_update_model (XtmTaskManager *manager);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user