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

Diff for /src/usr.bin/tmux/window.c between version 1.65 and 1.66

version 1.65, 2011/04/18 20:57:16 version 1.66, 2011/06/05 10:53:05
Line 356 
Line 356 
         }          }
 }  }
   
 void  struct window_pane *
 window_set_active_at(struct window *w, u_int x, u_int y)  window_get_active_at(struct window *w, u_int x, u_int y)
 {  {
         struct window_pane      *wp;          struct window_pane      *wp;
   
         TAILQ_FOREACH(wp, &w->panes, entry) {          TAILQ_FOREACH(wp, &w->panes, entry) {
                 if (wp == w->active || !window_pane_visible(wp))                  if (!window_pane_visible(wp))
                         continue;                          continue;
                 if (x < wp->xoff || x >= wp->xoff + wp->sx)                  if (x < wp->xoff || x > wp->xoff + wp->sx)
                         continue;                          continue;
                 if (y < wp->yoff || y >= wp->yoff + wp->sy)                  if (y < wp->yoff || y > wp->yoff + wp->sy)
                         continue;                          continue;
                 window_set_active_pane(w, wp);                  return (wp);
                 break;  
         }          }
           return (NULL);
   }
   
   void
   window_set_active_at(struct window *w, u_int x, u_int y)
   {
           struct window_pane      *wp;
   
           wp = window_get_active_at(w, x, y);
           if (wp != NULL && wp != w->active)
                   window_set_active_pane(w, wp);
   }
   
   struct window_pane *
   window_find_string(struct window *w, const char *s)
   {
           u_int   x, y;
   
           x = w->sx / 2;
           y = w->sy / 2;
   
           if (strcasecmp(s, "top") == 0)
                   y = 0;
           else if (strcasecmp(s, "bottom") == 0)
                   y = w->sy - 1;
           else if (strcasecmp(s, "left") == 0)
                   x = 0;
           else if (strcasecmp(s, "right") == 0)
                   x = w->sx - 1;
           else if (strcasecmp(s, "top-left") == 0) {
                   x = 0;
                   y = 0;
           } else if (strcasecmp(s, "top-right") == 0) {
                   x = w->sx - 1;
                   y = 0;
           } else if (strcasecmp(s, "bottom-left") == 0) {
                   x = 0;
                   y = w->sy - 1;
           } else if (strcasecmp(s, "bottom-right") == 0) {
                   x = w->sx - 1;
                   y = w->sy - 1;
           } else
                   return (NULL);
   
           return (window_get_active_at(w, x, y));
 }  }
   
 struct window_pane *  struct window_pane *

Legend:
Removed from v.1.65  
changed lines
  Added in v.1.66