version 1.167, 2019/03/07 20:24:21 |
version 1.168, 2019/03/12 11:16:50 |
|
|
evbuffer_free(buffer); |
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. */ |
/* Merge a format tree. */ |
static void |
static void |
format_merge(struct format_tree *ft, struct format_tree *from) |
format_merge(struct format_tree *ft, struct format_tree *from) |
|
|
void |
void |
format_defaults_pane(struct format_tree *ft, struct window_pane *wp) |
format_defaults_pane(struct format_tree *ft, struct window_pane *wp) |
{ |
{ |
struct window *w = wp->window; |
struct window *w = wp->window; |
struct grid *gd = wp->base.grid; |
struct grid *gd = wp->base.grid; |
int status = wp->status; |
int status = wp->status; |
u_int idx; |
u_int idx; |
|
struct window_mode_entry *wme; |
|
|
if (ft->w == NULL) |
if (ft->w == NULL) |
ft->w = w; |
ft->w = w; |
|
|
format_add(ft, "pane_at_right", "%d", wp->xoff + wp->sx == w->sx); |
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_at_bottom", "%d", wp->yoff + wp->sy == w->sy); |
|
|
format_add(ft, "pane_in_mode", "%d", wp->screen != &wp->base); |
wme = TAILQ_FIRST(&wp->modes); |
if (wp->mode != NULL) |
if (wme != NULL) { |
format_add(ft, "pane_mode", "%s", wp->mode->mode->name); |
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", |
format_add(ft, "pane_synchronized", "%d", |
!!options_get_number(w->options, "synchronize-panes")); |
!!options_get_number(w->options, "synchronize-panes")); |
|
|
format_add(ft, "cursor_y", "%u", wp->base.cy); |
format_add(ft, "cursor_y", "%u", wp->base.cy); |
format_add(ft, "scroll_region_upper", "%u", wp->base.rupper); |
format_add(ft, "scroll_region_upper", "%u", wp->base.rupper); |
format_add(ft, "scroll_region_lower", "%u", wp->base.rlower); |
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_on", "%d", wp->saved_grid ? 1 : 0); |
format_add(ft, "alternate_saved_x", "%u", wp->saved_cx); |
format_add(ft, "alternate_saved_x", "%u", wp->saved_cx); |