summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fe-text/statusbar-items.c8
-rw-r--r--src/fe-text/statusbar.c17
-rw-r--r--src/fe-text/statusbar.h2
3 files changed, 16 insertions, 11 deletions
diff --git a/src/fe-text/statusbar-items.c b/src/fe-text/statusbar-items.c
index 7d0c092e..554ac129 100644
--- a/src/fe-text/statusbar-items.c
+++ b/src/fe-text/statusbar-items.c
@@ -403,8 +403,8 @@ static void statusbar_activity(SBAR_ITEM_REC *item, int ypos)
if (!item->shrinked && item->size != size_needed)
{
/* we need more (or less..) space! */
- statusbar_item_resize(item, size_needed);
- return;
+ if (statusbar_item_resize(item, size_needed))
+ return;
}
if (item->size <= 7)
@@ -412,9 +412,9 @@ static void statusbar_activity(SBAR_ITEM_REC *item, int ypos)
move(ypos, item->xpos);
set_color(stdscr, sbar_color_dim); addch('[');
- if (act) draw_activity("Act: ", TRUE, !det, item->size-1);
+ if (act) draw_activity("Act: ", TRUE, !det, item->size-7);
if (act && det) addch(' ');
- if (det) draw_activity("Det: ", FALSE, TRUE, item->size-1);
+ if (det) draw_activity("Det: ", FALSE, TRUE, item->size-7);
set_color(stdscr, sbar_color_dim); addch(']');
screen_refresh(NULL);
diff --git a/src/fe-text/statusbar.c b/src/fe-text/statusbar.c
index 99c739ea..25cdd910 100644
--- a/src/fe-text/statusbar.c
+++ b/src/fe-text/statusbar.c
@@ -231,14 +231,19 @@ SBAR_ITEM_REC *statusbar_item_create(STATUSBAR_REC *bar, int size, int right_jus
return rec;
}
-void statusbar_item_resize(SBAR_ITEM_REC *item, int size)
+int statusbar_item_resize(SBAR_ITEM_REC *item, int size)
{
- g_return_if_fail(item != NULL);
+ g_return_val_if_fail(item != NULL, FALSE);
- if (size <= item_max_size) {
- item->size = size;
- statusbar_redraw_all();
- }
+ if (item->size >= item_max_size)
+ return FALSE;
+
+ if (size > item_max_size)
+ size = item_max_size;
+
+ item->size = size;
+ statusbar_redraw_all();
+ return TRUE;
}
void statusbar_item_remove(SBAR_ITEM_REC *item)
diff --git a/src/fe-text/statusbar.h b/src/fe-text/statusbar.h
index d49984fa..cfca8414 100644
--- a/src/fe-text/statusbar.h
+++ b/src/fe-text/statusbar.h
@@ -33,7 +33,7 @@ void statusbar_destroy(STATUSBAR_REC *bar);
STATUSBAR_REC *statusbar_find(int pos, int line);
SBAR_ITEM_REC *statusbar_item_create(STATUSBAR_REC *bar, int size, gboolean right_justify, STATUSBAR_FUNC func);
-void statusbar_item_resize(SBAR_ITEM_REC *item, int size);
+int statusbar_item_resize(SBAR_ITEM_REC *item, int size);
void statusbar_item_remove(SBAR_ITEM_REC *item);
/* redraw statusbar, NULL = all */