diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2014-12-21 15:47:21 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2014-12-21 15:47:21 +0000 |
commit | cc1bc9717c19091e3a89a0cf28b902a23d85b84f (patch) | |
tree | 0d1908d457658e44ab31b7e01e9570a7442b29ba /format.c | |
parent | 9cb5afe114c035a7412b58d65dc39c16f3b72ff5 (diff) | |
parent | 2a9a75a569f6932afeb00d7506f370c4044d5eea (diff) | |
download | rtmux-cc1bc9717c19091e3a89a0cf28b902a23d85b84f.tar.gz rtmux-cc1bc9717c19091e3a89a0cf28b902a23d85b84f.tar.bz2 rtmux-cc1bc9717c19091e3a89a0cf28b902a23d85b84f.zip |
Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code
Diffstat (limited to 'format.c')
-rw-r--r-- | format.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -18,6 +18,7 @@ #include <sys/types.h> #include <sys/param.h> +#include <sys/wait.h> #include <ctype.h> #include <errno.h> @@ -582,6 +583,7 @@ format_window_pane(struct format_tree *ft, struct window_pane *wp) unsigned long long size; u_int i, idx; char *cmd, *cwd; + int status; if (ft->w == NULL) ft->w = wp->window; @@ -605,9 +607,13 @@ format_window_pane(struct format_tree *ft, struct window_pane *wp) format_add(ft, "pane_title", "%s", wp->base.title); format_add(ft, "pane_id", "%%%u", wp->id); format_add(ft, "pane_active", "%d", wp == wp->window->active); - format_add(ft, "pane_dead", "%d", wp->fd == -1); format_add(ft, "pane_input_off", "%d", !!(wp->flags & PANE_INPUTOFF)); + status = wp->status; + if (wp->fd == -1 && WIFEXITED(status)) + format_add(ft, "pane_dead_status", "%d", WEXITSTATUS(status)); + format_add(ft, "pane_dead", "%d", wp->fd == -1); + if (window_pane_visible(wp)) { format_add(ft, "pane_left", "%u", wp->xoff); format_add(ft, "pane_top", "%u", wp->yoff); |