version 1.184, 2017/02/22 09:01:32 |
version 1.185, 2017/02/27 13:07:57 |
|
|
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, |
|
|
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; |
|
|
} |
} |
|
|
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); |
} |
} |
|
|