[BACK]Return to cmd-rotate-window.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/cmd-rotate-window.c between version 1.6 and 1.7

version 1.6, 2009/07/14 07:23:36 version 1.7, 2009/07/19 13:21:40
Line 59 
Line 59 
         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)
Line 70 
Line 71 
                 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);
 }  }

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7