diff options
author | sabetts <sabetts> | 2006-11-17 11:48:01 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2006-11-17 11:48:01 +0000 |
commit | df8d155eb949041943aa36baa4d0d485136922f9 (patch) | |
tree | fb4a0241981c75dda365f423f2acc96c027d4941 /src/split.c | |
parent | 823f6297c6813ac9b55af456892910f08178d873 (diff) | |
download | ratpoison-df8d155eb949041943aa36baa4d0d485136922f9.zip |
* src/split.c (show_frame_indicator): use defaults.frame_fmt
(show_frame_message): format frame_fmt string with format_string
* src/messages.h (MESSAGE_FRAME_STRING): removed
* src/main.c (init_defaults): init defaults.frame_fmt
* src/data.h (struct rp_defaults): add frame_fmt
* src/actions.c (set_framefmt): new function
(init_set_vars): new set var "framefmt"
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 * |