version 1.57, 2010/10/23 12:51:51 |
version 1.58, 2010/10/23 13:04:34 |
|
|
void |
void |
window_set_active_pane(struct window *w, struct window_pane *wp) |
window_set_active_pane(struct window *w, struct window_pane *wp) |
{ |
{ |
|
w->last = w->active; |
w->active = wp; |
w->active = wp; |
while (!window_pane_visible(w->active)) { |
while (!window_pane_visible(w->active)) { |
w->active = TAILQ_PREV(w->active, window_panes, entry); |
w->active = TAILQ_PREV(w->active, window_panes, entry); |
|
|
window_remove_pane(struct window *w, struct window_pane *wp) |
window_remove_pane(struct window *w, struct window_pane *wp) |
{ |
{ |
if (wp == w->active) { |
if (wp == w->active) { |
w->active = TAILQ_PREV(wp, window_panes, entry); |
w->active = w->last; |
if (w->active == NULL) |
w->last = NULL; |
w->active = TAILQ_NEXT(wp, entry); |
if (w->active == NULL) { |
} |
w->active = TAILQ_PREV(wp, window_panes, entry); |
|
if (w->active == NULL) |
|
w->active = TAILQ_NEXT(wp, entry); |
|
} |
|
} else if (wp == w->last) |
|
w->last = NULL; |
|
|
TAILQ_REMOVE(&w->panes, wp, entry); |
TAILQ_REMOVE(&w->panes, wp, entry); |
window_pane_destroy(wp); |
window_pane_destroy(wp); |