mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 13:37:12 +00:00
Merge branch 'obsd-master'
This commit is contained in:
38
format.c
38
format.c
@ -632,6 +632,22 @@ format_cb_session_group_list(struct format_tree *ft, struct format_entry *fe)
|
||||
evbuffer_free(buffer);
|
||||
}
|
||||
|
||||
/* Callback for pane_in_mode. */
|
||||
static void
|
||||
format_cb_pane_in_mode(struct format_tree *ft, struct format_entry *fe)
|
||||
{
|
||||
struct window_pane *wp = ft->wp;
|
||||
u_int n = 0;
|
||||
struct window_mode_entry *wme;
|
||||
|
||||
if (wp == NULL)
|
||||
return;
|
||||
|
||||
TAILQ_FOREACH(wme, &wp->modes, entry)
|
||||
n++;
|
||||
xasprintf(&fe->value, "%u", n);
|
||||
}
|
||||
|
||||
/* Merge a format tree. */
|
||||
static void
|
||||
format_merge(struct format_tree *ft, struct format_tree *from)
|
||||
@ -1511,10 +1527,11 @@ format_defaults_winlink(struct format_tree *ft, struct winlink *wl)
|
||||
void
|
||||
format_defaults_pane(struct format_tree *ft, struct window_pane *wp)
|
||||
{
|
||||
struct window *w = wp->window;
|
||||
struct grid *gd = wp->base.grid;
|
||||
int status = wp->status;
|
||||
u_int idx;
|
||||
struct window *w = wp->window;
|
||||
struct grid *gd = wp->base.grid;
|
||||
int status = wp->status;
|
||||
u_int idx;
|
||||
struct window_mode_entry *wme;
|
||||
|
||||
if (ft->w == NULL)
|
||||
ft->w = w;
|
||||
@ -1549,9 +1566,13 @@ format_defaults_pane(struct format_tree *ft, struct window_pane *wp)
|
||||
format_add(ft, "pane_at_right", "%d", wp->xoff + wp->sx == w->sx);
|
||||
format_add(ft, "pane_at_bottom", "%d", wp->yoff + wp->sy == w->sy);
|
||||
|
||||
format_add(ft, "pane_in_mode", "%d", wp->screen != &wp->base);
|
||||
if (wp->mode != NULL)
|
||||
format_add(ft, "pane_mode", "%s", wp->mode->mode->name);
|
||||
wme = TAILQ_FIRST(&wp->modes);
|
||||
if (wme != NULL) {
|
||||
format_add(ft, "pane_mode", "%s", wme->mode->name);
|
||||
if (wme->mode->formats != NULL)
|
||||
wme->mode->formats(wme, ft);
|
||||
}
|
||||
format_add_cb(ft, "pane_in_mode", format_cb_pane_in_mode);
|
||||
|
||||
format_add(ft, "pane_synchronized", "%d",
|
||||
!!options_get_number(w->options, "synchronize-panes"));
|
||||
@ -1569,9 +1590,6 @@ format_defaults_pane(struct format_tree *ft, struct window_pane *wp)
|
||||
format_add(ft, "scroll_region_upper", "%u", wp->base.rupper);
|
||||
format_add(ft, "scroll_region_lower", "%u", wp->base.rlower);
|
||||
|
||||
if (wp->mode != NULL && wp->mode->mode->formats != NULL)
|
||||
wp->mode->mode->formats(wp->mode, ft);
|
||||
|
||||
format_add(ft, "alternate_on", "%d", wp->saved_grid ? 1 : 0);
|
||||
format_add(ft, "alternate_saved_x", "%u", wp->saved_cx);
|
||||
format_add(ft, "alternate_saved_y", "%u", wp->saved_cy);
|
||||
|
Reference in New Issue
Block a user