diff options
Diffstat (limited to 'src/split.c')
-rw-r--r-- | src/split.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/split.c b/src/split.c index 93da642..ba4cd3b 100644 --- a/src/split.c +++ b/src/split.c @@ -960,7 +960,7 @@ void show_frame_indicator (void) { hide_frame_indicator (); - show_frame_message (MESSAGE_FRAME_STRING); + show_frame_message (defaults.frame_fmt); alarm (defaults.frame_indicator_timeout); } @@ -970,10 +970,22 @@ show_frame_message (char *msg) rp_screen *s = current_screen (); int width, height; rp_frame *frame; + rp_window *win; + rp_group *g; + rp_window_elem *elem; + struct sbuf *msgbuf; frame = current_frame(); - width = defaults.bar_x_padding * 2 + XmbTextEscapement (defaults.font, msg, strlen (msg)); + win = current_window (); + g = groups_find_group_by_window (win); + elem = group_find_window (&g->mapped_windows, win); + msgbuf = sbuf_new (0); + + format_string (msg, elem, msgbuf); + + width = defaults.bar_x_padding * 2 + XmbTextEscapement (defaults.font, msgbuf->data, + msgbuf->len); height = (FONT_HEIGHT (defaults.font) + defaults.bar_y_padding * 2); /* We don't want another frame indicator to be displayed on another @@ -993,7 +1005,9 @@ show_frame_message (char *msg) XmbDrawString (dpy, s->frame_window, defaults.font, s->normal_gc, defaults.bar_x_padding, defaults.bar_y_padding + rp_font_ascent, - msg, strlen (msg)); + msgbuf->data, msgbuf->len); + + sbuf_free (msgbuf); } rp_frame * |