Use GtkLevel widgets for swap and memory as well
This commit is contained in:
parent
b06fc2a378
commit
94c56a9fa4
|
@ -51,6 +51,9 @@ typedef struct _PanelApplet
|
||||||
static Memory * _memory_init(PanelAppletHelper * helper, GtkWidget ** widget);
|
static Memory * _memory_init(PanelAppletHelper * helper, GtkWidget ** widget);
|
||||||
static void _memory_destroy(Memory * memory);
|
static void _memory_destroy(Memory * memory);
|
||||||
|
|
||||||
|
/* accessors */
|
||||||
|
static void _memory_set(Memory * memory, gdouble level);
|
||||||
|
|
||||||
/* callbacks */
|
/* callbacks */
|
||||||
#if defined(__FreeBSD__) || defined(__linux__) || defined(__NetBSD__)
|
#if defined(__FreeBSD__) || defined(__linux__) || defined(__NetBSD__)
|
||||||
static gboolean _memory_on_timeout(gpointer data);
|
static gboolean _memory_on_timeout(gpointer data);
|
||||||
|
@ -77,6 +80,7 @@ PanelAppletDefinition applet =
|
||||||
/* memory_init */
|
/* memory_init */
|
||||||
static Memory * _memory_init(PanelAppletHelper * helper, GtkWidget ** widget)
|
static Memory * _memory_init(PanelAppletHelper * helper, GtkWidget ** widget)
|
||||||
{
|
{
|
||||||
|
const GtkOrientation orientation = GTK_ORIENTATION_VERTICAL;
|
||||||
#if defined(__FreeBSD__) || defined(__linux__) || defined(__NetBSD__)
|
#if defined(__FreeBSD__) || defined(__linux__) || defined(__NetBSD__)
|
||||||
const int timeout = 5000;
|
const int timeout = 5000;
|
||||||
Memory * memory;
|
Memory * memory;
|
||||||
|
@ -103,15 +107,22 @@ static Memory * _memory_init(PanelAppletHelper * helper, GtkWidget ** widget)
|
||||||
gtk_widget_modify_font(label, desc);
|
gtk_widget_modify_font(label, desc);
|
||||||
#endif
|
#endif
|
||||||
gtk_box_pack_start(GTK_BOX(memory->widget), label, FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(memory->widget), label, FALSE, FALSE, 0);
|
||||||
#if GTK_CHECK_VERSION(3, 0, 0)
|
#if GTK_CHECK_VERSION(3, 6, 0)
|
||||||
memory->scale = gtk_scale_new_with_range(GTK_ORIENTATION_VERTICAL, 0,
|
memory->scale = gtk_level_bar_new_for_interval(0.0, 100.0);
|
||||||
100, 1);
|
# if GTK_CHECK_VERSION(3, 8, 0)
|
||||||
|
gtk_level_bar_set_inverted(GTK_LEVEL_BAR(memory->scale), TRUE);
|
||||||
|
# endif
|
||||||
|
gtk_orientable_set_orientation(GTK_ORIENTABLE(memory->scale), orientation);
|
||||||
#else
|
#else
|
||||||
|
# if GTK_CHECK_VERSION(3, 0, 0)
|
||||||
|
memory->scale = gtk_scale_new_with_range(orientation, 0, 100, 1);
|
||||||
|
# else
|
||||||
memory->scale = gtk_vscale_new_with_range(0, 100, 1);
|
memory->scale = gtk_vscale_new_with_range(0, 100, 1);
|
||||||
#endif
|
# endif
|
||||||
gtk_widget_set_sensitive(memory->scale, FALSE);
|
gtk_widget_set_sensitive(memory->scale, FALSE);
|
||||||
gtk_range_set_inverted(GTK_RANGE(memory->scale), TRUE);
|
gtk_range_set_inverted(GTK_RANGE(memory->scale), TRUE);
|
||||||
gtk_scale_set_value_pos(GTK_SCALE(memory->scale), GTK_POS_RIGHT);
|
gtk_scale_set_value_pos(GTK_SCALE(memory->scale), GTK_POS_RIGHT);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start(GTK_BOX(memory->widget), memory->scale, FALSE, FALSE,
|
gtk_box_pack_start(GTK_BOX(memory->widget), memory->scale, FALSE, FALSE,
|
||||||
0);
|
0);
|
||||||
memory->timeout = g_timeout_add(timeout, _memory_on_timeout, memory);
|
memory->timeout = g_timeout_add(timeout, _memory_on_timeout, memory);
|
||||||
|
@ -136,6 +147,18 @@ static void _memory_destroy(Memory * memory)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* accessors */
|
||||||
|
/* memory_set */
|
||||||
|
static void _memory_set(Memory * memory, gdouble level)
|
||||||
|
{
|
||||||
|
#if GTK_CHECK_VERSION(3, 6, 0)
|
||||||
|
gtk_level_bar_set_value(GTK_LEVEL_BAR(memory->scale), level);
|
||||||
|
#else
|
||||||
|
gtk_range_set_value(GTK_RANGE(memory->scale), level);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* callbacks */
|
/* callbacks */
|
||||||
/* memory_on_timeout */
|
/* memory_on_timeout */
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
|
@ -153,7 +176,7 @@ static gboolean _memory_on_timeout(gpointer data)
|
||||||
}
|
}
|
||||||
value = sy.sharedram;
|
value = sy.sharedram;
|
||||||
value /= sy.totalram;
|
value /= sy.totalram;
|
||||||
gtk_range_set_value(GTK_RANGE(memory->scale), value);
|
_memory_set(memory, value);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
#elif defined(__FreeBSD__) || defined(__NetBSD__)
|
#elif defined(__FreeBSD__) || defined(__NetBSD__)
|
||||||
|
@ -173,7 +196,7 @@ static gboolean _memory_on_timeout(gpointer data)
|
||||||
}
|
}
|
||||||
value = vm.t_arm * 100;
|
value = vm.t_arm * 100;
|
||||||
value /= (vm.t_rm + vm.t_free);
|
value /= (vm.t_rm + vm.t_free);
|
||||||
gtk_range_set_value(GTK_RANGE(memory->scale), value);
|
_memory_set(memory, value);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -47,6 +47,9 @@ typedef struct _PanelApplet
|
||||||
static Swap * _swap_init(PanelAppletHelper * helper, GtkWidget ** widget);
|
static Swap * _swap_init(PanelAppletHelper * helper, GtkWidget ** widget);
|
||||||
static void _swap_destroy(Swap * swap);
|
static void _swap_destroy(Swap * swap);
|
||||||
|
|
||||||
|
/* accessors */
|
||||||
|
static void _swap_set(Swap * swap, gdouble level);
|
||||||
|
|
||||||
/* callbacks */
|
/* callbacks */
|
||||||
static gboolean _swap_on_timeout(gpointer data);
|
static gboolean _swap_on_timeout(gpointer data);
|
||||||
|
|
||||||
|
@ -71,6 +74,7 @@ PanelAppletDefinition applet =
|
||||||
/* swap_init */
|
/* swap_init */
|
||||||
static Swap * _swap_init(PanelAppletHelper * helper, GtkWidget ** widget)
|
static Swap * _swap_init(PanelAppletHelper * helper, GtkWidget ** widget)
|
||||||
{
|
{
|
||||||
|
const GtkOrientation orientation = GTK_ORIENTATION_VERTICAL;
|
||||||
const int timeout = 5000;
|
const int timeout = 5000;
|
||||||
Swap * swap;
|
Swap * swap;
|
||||||
PangoFontDescription * desc;
|
PangoFontDescription * desc;
|
||||||
|
@ -96,15 +100,22 @@ static Swap * _swap_init(PanelAppletHelper * helper, GtkWidget ** widget)
|
||||||
gtk_widget_modify_font(label, desc);
|
gtk_widget_modify_font(label, desc);
|
||||||
#endif
|
#endif
|
||||||
gtk_box_pack_start(GTK_BOX(swap->widget), label, FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(swap->widget), label, FALSE, FALSE, 0);
|
||||||
#if GTK_CHECK_VERSION(3, 0, 0)
|
#if GTK_CHECK_VERSION(3, 6, 0)
|
||||||
swap->scale = gtk_scale_new_with_range(GTK_ORIENTATION_VERTICAL, 0, 100,
|
swap->scale = gtk_level_bar_new_for_interval(0.0, 100.0);
|
||||||
1);
|
# if GTK_CHECK_VERSION(3, 8, 0)
|
||||||
|
gtk_level_bar_set_inverted(GTK_LEVEL_BAR(swap->scale), TRUE);
|
||||||
|
# endif
|
||||||
|
gtk_orientable_set_orientation(GTK_ORIENTABLE(swap->scale), orientation);
|
||||||
#else
|
#else
|
||||||
|
# if GTK_CHECK_VERSION(3, 0, 0)
|
||||||
|
swap->scale = gtk_scale_new_with_range(orientation, 0, 100, 1);
|
||||||
|
# else
|
||||||
swap->scale = gtk_vscale_new_with_range(0, 100, 1);
|
swap->scale = gtk_vscale_new_with_range(0, 100, 1);
|
||||||
#endif
|
# endif
|
||||||
gtk_widget_set_sensitive(swap->scale, FALSE);
|
gtk_widget_set_sensitive(swap->scale, FALSE);
|
||||||
gtk_range_set_inverted(GTK_RANGE(swap->scale), TRUE);
|
gtk_range_set_inverted(GTK_RANGE(swap->scale), TRUE);
|
||||||
gtk_scale_set_value_pos(GTK_SCALE(swap->scale), GTK_POS_RIGHT);
|
gtk_scale_set_value_pos(GTK_SCALE(swap->scale), GTK_POS_RIGHT);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start(GTK_BOX(swap->widget), swap->scale, FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(swap->widget), swap->scale, FALSE, FALSE, 0);
|
||||||
if(_swap_on_timeout(swap) == TRUE)
|
if(_swap_on_timeout(swap) == TRUE)
|
||||||
swap->timeout = g_timeout_add(timeout, _swap_on_timeout, swap);
|
swap->timeout = g_timeout_add(timeout, _swap_on_timeout, swap);
|
||||||
|
@ -123,6 +134,16 @@ static void _swap_destroy(Swap * swap)
|
||||||
free(swap);
|
free(swap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* accessors */
|
||||||
|
static void _swap_set(Swap * swap, gdouble level)
|
||||||
|
{
|
||||||
|
#if GTK_CHECK_VERSION(3, 6, 0)
|
||||||
|
gtk_level_bar_set_value(GTK_LEVEL_BAR(swap->scale), level);
|
||||||
|
#else
|
||||||
|
gtk_range_set_value(GTK_RANGE(swap->scale), level);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* callbacks */
|
/* callbacks */
|
||||||
/* swap_on_timeout */
|
/* swap_on_timeout */
|
||||||
|
@ -138,7 +159,7 @@ static gboolean _swap_on_timeout(gpointer data)
|
||||||
TRUE);
|
TRUE);
|
||||||
if((value = sy.totalswap - sy.freeswap) != 0.0 && sy.totalswap != 0)
|
if((value = sy.totalswap - sy.freeswap) != 0.0 && sy.totalswap != 0)
|
||||||
value /= sy.totalswap;
|
value /= sy.totalswap;
|
||||||
gtk_range_set_value(GTK_RANGE(swap->scale), value);
|
_swap_set(swap, value);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
#elif defined(__NetBSD__)
|
#elif defined(__NetBSD__)
|
||||||
Swap * swap = data;
|
Swap * swap = data;
|
||||||
|
@ -151,7 +172,7 @@ static gboolean _swap_on_timeout(gpointer data)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
if((value = ue.swpgonly) != 0.0 && ue.swpages != 0)
|
if((value = ue.swpgonly) != 0.0 && ue.swpages != 0)
|
||||||
value /= ue.swpages;
|
value /= ue.swpages;
|
||||||
gtk_range_set_value(GTK_RANGE(swap->scale), value);
|
_swap_set(swap, value);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
#else
|
#else
|
||||||
Swap * swap = data;
|
Swap * swap = data;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user