version 1.56, 2015/01/11 04:14:40 |
version 1.57, 2015/02/05 10:29:43 |
|
|
int format_replace(struct format_tree *, const char *, size_t, char **, |
int format_replace(struct format_tree *, const char *, size_t, char **, |
size_t *, size_t *); |
size_t *, size_t *); |
char *format_get_command(struct window_pane *); |
char *format_get_command(struct window_pane *); |
void format_window_pane_tabs(struct format_tree *, struct window_pane *); |
|
|
|
|
void format_defaults_pane_tabs(struct format_tree *, struct window_pane *); |
|
void format_defaults_session(struct format_tree *, struct session *); |
|
void format_defaults_client(struct format_tree *, struct client *); |
|
void format_defaults_winlink(struct format_tree *, struct session *, |
|
struct winlink *); |
|
|
/* Entry in format tree. */ |
/* Entry in format tree. */ |
struct format_entry { |
struct format_entry { |
char *key; |
char *key; |
|
|
return (out); |
return (out); |
} |
} |
|
|
|
/* Set defaults for any of arguments that are not NULL. */ |
|
void |
|
format_defaults(struct format_tree *ft, struct client *c, struct session *s, |
|
struct winlink *wl, struct window_pane *wp) |
|
{ |
|
if (s == NULL && c != NULL) |
|
s = c->session; |
|
if (wl == NULL && s != NULL) |
|
wl = s->curw; |
|
if (wp == NULL && wl != NULL) |
|
wp = wl->window->active; |
|
|
|
if (c != NULL) |
|
format_defaults_client(ft, c); |
|
if (s != NULL) |
|
format_defaults_session(ft, s); |
|
if (s != NULL && wl != NULL) |
|
format_defaults_winlink(ft, s, wl); |
|
if (wp != NULL) |
|
format_defaults_pane(ft, wp); |
|
} |
|
|
/* Set default format keys for a session. */ |
/* Set default format keys for a session. */ |
void |
void |
format_session(struct format_tree *ft, struct session *s) |
format_defaults_session(struct format_tree *ft, struct session *s) |
{ |
{ |
struct session_group *sg; |
struct session_group *sg; |
char *tim; |
char *tim; |
|
|
|
|
/* Set default format keys for a client. */ |
/* Set default format keys for a client. */ |
void |
void |
format_client(struct format_tree *ft, struct client *c) |
format_defaults_client(struct format_tree *ft, struct client *c) |
{ |
{ |
char *tim; |
char *tim; |
time_t t; |
time_t t; |
|
|
|
|
/* Set default format keys for a window. */ |
/* Set default format keys for a window. */ |
void |
void |
format_window(struct format_tree *ft, struct window *w) |
format_defaults_window(struct format_tree *ft, struct window *w) |
{ |
{ |
char *layout; |
char *layout; |
|
|
|
|
|
|
/* Set default format keys for a winlink. */ |
/* Set default format keys for a winlink. */ |
void |
void |
format_winlink(struct format_tree *ft, struct session *s, struct winlink *wl) |
format_defaults_winlink(struct format_tree *ft, struct session *s, |
|
struct winlink *wl) |
{ |
{ |
struct window *w = wl->window; |
struct window *w = wl->window; |
char *flags; |
char *flags; |
|
|
|
|
flags = window_printable_flags(s, wl); |
flags = window_printable_flags(s, wl); |
|
|
format_window(ft, w); |
format_defaults_window(ft, w); |
|
|
format_add(ft, "window_index", "%d", wl->idx); |
format_add(ft, "window_index", "%d", wl->idx); |
format_add(ft, "window_flags", "%s", flags); |
format_add(ft, "window_flags", "%s", flags); |
|
|
|
|
/* Add window pane tabs. */ |
/* Add window pane tabs. */ |
void |
void |
format_window_pane_tabs(struct format_tree *ft, struct window_pane *wp) |
format_defaults_pane_tabs(struct format_tree *ft, struct window_pane *wp) |
{ |
{ |
struct evbuffer *buffer; |
struct evbuffer *buffer; |
u_int i; |
u_int i; |
|
|
|
|
/* Set default format keys for a window pane. */ |
/* Set default format keys for a window pane. */ |
void |
void |
format_window_pane(struct format_tree *ft, struct window_pane *wp) |
format_defaults_pane(struct format_tree *ft, struct window_pane *wp) |
{ |
{ |
struct grid *gd = wp->base.grid; |
struct grid *gd = wp->base.grid; |
struct grid_line *gl; |
struct grid_line *gl; |
|
|
format_add(ft, "mouse_utf8_flag", "%d", |
format_add(ft, "mouse_utf8_flag", "%d", |
!!(wp->base.mode & MODE_MOUSE_UTF8)); |
!!(wp->base.mode & MODE_MOUSE_UTF8)); |
|
|
format_window_pane_tabs(ft, wp); |
format_defaults_pane_tabs(ft, wp); |
} |
} |
|
|
/* Set default format keys for paste buffer. */ |
/* Set default format keys for paste buffer. */ |
void |
void |
format_paste_buffer(struct format_tree *ft, struct paste_buffer *pb, |
format_defaults_paste_buffer(struct format_tree *ft, struct paste_buffer *pb, |
int utf8flag) |
int utf8flag) |
{ |
{ |
char *s; |
char *s; |