diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-02-23 14:23:59 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-02-23 14:23:59 +0000 |
commit | 5aa54c863dad308e2ba96342be887eb59c427e42 (patch) | |
tree | 9712ff8a4f916fee3b8bc578b6a9c1ba0b4b3dc6 | |
parent | 42735d446eb08360d56e9d77bc681e88bf4fa8a3 (diff) | |
parent | 57eb334d5b989642c84b974908c43c729983d1b8 (diff) | |
download | rtmux-5aa54c863dad308e2ba96342be887eb59c427e42.tar.gz rtmux-5aa54c863dad308e2ba96342be887eb59c427e42.tar.bz2 rtmux-5aa54c863dad308e2ba96342be887eb59c427e42.zip |
Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code
-rw-r--r-- | format.c | 30 | ||||
-rw-r--r-- | tmux.1 | 1 |
2 files changed, 29 insertions, 2 deletions
@@ -32,8 +32,9 @@ * string. */ -int format_replace(struct format_tree *, - const char *, size_t, char **, size_t *, size_t *); +int format_replace(struct format_tree *, const char *, size_t, char **, + size_t *, size_t *); +void format_window_pane_tabs(struct format_tree *, struct window_pane *); /* Format key-value replacement entry. */ RB_GENERATE(format_tree, format_entry, entry, format_cmp); @@ -367,6 +368,28 @@ format_winlink(struct format_tree *ft, struct session *s, struct winlink *wl) free(layout); } +/* Add window pane tabs. */ +void +format_window_pane_tabs(struct format_tree *ft, struct window_pane *wp) +{ + struct evbuffer *buffer; + u_int i; + + buffer = evbuffer_new(); + for (i = 0; i < wp->base.grid->sx; i++) { + if (!bit_test(wp->base.tabs, i)) + continue; + + if (EVBUFFER_LENGTH(buffer) > 0) + evbuffer_add(buffer, ",", 1); + evbuffer_add_printf(buffer, "%d", i); + } + + format_add(ft, "pane_tabs", "%.*s", (int) EVBUFFER_LENGTH(buffer), + EVBUFFER_DATA(buffer)); + evbuffer_free(buffer); +} + /* Set default format keys for a window pane. */ void format_window_pane(struct format_tree *ft, struct window_pane *wp) @@ -444,8 +467,11 @@ format_window_pane(struct format_tree *ft, struct window_pane *wp) !!(wp->base.mode & MODE_MOUSE_ANY)); format_add(ft, "mouse_utf8_flag", "%d", !!(wp->base.mode & MODE_MOUSE_UTF8)); + + format_window_pane_tabs(ft, wp); } +/* Set default format keys for paste buffer. */ void format_paste_buffer(struct format_tree *ft, struct paste_buffer *pb) { @@ -3037,6 +3037,7 @@ The following variables are available, where appropriate: .It Li "pane_pid" Ta "PID of first process in pane" .It Li "pane_start_command" Ta "Command pane started with" .It Li "pane_start_path" Ta "Path pane started with" +.It Li "pane_tabs" Ta "Pane tab positions" .It Li "pane_title" Ta "Title of pane" .It Li "pane_tty" Ta "Pseudo terminal of pane" .It Li "pane_width" Ta "Width of pane" |