=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/format.c,v retrieving revision 1.301 retrieving revision 1.302 diff -c -r1.301 -r1.302 *** src/usr.bin/tmux/format.c 2022/03/08 11:28:40 1.301 --- src/usr.bin/tmux/format.c 2022/03/08 18:31:46 1.302 *************** *** 1,4 **** ! /* $OpenBSD: format.c,v 1.301 2022/03/08 11:28:40 nicm Exp $ */ /* * Copyright (c) 2011 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: format.c,v 1.302 2022/03/08 18:31:46 nicm Exp $ */ /* * Copyright (c) 2011 Nicholas Marriott *************** *** 1756,1761 **** --- 1756,1778 ---- return (NULL); } + /* Callback for pane_dead_signal. */ + static void * + format_cb_pane_dead_signal(struct format_tree *ft) + { + struct window_pane *wp = ft->wp; + const char *name; + + if (wp != NULL) { + if ((wp->flags & PANE_STATUSREADY) && WIFSIGNALED(wp->status)) { + name = sig2name(WTERMSIG(wp->status)); + return (format_printf("%s", name)); + } + return (NULL); + } + return (NULL); + } + /* Callback for pane_dead_status. */ static void * format_cb_pane_dead_status(struct format_tree *ft) *************** *** 1770,1775 **** --- 1787,1806 ---- return (NULL); } + /* Callback for pane_dead_time. */ + static void * + format_cb_pane_dead_time(struct format_tree *ft) + { + struct window_pane *wp = ft->wp; + + if (wp != NULL) { + if (wp->flags & PANE_STATUSDRAWN) + return (&wp->dead_time); + return (NULL); + } + return (NULL); + } + /* Callback for pane_format. */ static void * format_cb_pane_format(struct format_tree *ft) *************** *** 2804,2811 **** --- 2835,2848 ---- { "pane_dead", FORMAT_TABLE_STRING, format_cb_pane_dead }, + { "pane_dead_signal", FORMAT_TABLE_STRING, + format_cb_pane_dead_signal + }, { "pane_dead_status", FORMAT_TABLE_STRING, format_cb_pane_dead_status + }, + { "pane_dead_time", FORMAT_TABLE_TIME, + format_cb_pane_dead_time }, { "pane_fg", FORMAT_TABLE_STRING, format_cb_pane_fg