mirror of
https://github.com/tmux/tmux.git
synced 2025-01-07 16:28:48 +00:00
Fix minimum size when pane status line is enabled, reported by Y Petremann.
This commit is contained in:
parent
9436a31603
commit
f8cc48a43f
@ -150,7 +150,7 @@ layout_parse(struct window *w, const char *layout)
|
|||||||
|
|
||||||
/* Fewer panes than cells - close the bottom right. */
|
/* Fewer panes than cells - close the bottom right. */
|
||||||
lcchild = layout_find_bottomright(lc);
|
lcchild = layout_find_bottomright(lc);
|
||||||
layout_destroy_cell(lcchild, &lc);
|
layout_destroy_cell(w, lcchild, &lc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save the old window size and resize to the layout size. */
|
/* Save the old window size and resize to the layout size. */
|
||||||
|
24
layout-set.c
24
layout-set.c
@ -155,7 +155,8 @@ layout_set_even_h(struct window *w)
|
|||||||
/* Allocate any remaining space. */
|
/* Allocate any remaining space. */
|
||||||
if (w->sx > xoff - 1) {
|
if (w->sx > xoff - 1) {
|
||||||
lc = TAILQ_LAST(&lc->cells, layout_cells);
|
lc = TAILQ_LAST(&lc->cells, layout_cells);
|
||||||
layout_resize_adjust(lc, LAYOUT_LEFTRIGHT, w->sx - (xoff - 1));
|
layout_resize_adjust(w, lc, LAYOUT_LEFTRIGHT,
|
||||||
|
w->sx - (xoff - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fix cell offsets. */
|
/* Fix cell offsets. */
|
||||||
@ -208,7 +209,8 @@ layout_set_even_v(struct window *w)
|
|||||||
/* Allocate any remaining space. */
|
/* Allocate any remaining space. */
|
||||||
if (w->sy > yoff - 1) {
|
if (w->sy > yoff - 1) {
|
||||||
lc = TAILQ_LAST(&lc->cells, layout_cells);
|
lc = TAILQ_LAST(&lc->cells, layout_cells);
|
||||||
layout_resize_adjust(lc, LAYOUT_TOPBOTTOM, w->sy - (yoff - 1));
|
layout_resize_adjust(w, lc, LAYOUT_TOPBOTTOM,
|
||||||
|
w->sy - (yoff - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fix cell offsets. */
|
/* Fix cell offsets. */
|
||||||
@ -322,14 +324,16 @@ layout_set_main_h(struct window *w)
|
|||||||
if (w->sx <= used)
|
if (w->sx <= used)
|
||||||
continue;
|
continue;
|
||||||
lcchild = TAILQ_LAST(&lcrow->cells, layout_cells);
|
lcchild = TAILQ_LAST(&lcrow->cells, layout_cells);
|
||||||
layout_resize_adjust(lcchild, LAYOUT_LEFTRIGHT, w->sx - used);
|
layout_resize_adjust(w, lcchild, LAYOUT_LEFTRIGHT,
|
||||||
|
w->sx - used);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Adjust the last row height to fit if necessary. */
|
/* Adjust the last row height to fit if necessary. */
|
||||||
used = mainheight + (rows * height) + rows - 1;
|
used = mainheight + (rows * height) + rows - 1;
|
||||||
if (w->sy > used) {
|
if (w->sy > used) {
|
||||||
lcrow = TAILQ_LAST(&lc->cells, layout_cells);
|
lcrow = TAILQ_LAST(&lc->cells, layout_cells);
|
||||||
layout_resize_adjust(lcrow, LAYOUT_TOPBOTTOM, w->sy - used);
|
layout_resize_adjust(w, lcrow, LAYOUT_TOPBOTTOM,
|
||||||
|
w->sy - used);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fix cell offsets. */
|
/* Fix cell offsets. */
|
||||||
@ -443,14 +447,16 @@ layout_set_main_v(struct window *w)
|
|||||||
if (w->sy <= used)
|
if (w->sy <= used)
|
||||||
continue;
|
continue;
|
||||||
lcchild = TAILQ_LAST(&lccolumn->cells, layout_cells);
|
lcchild = TAILQ_LAST(&lccolumn->cells, layout_cells);
|
||||||
layout_resize_adjust(lcchild, LAYOUT_TOPBOTTOM, w->sy - used);
|
layout_resize_adjust(w, lcchild, LAYOUT_TOPBOTTOM,
|
||||||
|
w->sy - used);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Adjust the last column width to fit if necessary. */
|
/* Adjust the last column width to fit if necessary. */
|
||||||
used = mainwidth + (columns * width) + columns - 1;
|
used = mainwidth + (columns * width) + columns - 1;
|
||||||
if (w->sx > used) {
|
if (w->sx > used) {
|
||||||
lccolumn = TAILQ_LAST(&lc->cells, layout_cells);
|
lccolumn = TAILQ_LAST(&lc->cells, layout_cells);
|
||||||
layout_resize_adjust(lccolumn, LAYOUT_LEFTRIGHT, w->sx - used);
|
layout_resize_adjust(w, lccolumn, LAYOUT_LEFTRIGHT,
|
||||||
|
w->sx - used);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fix cell offsets. */
|
/* Fix cell offsets. */
|
||||||
@ -543,14 +549,16 @@ layout_set_tiled(struct window *w)
|
|||||||
if (w->sx <= used)
|
if (w->sx <= used)
|
||||||
continue;
|
continue;
|
||||||
lcchild = TAILQ_LAST(&lcrow->cells, layout_cells);
|
lcchild = TAILQ_LAST(&lcrow->cells, layout_cells);
|
||||||
layout_resize_adjust(lcchild, LAYOUT_LEFTRIGHT, w->sx - used);
|
layout_resize_adjust(w, lcchild, LAYOUT_LEFTRIGHT,
|
||||||
|
w->sx - used);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Adjust the last row height to fit if necessary. */
|
/* Adjust the last row height to fit if necessary. */
|
||||||
used = (rows * height) + rows - 1;
|
used = (rows * height) + rows - 1;
|
||||||
if (w->sy > used) {
|
if (w->sy > used) {
|
||||||
lcrow = TAILQ_LAST(&lc->cells, layout_cells);
|
lcrow = TAILQ_LAST(&lc->cells, layout_cells);
|
||||||
layout_resize_adjust(lcrow, LAYOUT_TOPBOTTOM, w->sy - used);
|
layout_resize_adjust(w, lcrow, LAYOUT_TOPBOTTOM,
|
||||||
|
w->sy - used);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fix cell offsets. */
|
/* Fix cell offsets. */
|
||||||
|
98
layout.c
98
layout.c
@ -32,9 +32,11 @@
|
|||||||
* cell a pointer to its parent cell.
|
* cell a pointer to its parent cell.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int layout_resize_pane_grow(struct layout_cell *, enum layout_type,
|
static u_int layout_resize_check(struct window *, struct layout_cell *,
|
||||||
int);
|
enum layout_type);
|
||||||
static int layout_resize_pane_shrink(struct layout_cell *,
|
static int layout_resize_pane_grow(struct window *, struct layout_cell *,
|
||||||
|
enum layout_type, int);
|
||||||
|
static int layout_resize_pane_shrink(struct window *, struct layout_cell *,
|
||||||
enum layout_type, int);
|
enum layout_type, int);
|
||||||
static int layout_need_status(struct layout_cell *, int);
|
static int layout_need_status(struct layout_cell *, int);
|
||||||
|
|
||||||
@ -282,33 +284,38 @@ layout_count_cells(struct layout_cell *lc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Calculate how much size is available to be removed from a cell. */
|
/* Calculate how much size is available to be removed from a cell. */
|
||||||
u_int
|
static u_int
|
||||||
layout_resize_check(struct layout_cell *lc, enum layout_type type)
|
layout_resize_check(struct window *w, struct layout_cell *lc,
|
||||||
|
enum layout_type type)
|
||||||
{
|
{
|
||||||
struct layout_cell *lcchild;
|
struct layout_cell *lcchild;
|
||||||
u_int available, minimum;
|
u_int available, minimum;
|
||||||
|
|
||||||
if (lc->type == LAYOUT_WINDOWPANE) {
|
if (lc->type == LAYOUT_WINDOWPANE) {
|
||||||
/* Space available in this cell only. */
|
/* Space available in this cell only. */
|
||||||
|
minimum = PANE_MINIMUM;
|
||||||
if (type == LAYOUT_LEFTRIGHT)
|
if (type == LAYOUT_LEFTRIGHT)
|
||||||
available = lc->sx;
|
available = lc->sx;
|
||||||
else
|
else {
|
||||||
available = lc->sy;
|
available = lc->sy;
|
||||||
|
minimum += layout_need_status(lc,
|
||||||
if (available > PANE_MINIMUM)
|
options_get_number(w->options,
|
||||||
available -= PANE_MINIMUM;
|
"pane-border-status") == 1);
|
||||||
|
}
|
||||||
|
if (available > minimum)
|
||||||
|
available -= minimum;
|
||||||
else
|
else
|
||||||
available = 0;
|
available = 0;
|
||||||
} else if (lc->type == type) {
|
} else if (lc->type == type) {
|
||||||
/* Same type: total of available space in all child cells. */
|
/* Same type: total of available space in all child cells. */
|
||||||
available = 0;
|
available = 0;
|
||||||
TAILQ_FOREACH(lcchild, &lc->cells, entry)
|
TAILQ_FOREACH(lcchild, &lc->cells, entry)
|
||||||
available += layout_resize_check(lcchild, type);
|
available += layout_resize_check(w, lcchild, type);
|
||||||
} else {
|
} else {
|
||||||
/* Different type: minimum of available space in child cells. */
|
/* Different type: minimum of available space in child cells. */
|
||||||
minimum = UINT_MAX;
|
minimum = UINT_MAX;
|
||||||
TAILQ_FOREACH(lcchild, &lc->cells, entry) {
|
TAILQ_FOREACH(lcchild, &lc->cells, entry) {
|
||||||
available = layout_resize_check(lcchild, type);
|
available = layout_resize_check(w, lcchild, type);
|
||||||
if (available < minimum)
|
if (available < minimum)
|
||||||
minimum = available;
|
minimum = available;
|
||||||
}
|
}
|
||||||
@ -323,7 +330,8 @@ layout_resize_check(struct layout_cell *lc, enum layout_type type)
|
|||||||
* expects the change to have already been bounded to the space available.
|
* expects the change to have already been bounded to the space available.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
layout_resize_adjust(struct layout_cell *lc, enum layout_type type, int change)
|
layout_resize_adjust(struct window *w, struct layout_cell *lc,
|
||||||
|
enum layout_type type, int change)
|
||||||
{
|
{
|
||||||
struct layout_cell *lcchild;
|
struct layout_cell *lcchild;
|
||||||
|
|
||||||
@ -340,7 +348,7 @@ layout_resize_adjust(struct layout_cell *lc, enum layout_type type, int change)
|
|||||||
/* Child cell runs in a different direction. */
|
/* Child cell runs in a different direction. */
|
||||||
if (lc->type != type) {
|
if (lc->type != type) {
|
||||||
TAILQ_FOREACH(lcchild, &lc->cells, entry)
|
TAILQ_FOREACH(lcchild, &lc->cells, entry)
|
||||||
layout_resize_adjust(lcchild, type, change);
|
layout_resize_adjust(w, lcchild, type, change);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -353,12 +361,12 @@ layout_resize_adjust(struct layout_cell *lc, enum layout_type type, int change)
|
|||||||
if (change == 0)
|
if (change == 0)
|
||||||
break;
|
break;
|
||||||
if (change > 0) {
|
if (change > 0) {
|
||||||
layout_resize_adjust(lcchild, type, 1);
|
layout_resize_adjust(w, lcchild, type, 1);
|
||||||
change--;
|
change--;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (layout_resize_check(lcchild, type) > 0) {
|
if (layout_resize_check(w, lcchild, type) > 0) {
|
||||||
layout_resize_adjust(lcchild, type, -1);
|
layout_resize_adjust(w, lcchild, type, -1);
|
||||||
change++;
|
change++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -367,7 +375,8 @@ layout_resize_adjust(struct layout_cell *lc, enum layout_type type, int change)
|
|||||||
|
|
||||||
/* Destroy a cell and redistribute the space. */
|
/* Destroy a cell and redistribute the space. */
|
||||||
void
|
void
|
||||||
layout_destroy_cell(struct layout_cell *lc, struct layout_cell **lcroot)
|
layout_destroy_cell(struct window *w, struct layout_cell *lc,
|
||||||
|
struct layout_cell **lcroot)
|
||||||
{
|
{
|
||||||
struct layout_cell *lcother, *lcparent;
|
struct layout_cell *lcother, *lcparent;
|
||||||
|
|
||||||
@ -388,9 +397,9 @@ layout_destroy_cell(struct layout_cell *lc, struct layout_cell **lcroot)
|
|||||||
else
|
else
|
||||||
lcother = TAILQ_PREV(lc, layout_cells, entry);
|
lcother = TAILQ_PREV(lc, layout_cells, entry);
|
||||||
if (lcparent->type == LAYOUT_LEFTRIGHT)
|
if (lcparent->type == LAYOUT_LEFTRIGHT)
|
||||||
layout_resize_adjust(lcother, lcparent->type, lc->sx + 1);
|
layout_resize_adjust(w, lcother, lcparent->type, lc->sx + 1);
|
||||||
else
|
else
|
||||||
layout_resize_adjust(lcother, lcparent->type, lc->sy + 1);
|
layout_resize_adjust(w, lcother, lcparent->type, lc->sy + 1);
|
||||||
|
|
||||||
/* Remove this from the parent's list. */
|
/* Remove this from the parent's list. */
|
||||||
TAILQ_REMOVE(&lcparent->cells, lc, entry);
|
TAILQ_REMOVE(&lcparent->cells, lc, entry);
|
||||||
@ -454,7 +463,7 @@ layout_resize(struct window *w, u_int sx, u_int sy)
|
|||||||
* window size.
|
* window size.
|
||||||
*/
|
*/
|
||||||
xchange = sx - w->sx;
|
xchange = sx - w->sx;
|
||||||
xlimit = layout_resize_check(lc, LAYOUT_LEFTRIGHT);
|
xlimit = layout_resize_check(w, lc, LAYOUT_LEFTRIGHT);
|
||||||
if (xchange < 0 && xchange < -xlimit)
|
if (xchange < 0 && xchange < -xlimit)
|
||||||
xchange = -xlimit;
|
xchange = -xlimit;
|
||||||
if (xlimit == 0) {
|
if (xlimit == 0) {
|
||||||
@ -464,11 +473,11 @@ layout_resize(struct window *w, u_int sx, u_int sy)
|
|||||||
xchange = sx - lc->sx;
|
xchange = sx - lc->sx;
|
||||||
}
|
}
|
||||||
if (xchange != 0)
|
if (xchange != 0)
|
||||||
layout_resize_adjust(lc, LAYOUT_LEFTRIGHT, xchange);
|
layout_resize_adjust(w, lc, LAYOUT_LEFTRIGHT, xchange);
|
||||||
|
|
||||||
/* Adjust vertically in a similar fashion. */
|
/* Adjust vertically in a similar fashion. */
|
||||||
ychange = sy - w->sy;
|
ychange = sy - w->sy;
|
||||||
ylimit = layout_resize_check(lc, LAYOUT_TOPBOTTOM);
|
ylimit = layout_resize_check(w, lc, LAYOUT_TOPBOTTOM);
|
||||||
if (ychange < 0 && ychange < -ylimit)
|
if (ychange < 0 && ychange < -ylimit)
|
||||||
ychange = -ylimit;
|
ychange = -ylimit;
|
||||||
if (ylimit == 0) {
|
if (ylimit == 0) {
|
||||||
@ -478,7 +487,7 @@ layout_resize(struct window *w, u_int sx, u_int sy)
|
|||||||
ychange = sy - lc->sy;
|
ychange = sy - lc->sy;
|
||||||
}
|
}
|
||||||
if (ychange != 0)
|
if (ychange != 0)
|
||||||
layout_resize_adjust(lc, LAYOUT_TOPBOTTOM, ychange);
|
layout_resize_adjust(w, lc, LAYOUT_TOPBOTTOM, ychange);
|
||||||
|
|
||||||
/* Fix cell offsets. */
|
/* Fix cell offsets. */
|
||||||
layout_fix_offsets(lc);
|
layout_fix_offsets(lc);
|
||||||
@ -522,8 +531,9 @@ layout_resize_pane_to(struct window_pane *wp, enum layout_type type,
|
|||||||
void
|
void
|
||||||
layout_resize_pane(struct window_pane *wp, enum layout_type type, int change)
|
layout_resize_pane(struct window_pane *wp, enum layout_type type, int change)
|
||||||
{
|
{
|
||||||
struct layout_cell *lc, *lcparent;
|
struct window *w = wp->window;
|
||||||
int needed, size;
|
struct layout_cell *lc, *lcparent;
|
||||||
|
int needed, size;
|
||||||
|
|
||||||
lc = wp->layout_cell;
|
lc = wp->layout_cell;
|
||||||
|
|
||||||
@ -544,10 +554,10 @@ layout_resize_pane(struct window_pane *wp, enum layout_type type, int change)
|
|||||||
needed = change;
|
needed = change;
|
||||||
while (needed != 0) {
|
while (needed != 0) {
|
||||||
if (change > 0) {
|
if (change > 0) {
|
||||||
size = layout_resize_pane_grow(lc, type, needed);
|
size = layout_resize_pane_grow(w, lc, type, needed);
|
||||||
needed -= size;
|
needed -= size;
|
||||||
} else {
|
} else {
|
||||||
size = layout_resize_pane_shrink(lc, type, needed);
|
size = layout_resize_pane_shrink(w, lc, type, needed);
|
||||||
needed += size;
|
needed += size;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -563,8 +573,8 @@ layout_resize_pane(struct window_pane *wp, enum layout_type type, int change)
|
|||||||
|
|
||||||
/* Helper function to grow pane. */
|
/* Helper function to grow pane. */
|
||||||
static int
|
static int
|
||||||
layout_resize_pane_grow(struct layout_cell *lc, enum layout_type type,
|
layout_resize_pane_grow(struct window *w, struct layout_cell *lc,
|
||||||
int needed)
|
enum layout_type type, int needed)
|
||||||
{
|
{
|
||||||
struct layout_cell *lcadd, *lcremove;
|
struct layout_cell *lcadd, *lcremove;
|
||||||
u_int size;
|
u_int size;
|
||||||
@ -575,7 +585,7 @@ layout_resize_pane_grow(struct layout_cell *lc, enum layout_type type,
|
|||||||
/* Look towards the tail for a suitable cell for reduction. */
|
/* Look towards the tail for a suitable cell for reduction. */
|
||||||
lcremove = TAILQ_NEXT(lc, entry);
|
lcremove = TAILQ_NEXT(lc, entry);
|
||||||
while (lcremove != NULL) {
|
while (lcremove != NULL) {
|
||||||
size = layout_resize_check(lcremove, type);
|
size = layout_resize_check(w, lcremove, type);
|
||||||
if (size > 0)
|
if (size > 0)
|
||||||
break;
|
break;
|
||||||
lcremove = TAILQ_NEXT(lcremove, entry);
|
lcremove = TAILQ_NEXT(lcremove, entry);
|
||||||
@ -585,7 +595,7 @@ layout_resize_pane_grow(struct layout_cell *lc, enum layout_type type,
|
|||||||
if (lcremove == NULL) {
|
if (lcremove == NULL) {
|
||||||
lcremove = TAILQ_PREV(lc, layout_cells, entry);
|
lcremove = TAILQ_PREV(lc, layout_cells, entry);
|
||||||
while (lcremove != NULL) {
|
while (lcremove != NULL) {
|
||||||
size = layout_resize_check(lcremove, type);
|
size = layout_resize_check(w, lcremove, type);
|
||||||
if (size > 0)
|
if (size > 0)
|
||||||
break;
|
break;
|
||||||
lcremove = TAILQ_PREV(lcremove, layout_cells, entry);
|
lcremove = TAILQ_PREV(lcremove, layout_cells, entry);
|
||||||
@ -597,15 +607,15 @@ layout_resize_pane_grow(struct layout_cell *lc, enum layout_type type,
|
|||||||
/* Change the cells. */
|
/* Change the cells. */
|
||||||
if (size > (u_int) needed)
|
if (size > (u_int) needed)
|
||||||
size = needed;
|
size = needed;
|
||||||
layout_resize_adjust(lcadd, type, size);
|
layout_resize_adjust(w, lcadd, type, size);
|
||||||
layout_resize_adjust(lcremove, type, -size);
|
layout_resize_adjust(w, lcremove, type, -size);
|
||||||
return (size);
|
return (size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Helper function to shrink pane. */
|
/* Helper function to shrink pane. */
|
||||||
static int
|
static int
|
||||||
layout_resize_pane_shrink(struct layout_cell *lc, enum layout_type type,
|
layout_resize_pane_shrink(struct window *w, struct layout_cell *lc,
|
||||||
int needed)
|
enum layout_type type, int needed)
|
||||||
{
|
{
|
||||||
struct layout_cell *lcadd, *lcremove;
|
struct layout_cell *lcadd, *lcremove;
|
||||||
u_int size;
|
u_int size;
|
||||||
@ -613,7 +623,7 @@ layout_resize_pane_shrink(struct layout_cell *lc, enum layout_type type,
|
|||||||
/* Shrinking. Find cell to remove from by walking towards head. */
|
/* Shrinking. Find cell to remove from by walking towards head. */
|
||||||
lcremove = lc;
|
lcremove = lc;
|
||||||
do {
|
do {
|
||||||
size = layout_resize_check(lcremove, type);
|
size = layout_resize_check(w, lcremove, type);
|
||||||
if (size != 0)
|
if (size != 0)
|
||||||
break;
|
break;
|
||||||
lcremove = TAILQ_PREV(lcremove, layout_cells, entry);
|
lcremove = TAILQ_PREV(lcremove, layout_cells, entry);
|
||||||
@ -629,8 +639,8 @@ layout_resize_pane_shrink(struct layout_cell *lc, enum layout_type type,
|
|||||||
/* Change the cells. */
|
/* Change the cells. */
|
||||||
if (size > (u_int) -needed)
|
if (size > (u_int) -needed)
|
||||||
size = -needed;
|
size = -needed;
|
||||||
layout_resize_adjust(lcadd, type, size);
|
layout_resize_adjust(w, lcadd, type, size);
|
||||||
layout_resize_adjust(lcremove, type, -size);
|
layout_resize_adjust(w, lcremove, type, -size);
|
||||||
return (size);
|
return (size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -769,13 +779,15 @@ layout_split_pane(struct window_pane *wp, enum layout_type type, int size,
|
|||||||
void
|
void
|
||||||
layout_close_pane(struct window_pane *wp)
|
layout_close_pane(struct window_pane *wp)
|
||||||
{
|
{
|
||||||
|
struct window *w = wp->window;
|
||||||
|
|
||||||
/* Remove the cell. */
|
/* Remove the cell. */
|
||||||
layout_destroy_cell(wp->layout_cell, &wp->window->layout_root);
|
layout_destroy_cell(w, wp->layout_cell, &w->layout_root);
|
||||||
|
|
||||||
/* Fix pane offsets and sizes. */
|
/* Fix pane offsets and sizes. */
|
||||||
if (wp->window->layout_root != NULL) {
|
if (w->layout_root != NULL) {
|
||||||
layout_fix_offsets(wp->window->layout_root);
|
layout_fix_offsets(w->layout_root);
|
||||||
layout_fix_panes(wp->window, wp->window->sx, wp->window->sy);
|
layout_fix_panes(w, w->sx, w->sy);
|
||||||
}
|
}
|
||||||
notify_window_layout_changed(wp->window);
|
notify_window_layout_changed(w);
|
||||||
}
|
}
|
||||||
|
7
tmux.h
7
tmux.h
@ -2185,7 +2185,7 @@ u_int layout_count_cells(struct layout_cell *);
|
|||||||
struct layout_cell *layout_create_cell(struct layout_cell *);
|
struct layout_cell *layout_create_cell(struct layout_cell *);
|
||||||
void layout_free_cell(struct layout_cell *);
|
void layout_free_cell(struct layout_cell *);
|
||||||
void layout_print_cell(struct layout_cell *, const char *, u_int);
|
void layout_print_cell(struct layout_cell *, const char *, u_int);
|
||||||
void layout_destroy_cell(struct layout_cell *,
|
void layout_destroy_cell(struct window *, struct layout_cell *,
|
||||||
struct layout_cell **);
|
struct layout_cell **);
|
||||||
void layout_set_size(struct layout_cell *, u_int, u_int, u_int,
|
void layout_set_size(struct layout_cell *, u_int, u_int, u_int,
|
||||||
u_int);
|
u_int);
|
||||||
@ -2193,9 +2193,8 @@ void layout_make_leaf(struct layout_cell *, struct window_pane *);
|
|||||||
void layout_make_node(struct layout_cell *, enum layout_type);
|
void layout_make_node(struct layout_cell *, enum layout_type);
|
||||||
void layout_fix_offsets(struct layout_cell *);
|
void layout_fix_offsets(struct layout_cell *);
|
||||||
void layout_fix_panes(struct window *, u_int, u_int);
|
void layout_fix_panes(struct window *, u_int, u_int);
|
||||||
u_int layout_resize_check(struct layout_cell *, enum layout_type);
|
void layout_resize_adjust(struct window *, struct layout_cell *,
|
||||||
void layout_resize_adjust(struct layout_cell *, enum layout_type,
|
enum layout_type, int);
|
||||||
int);
|
|
||||||
void layout_init(struct window *, struct window_pane *);
|
void layout_init(struct window *, struct window_pane *);
|
||||||
void layout_free(struct window *);
|
void layout_free(struct window *);
|
||||||
void layout_resize(struct window *, u_int, u_int);
|
void layout_resize(struct window *, u_int, u_int);
|
||||||
|
Loading…
Reference in New Issue
Block a user