[BACK]Return to layout.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/layout.c between version 1.14 and 1.15

version 1.14, 2012/07/10 11:53:01 version 1.15, 2012/10/26 14:35:42
Line 488 
Line 488 
 }  }
   
 void  void
 layout_resize_pane_mouse(struct client *c, struct mouse_event *mouse)  layout_resize_pane_mouse(struct client *c)
 {  {
         struct window           *w;          struct window           *w;
         struct window_pane      *wp;          struct window_pane      *wp;
           struct mouse_event      *m = &c->tty.mouse;
         int                      pane_border;          int                      pane_border;
   
         w = c->session->curw->window;          w = c->session->curw->window;
   
         pane_border = 0;          pane_border = 0;
         if ((c->last_mouse.b & MOUSE_BUTTON) != MOUSE_UP &&          if (m->event & MOUSE_EVENT_DRAG && m->flags & MOUSE_RESIZE_PANE) {
             (c->last_mouse.b & MOUSE_RESIZE_PANE)) {  
                 TAILQ_FOREACH(wp, &w->panes, entry) {                  TAILQ_FOREACH(wp, &w->panes, entry) {
                         if (wp->xoff + wp->sx == c->last_mouse.x &&                          if (wp->xoff + wp->sx == m->lx &&
                             wp->yoff <= 1 + c->last_mouse.y &&                              wp->yoff <= 1 + m->ly &&
                             wp->yoff + wp->sy >= c->last_mouse.y) {                              wp->yoff + wp->sy >= m->ly) {
                                 layout_resize_pane(wp, LAYOUT_LEFTRIGHT,                                  layout_resize_pane(wp, LAYOUT_LEFTRIGHT,
                                     mouse->x - c->last_mouse.x);                                      m->x - m->lx);
                                 pane_border = 1;                                  pane_border = 1;
                         }                          }
                         if (wp->yoff + wp->sy == c->last_mouse.y &&                          if (wp->yoff + wp->sy == m->ly &&
                             wp->xoff <= 1 + c->last_mouse.x &&                              wp->xoff <= 1 + m->lx &&
                             wp->xoff + wp->sx >= c->last_mouse.x) {                              wp->xoff + wp->sx >= m->lx) {
                                 layout_resize_pane(wp, LAYOUT_TOPBOTTOM,                                  layout_resize_pane(wp, LAYOUT_TOPBOTTOM,
                                     mouse->y - c->last_mouse.y);                                      m->y - m->ly);
                                 pane_border = 1;                                  pane_border = 1;
                         }                          }
                 }                  }
                 if (pane_border)                  if (pane_border)
                         server_redraw_window(w);                          server_redraw_window(w);
         } else if (mouse->b != MOUSE_UP &&          } else if (~m->event & MOUSE_EVENT_UP) {
             mouse->b == (mouse->b & MOUSE_BUTTON)) {  
                 TAILQ_FOREACH(wp, &w->panes, entry) {                  TAILQ_FOREACH(wp, &w->panes, entry) {
                         if ((wp->xoff + wp->sx == mouse->x &&                          if ((wp->xoff + wp->sx == m->x &&
                             wp->yoff <= 1 + mouse->y &&                              wp->yoff <= 1 + m->y &&
                             wp->yoff + wp->sy >= mouse->y) ||                              wp->yoff + wp->sy >= m->y) ||
                             (wp->yoff + wp->sy == mouse->y &&                              (wp->yoff + wp->sy == m->y &&
                             wp->xoff <= 1 + mouse->x &&                              wp->xoff <= 1 + m->x &&
                             wp->xoff + wp->sx >= mouse->x)) {                              wp->xoff + wp->sx >= m->x)) {
                                 pane_border = 1;                                  pane_border = 1;
                         }                          }
                 }                  }
         }          }
         if (pane_border)          if (pane_border)
                 mouse->b |= MOUSE_RESIZE_PANE;                  m->flags |= MOUSE_RESIZE_PANE;
           else
                   m->flags &= ~MOUSE_RESIZE_PANE;
 }  }
   
 int  int

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15