aboutsummaryrefslogtreecommitdiff
path: root/format.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2014-12-21 15:47:21 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2014-12-21 15:47:21 +0000
commitcc1bc9717c19091e3a89a0cf28b902a23d85b84f (patch)
tree0d1908d457658e44ab31b7e01e9570a7442b29ba /format.c
parent9cb5afe114c035a7412b58d65dc39c16f3b72ff5 (diff)
parent2a9a75a569f6932afeb00d7506f370c4044d5eea (diff)
downloadrtmux-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.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/format.c b/format.c
index fff9a695..80bcc467 100644
--- a/format.c
+++ b/format.c
@@ -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);