diff options
| -rw-r--r-- | src/comet.c | 20 | ||||
| -rw-r--r-- | src/state.c | 1 |
2 files changed, 9 insertions, 12 deletions
diff --git a/src/comet.c b/src/comet.c index 737e0f3..ece7c89 100644 --- a/src/comet.c +++ b/src/comet.c @@ -47,8 +47,7 @@ static gboolean disk_update(gpointer data) size_t len1 = g_utf8_strlen(btn->text, -1); - g_free(btn->text); - btn->text = g_strdup_printf(" %d%%", (int)round(used * 100.0)); + button_simple_set_text((gpointer)btn, g_strdup_printf(" %d%%", (int)round(used * 100.0)), btn->text_color); size_t len2 = g_utf8_strlen(btn->text, -1); @@ -71,8 +70,7 @@ static gboolean temp_update(gpointer data) size_t len1 = g_utf8_strlen(btn->text, -1); - g_free(btn->text); - btn->text = g_strdup_printf(" %d °C", (int)(value / 1000)); + button_simple_set_text((gpointer)btn, g_strdup_printf(" %d °C", (int)(value / 1000)), btn->text_color); size_t len2 = g_utf8_strlen(btn->text, -1); @@ -117,8 +115,7 @@ static gboolean cpu_update(gpointer data) if (perc != NULL) { size_t len1 = g_utf8_strlen(btn->text, -1); - g_free(btn->text); - btn->text = perc; + button_simple_set_text((gpointer)btn, perc, btn->text_color); size_t len2 = g_utf8_strlen(btn->text, -1); state_redraw(btn->action_data, len1 != len2); @@ -146,9 +143,9 @@ static gboolean ram_update(gpointer data) fclose(meminfo); size_t len1 = g_utf8_strlen(btn->text, -1); + int usage = 100 * (total - unused - buffers - cached) / total; + button_simple_set_text((gpointer)btn, g_strdup_printf(" %d%%", usage), btn->text_color); - g_free(btn->text); - btn->text = g_strdup_printf(" %d%%", (int)(100 * (total - unused - buffers - cached) / total)); size_t len2 = g_utf8_strlen(btn->text, -1); @@ -161,14 +158,13 @@ static gboolean date_update(gpointer data) { ButtonSimple *btn = data; - size_t len1 = g_utf8_strlen(btn->text, -1); - g_free(btn->text); - GDateTime *time = g_date_time_new_now_local(); char *date = g_date_time_format(time, "%A %d %H:%M"); g_assert(date != NULL); - btn->text = date; + size_t len1 = g_utf8_strlen(btn->text, -1); + + button_simple_set_text((gpointer)btn, date, btn->text_color); size_t len2 = g_utf8_strlen(btn->text, -1); struct { diff --git a/src/state.c b/src/state.c index 11ecd77..893976a 100644 --- a/src/state.c +++ b/src/state.c @@ -16,6 +16,7 @@ State *state_create(Window *win, Drawable *draw) void state_add_button(State *state, Button *btn) { + // insert sorted state->btns = g_list_append(state->btns, btn); } |
