mirror of
https://github.com/tmux/tmux.git
synced 2025-01-05 15:28:50 +00:00
Merge branch 'master' of github.com:tmux/tmux
This commit is contained in:
commit
8684e60f51
@ -138,7 +138,7 @@ cmd_split_window_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
cause = xstrdup("pane too small");
|
cause = xstrdup("pane too small");
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
new_wp = window_add_pane(w, wp, hlimit);
|
new_wp = window_add_pane(w, wp, args_has(args, 'b'), hlimit);
|
||||||
layout_assign_pane(lc, new_wp);
|
layout_assign_pane(lc, new_wp);
|
||||||
|
|
||||||
path = NULL;
|
path = NULL;
|
||||||
|
2
tmux.h
2
tmux.h
@ -2068,7 +2068,7 @@ int window_set_active_pane(struct window *, struct window_pane *);
|
|||||||
void window_redraw_active_switch(struct window *,
|
void window_redraw_active_switch(struct window *,
|
||||||
struct window_pane *);
|
struct window_pane *);
|
||||||
struct window_pane *window_add_pane(struct window *, struct window_pane *,
|
struct window_pane *window_add_pane(struct window *, struct window_pane *,
|
||||||
u_int);
|
int, u_int);
|
||||||
void window_resize(struct window *, u_int, u_int);
|
void window_resize(struct window *, u_int, u_int);
|
||||||
int window_zoom(struct window_pane *);
|
int window_zoom(struct window_pane *);
|
||||||
int window_unzoom(struct window *);
|
int window_unzoom(struct window *);
|
||||||
|
19
window.c
19
window.c
@ -339,7 +339,7 @@ window_create_spawn(const char *name, int argc, char **argv, const char *path,
|
|||||||
struct window_pane *wp;
|
struct window_pane *wp;
|
||||||
|
|
||||||
w = window_create(sx, sy);
|
w = window_create(sx, sy);
|
||||||
wp = window_add_pane(w, NULL, hlimit);
|
wp = window_add_pane(w, NULL, 0, hlimit);
|
||||||
layout_init(w, wp);
|
layout_init(w, wp);
|
||||||
|
|
||||||
if (window_pane_spawn(wp, argc, argv, path, shell, cwd,
|
if (window_pane_spawn(wp, argc, argv, path, shell, cwd,
|
||||||
@ -426,6 +426,7 @@ window_has_pane(struct window *w, struct window_pane *wp)
|
|||||||
int
|
int
|
||||||
window_set_active_pane(struct window *w, struct window_pane *wp)
|
window_set_active_pane(struct window *w, struct window_pane *wp)
|
||||||
{
|
{
|
||||||
|
log_debug("%s: pane %%%u (was %%%u)", __func__, wp->id, w->active->id);
|
||||||
if (wp == w->active)
|
if (wp == w->active)
|
||||||
return (0);
|
return (0);
|
||||||
w->last = w->active;
|
w->last = w->active;
|
||||||
@ -578,19 +579,21 @@ window_unzoom(struct window *w)
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct window_pane *
|
struct window_pane *
|
||||||
window_add_pane(struct window *w, struct window_pane *after, u_int hlimit)
|
window_add_pane(struct window *w, struct window_pane *other, int before,
|
||||||
|
u_int hlimit)
|
||||||
{
|
{
|
||||||
struct window_pane *wp;
|
struct window_pane *wp;
|
||||||
|
|
||||||
|
if (other == NULL)
|
||||||
|
other = w->active;
|
||||||
|
|
||||||
wp = window_pane_create(w, w->sx, w->sy, hlimit);
|
wp = window_pane_create(w, w->sx, w->sy, hlimit);
|
||||||
if (TAILQ_EMPTY(&w->panes))
|
if (TAILQ_EMPTY(&w->panes))
|
||||||
TAILQ_INSERT_HEAD(&w->panes, wp, entry);
|
TAILQ_INSERT_HEAD(&w->panes, wp, entry);
|
||||||
else {
|
else if (before)
|
||||||
if (after == NULL)
|
TAILQ_INSERT_BEFORE(other, wp, entry);
|
||||||
TAILQ_INSERT_AFTER(&w->panes, w->active, wp, entry);
|
else
|
||||||
else
|
TAILQ_INSERT_AFTER(&w->panes, other, wp, entry);
|
||||||
TAILQ_INSERT_AFTER(&w->panes, after, wp, entry);
|
|
||||||
}
|
|
||||||
return (wp);
|
return (wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user