summaryrefslogtreecommitdiff
path: root/src/bar.c
diff options
context:
space:
mode:
authorsabetts <sabetts>2003-05-09 23:04:10 +0000
committersabetts <sabetts>2003-05-09 23:04:10 +0000
commit24d5148b3ece4ff8d8c9ac1ec4be34fdd0b237bb (patch)
treec4bb301ed9d7413ccea733d6fff29aa742aadc51 /src/bar.c
parent41016f3a7577fbf35db849b9937ee22ee02e5760 (diff)
downloadratpoison-24d5148b3ece4ff8d8c9ac1ec4be34fdd0b237bb.zip
* src/split.c (split_frame): call update_bar() instead of
update_window_names(). (set_active_frame): likewise (blank_frame): likewise * src/bar.h (update_bar): new prototype. * src/bar.c (BAR_IS_HIDDEN): new define. (update_bar): new function. * src/actions.c (cmd_frestore): call update_bar() instead of update_window_names(). * src/split.c (set_active_frame): update the window list after switching frames. (blank_frame): update the window list after blanking the screen. * src/actions.c (cmd_frestore): update the window list after restoring the frames. * src/split.c (split_frame): update the window list after the split.
Diffstat (limited to 'src/bar.c')
-rw-r--r--src/bar.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/bar.c b/src/bar.c
index 7394e58..39363eb 100644
--- a/src/bar.c
+++ b/src/bar.c
@@ -35,6 +35,7 @@
#include "assert.h"
/* Possible values for bar_is_raised status. */
+#define BAR_IS_HIDDEN 0
#define BAR_IS_WINDOW_LIST 1
#define BAR_IS_MESSAGE 2
@@ -136,6 +137,23 @@ bar_y (screen_info *s, int height)
}
void
+update_bar (screen_info *s)
+{
+ if (s->bar_is_raised == BAR_IS_HIDDEN)
+ return;
+
+ if (s->bar_is_raised == BAR_IS_MESSAGE)
+ {
+ show_last_message();
+ }
+ else
+ {
+ /* The bar is showing a window list. */
+ update_window_names (s);
+ }
+}
+
+void
update_window_names (screen_info *s)
{
struct sbuf *bar_buffer;
@@ -393,6 +411,8 @@ marked_wrapped_message (char *msg, int mark_start, int mark_end)
}
/* Keep a record of the message. */
+ /* FIXME: What about multiple screens? We need a bar structure for
+ each screen. */
if (last_msg)
free (last_msg);
last_msg = xstrdup (msg);