version 1.255, 2020/05/16 16:02:24 |
version 1.256, 2020/05/25 15:02:25 |
|
|
struct window_pane *wp = ft->wp; |
struct window_pane *wp = ft->wp; |
struct grid *gd; |
struct grid *gd; |
struct grid_line *gl; |
struct grid_line *gl; |
unsigned long long size; |
size_t size = 0; |
u_int i; |
u_int i; |
|
|
if (wp == NULL) |
if (wp == NULL) |
return; |
return; |
gd = wp->base.grid; |
gd = wp->base.grid; |
|
|
size = 0; |
for (i = 0; i < gd->hsize + gd->sy; i++) { |
for (i = 0; i < gd->hsize; i++) { |
|
gl = grid_get_line(gd, i); |
gl = grid_get_line(gd, i); |
size += gl->cellsize * sizeof *gl->celldata; |
size += gl->cellsize * sizeof *gl->celldata; |
size += gl->extdsize * sizeof *gl->extddata; |
size += gl->extdsize * sizeof *gl->extddata; |
} |
} |
size += gd->hsize * sizeof *gl; |
size += (gd->hsize + gd->sy) * sizeof *gl; |
|
|
xasprintf(&fe->value, "%llu", size); |
xasprintf(&fe->value, "%zu", size); |
} |
} |
|
|
|
/* Callback for history_all_bytes. */ |
|
static void |
|
format_cb_history_all_bytes(struct format_tree *ft, struct format_entry *fe) |
|
{ |
|
struct window_pane *wp = ft->wp; |
|
struct grid *gd; |
|
struct grid_line *gl; |
|
u_int i, lines, cells = 0, extended_cells = 0; |
|
|
|
if (wp == NULL) |
|
return; |
|
gd = wp->base.grid; |
|
|
|
lines = gd->hsize + gd->sy; |
|
for (i = 0; i < lines; i++) { |
|
gl = grid_get_line(gd, i); |
|
cells += gl->cellsize; |
|
extended_cells += gl->extdsize; |
|
} |
|
|
|
xasprintf(&fe->value, "%u,%zu,%u,%zu,%u,%zu", lines, |
|
lines * sizeof *gl, cells, cells * sizeof *gl->celldata, |
|
extended_cells, extended_cells * sizeof *gl->extddata); |
|
} |
|
|
/* Callback for pane_tabs. */ |
/* Callback for pane_tabs. */ |
static void |
static void |
format_cb_pane_tabs(struct format_tree *ft, struct format_entry *fe) |
format_cb_pane_tabs(struct format_tree *ft, struct format_entry *fe) |
|
|
format_add(ft, "history_size", "%u", gd->hsize); |
format_add(ft, "history_size", "%u", gd->hsize); |
format_add(ft, "history_limit", "%u", gd->hlimit); |
format_add(ft, "history_limit", "%u", gd->hlimit); |
format_add_cb(ft, "history_bytes", format_cb_history_bytes); |
format_add_cb(ft, "history_bytes", format_cb_history_bytes); |
|
format_add_cb(ft, "history_all_bytes", format_cb_history_all_bytes); |
|
|
format_add(ft, "pane_written", "%zu", wp->written); |
format_add(ft, "pane_written", "%zu", wp->written); |
format_add(ft, "pane_skipped", "%zu", wp->skipped); |
format_add(ft, "pane_skipped", "%zu", wp->skipped); |