version 1.6, 2009/07/14 07:23:36 |
version 1.7, 2009/07/19 13:21:40 |
|
|
struct winlink *wl; |
struct winlink *wl; |
struct window *w; |
struct window *w; |
struct window_pane *wp, *wp2; |
struct window_pane *wp, *wp2; |
|
struct layout_cell *lc; |
u_int sx, sy, xoff, yoff; |
u_int sx, sy, xoff, yoff; |
|
|
if ((wl = cmd_find_window(ctx, data->target, NULL)) == NULL) |
if ((wl = cmd_find_window(ctx, data->target, NULL)) == NULL) |
|
|
TAILQ_REMOVE(&w->panes, wp, entry); |
TAILQ_REMOVE(&w->panes, wp, entry); |
TAILQ_INSERT_HEAD(&w->panes, wp, entry); |
TAILQ_INSERT_HEAD(&w->panes, wp, entry); |
|
|
|
lc = wp->layout_cell; |
xoff = wp->xoff; yoff = wp->yoff; |
xoff = wp->xoff; yoff = wp->yoff; |
sx = wp->sx; sy = wp->sy; |
sx = wp->sx; sy = wp->sy; |
TAILQ_FOREACH(wp, &w->panes, entry) { |
TAILQ_FOREACH(wp, &w->panes, entry) { |
if ((wp2 = TAILQ_NEXT(wp, entry)) == NULL) |
if ((wp2 = TAILQ_NEXT(wp, entry)) == NULL) |
break; |
break; |
|
wp->layout_cell = wp2->layout_cell; |
|
if (wp->layout_cell != NULL) |
|
wp->layout_cell->wp = wp; |
wp->xoff = wp2->xoff; wp->yoff = wp2->yoff; |
wp->xoff = wp2->xoff; wp->yoff = wp2->yoff; |
window_pane_resize(wp, wp2->sx, wp2->sy); |
window_pane_resize(wp, wp2->sx, wp2->sy); |
} |
} |
|
wp->layout_cell = lc; |
|
if (wp->layout_cell != NULL) |
|
wp->layout_cell->wp = wp; |
wp->xoff = xoff; wp->yoff = yoff; |
wp->xoff = xoff; wp->yoff = yoff; |
window_pane_resize(wp, sx, sy); |
window_pane_resize(wp, sx, sy); |
|
|
if ((wp = TAILQ_PREV(w->active, window_panes, entry)) == NULL) |
if ((wp = TAILQ_PREV(w->active, window_panes, entry)) == NULL) |
wp = TAILQ_LAST(&w->panes, window_panes); |
wp = TAILQ_LAST(&w->panes, window_panes); |
window_set_active_pane(w, wp); |
window_set_active_pane(w, wp); |
|
server_redraw_window(w); |
} else { |
} else { |
wp = TAILQ_FIRST(&w->panes); |
wp = TAILQ_FIRST(&w->panes); |
TAILQ_REMOVE(&w->panes, wp, entry); |
TAILQ_REMOVE(&w->panes, wp, entry); |
TAILQ_INSERT_TAIL(&w->panes, wp, entry); |
TAILQ_INSERT_TAIL(&w->panes, wp, entry); |
|
|
|
lc = wp->layout_cell; |
xoff = wp->xoff; yoff = wp->yoff; |
xoff = wp->xoff; yoff = wp->yoff; |
sx = wp->sx; sy = wp->sy; |
sx = wp->sx; sy = wp->sy; |
TAILQ_FOREACH_REVERSE(wp, &w->panes, window_panes, entry) { |
TAILQ_FOREACH_REVERSE(wp, &w->panes, window_panes, entry) { |
if ((wp2 = TAILQ_PREV(wp, window_panes, entry)) == NULL) |
if ((wp2 = TAILQ_PREV(wp, window_panes, entry)) == NULL) |
break; |
break; |
|
wp->layout_cell = wp2->layout_cell; |
|
if (wp->layout_cell != NULL) |
|
wp->layout_cell->wp = wp; |
wp->xoff = wp2->xoff; wp->yoff = wp2->yoff; |
wp->xoff = wp2->xoff; wp->yoff = wp2->yoff; |
window_pane_resize(wp, wp2->sx, wp2->sy); |
window_pane_resize(wp, wp2->sx, wp2->sy); |
} |
} |
|
wp->layout_cell = lc; |
|
if (wp->layout_cell != NULL) |
|
wp->layout_cell->wp = wp; |
wp->xoff = xoff; wp->yoff = yoff; |
wp->xoff = xoff; wp->yoff = yoff; |
window_pane_resize(wp, sx, sy); |
window_pane_resize(wp, sx, sy); |
|
|
if ((wp = TAILQ_NEXT(w->active, entry)) == NULL) |
if ((wp = TAILQ_NEXT(w->active, entry)) == NULL) |
wp = TAILQ_FIRST(&w->panes); |
wp = TAILQ_FIRST(&w->panes); |
window_set_active_pane(w, wp); |
window_set_active_pane(w, wp); |
|
server_redraw_window(w); |
} |
} |
|
|
layout_refresh(w, 0); |
|
|
|
return (0); |
return (0); |
} |
} |