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

Diff for /src/usr.bin/tmux/window-copy.c between version 1.27 and 1.28

version 1.27, 2009/09/10 17:16:24 version 1.28, 2009/10/06 07:09:00
Line 61 
Line 61 
 void    window_copy_cursor_end_of_line(struct window_pane *);  void    window_copy_cursor_end_of_line(struct window_pane *);
 void    window_copy_cursor_left(struct window_pane *);  void    window_copy_cursor_left(struct window_pane *);
 void    window_copy_cursor_right(struct window_pane *);  void    window_copy_cursor_right(struct window_pane *);
 void    window_copy_cursor_up(struct window_pane *);  void    window_copy_cursor_up(struct window_pane *, int);
 void    window_copy_cursor_down(struct window_pane *);  void    window_copy_cursor_down(struct window_pane *, int);
 void    window_copy_cursor_next_word(struct window_pane *);  void    window_copy_cursor_next_word(struct window_pane *);
 void    window_copy_cursor_previous_word(struct window_pane *);  void    window_copy_cursor_previous_word(struct window_pane *);
 void    window_copy_scroll_up(struct window_pane *, u_int);  void    window_copy_scroll_up(struct window_pane *, u_int);
Line 235 
Line 235 
                 window_copy_cursor_right(wp);                  window_copy_cursor_right(wp);
                 return;                  return;
         case MODEKEYCOPY_UP:          case MODEKEYCOPY_UP:
                 window_copy_cursor_up(wp);                  window_copy_cursor_up(wp, 0);
                 return;                  return;
         case MODEKEYCOPY_DOWN:          case MODEKEYCOPY_DOWN:
                 window_copy_cursor_down(wp);                  window_copy_cursor_down(wp, 0);
                 return;                  return;
           case MODEKEYCOPY_SCROLLUP:
                   window_copy_cursor_up(wp, 1);
                   break;
           case MODEKEYCOPY_SCROLLDOWN:
                   window_copy_cursor_down(wp, 1);
                   break;
         case MODEKEYCOPY_PREVIOUSPAGE:          case MODEKEYCOPY_PREVIOUSPAGE:
                 window_copy_pageup(wp);                  window_copy_pageup(wp);
                 break;                  break;
Line 1020 
Line 1026 
         struct window_copy_mode_data    *data = wp->modedata;          struct window_copy_mode_data    *data = wp->modedata;
   
         if (data->cx == 0) {          if (data->cx == 0) {
                 window_copy_cursor_up(wp);                  window_copy_cursor_up(wp, 0);
                 window_copy_cursor_end_of_line(wp);                  window_copy_cursor_end_of_line(wp);
         } else {          } else {
                 window_copy_update_cursor(wp, data->cx - 1, data->cy);                  window_copy_update_cursor(wp, data->cx - 1, data->cy);
Line 1040 
Line 1046 
   
         if (data->cx >= px) {          if (data->cx >= px) {
                 window_copy_cursor_start_of_line(wp);                  window_copy_cursor_start_of_line(wp);
                 window_copy_cursor_down(wp);                  window_copy_cursor_down(wp, 0);
         } else {          } else {
                 window_copy_update_cursor(wp, data->cx + 1, data->cy);                  window_copy_update_cursor(wp, data->cx + 1, data->cy);
                 if (window_copy_update_selection(wp))                  if (window_copy_update_selection(wp))
Line 1049 
Line 1055 
 }  }
   
 void  void
 window_copy_cursor_up(struct window_pane *wp)  window_copy_cursor_up(struct window_pane *wp, int scroll_only)
 {  {
         struct window_copy_mode_data    *data = wp->modedata;          struct window_copy_mode_data    *data = wp->modedata;
         u_int                            ox, oy, px, py;          u_int                            ox, oy, px, py;
Line 1062 
Line 1068 
         }          }
   
         data->cx = data->lastcx;          data->cx = data->lastcx;
         if (data->cy == 0)          if (scroll_only || data->cy == 0) {
                 window_copy_scroll_down(wp, 1);                  window_copy_scroll_down(wp, 1);
         else {                  if (scroll_only && window_copy_update_selection(wp))
                           window_copy_redraw_lines(wp, data->cy, 2);
           } else {
                 window_copy_update_cursor(wp, data->cx, data->cy - 1);                  window_copy_update_cursor(wp, data->cx, data->cy - 1);
                 if (window_copy_update_selection(wp))                  if (window_copy_update_selection(wp))
                         window_copy_redraw_lines(wp, data->cy, 2);                          window_copy_redraw_lines(wp, data->cy, 2);
Line 1077 
Line 1085 
 }  }
   
 void  void
 window_copy_cursor_down(struct window_pane *wp)  window_copy_cursor_down(struct window_pane *wp, int scroll_only)
 {  {
         struct window_copy_mode_data    *data = wp->modedata;          struct window_copy_mode_data    *data = wp->modedata;
         struct screen                   *s = &data->screen;          struct screen                   *s = &data->screen;
Line 1091 
Line 1099 
         }          }
   
         data->cx = data->lastcx;          data->cx = data->lastcx;
         if (data->cy == screen_size_y(s) - 1)          if (scroll_only || data->cy == screen_size_y(s) - 1) {
                 window_copy_scroll_up(wp, 1);                  window_copy_scroll_up(wp, 1);
         else {                  if (scroll_only && window_copy_update_selection(wp))
                           window_copy_redraw_lines(wp, data->cy - 1, 2);
           } else {
                 window_copy_update_cursor(wp, data->cx, data->cy + 1);                  window_copy_update_cursor(wp, data->cx, data->cy + 1);
                 if (window_copy_update_selection(wp))                  if (window_copy_update_selection(wp))
                         window_copy_redraw_lines(wp, data->cy - 1, 2);                          window_copy_redraw_lines(wp, data->cy - 1, 2);
Line 1137 
Line 1147 
                                 }                                  }
   
                                 px = 0;                                  px = 0;
                                 window_copy_cursor_down(wp);                                  window_copy_cursor_down(wp, 0);
   
                                 py =screen_hsize(                                  py =screen_hsize(
                                     &wp->base) + data->cy - data->oy;                                      &wp->base) + data->cy - data->oy;
Line 1185 
Line 1195 
                             (screen_hsize(&wp->base) == 0 ||                              (screen_hsize(&wp->base) == 0 ||
                             data->oy >= screen_hsize(&wp->base) - 1))                              data->oy >= screen_hsize(&wp->base) - 1))
                                 goto out;                                  goto out;
                         window_copy_cursor_up(wp);                          window_copy_cursor_up(wp, 0);
   
                         py = screen_hsize(                          py = screen_hsize(
                             &wp->base) + data->cy - data->oy;                              &wp->base) + data->cy - data->oy;

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28