[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.148 and 1.149

version 1.148, 2016/04/27 09:39:09 version 1.149, 2016/05/01 13:39:05
Line 26 
Line 26 
   
 struct screen *window_copy_init(struct window_pane *);  struct screen *window_copy_init(struct window_pane *);
 void    window_copy_free(struct window_pane *);  void    window_copy_free(struct window_pane *);
 void    window_copy_pagedown(struct window_pane *);  void    window_copy_pagedown(struct window_pane *, int);
 void    window_copy_next_paragraph(struct window_pane *);  void    window_copy_next_paragraph(struct window_pane *);
 void    window_copy_previous_paragraph(struct window_pane *);  void    window_copy_previous_paragraph(struct window_pane *);
 void    window_copy_resize(struct window_pane *, u_int, u_int);  void    window_copy_resize(struct window_pane *, u_int, u_int);
Line 323 
Line 323 
 }  }
   
 void  void
 window_copy_pageup(struct window_pane *wp)  window_copy_pageup(struct window_pane *wp, int half_page)
 {  {
         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 342 
Line 342 
         data->cx = data->lastcx;          data->cx = data->lastcx;
   
         n = 1;          n = 1;
         if (screen_size_y(s) > 2)          if (screen_size_y(s) > 2) {
                 n = screen_size_y(s) - 2;                  if (half_page)
                           n = screen_size_y(s) / 2;
                   else
                           n = screen_size_y(s) - 2;
           }
   
         if (data->oy + n > screen_hsize(data->backing))          if (data->oy + n > screen_hsize(data->backing))
                 data->oy = screen_hsize(data->backing);                  data->oy = screen_hsize(data->backing);
Line 362 
Line 366 
 }  }
   
 void  void
 window_copy_pagedown(struct window_pane *wp)  window_copy_pagedown(struct window_pane *wp, int half_page)
 {  {
         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 381 
Line 385 
         data->cx = data->lastcx;          data->cx = data->lastcx;
   
         n = 1;          n = 1;
         if (screen_size_y(s) > 2)          if (screen_size_y(s) > 2) {
                 n = screen_size_y(s) - 2;                  if (half_page)
                           n = screen_size_y(s) / 2;
                   else
                           n = screen_size_y(s) - 2;
           }
   
         if (data->oy < n)          if (data->oy < n)
                 data->oy = 0;                  data->oy = 0;
Line 477 
Line 485 
         const char                      *word_separators;          const char                      *word_separators;
         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;
         u_int                            n, np;          u_int                            np;
         int                              keys;          int                              keys;
         enum mode_key_cmd                cmd;          enum mode_key_cmd                cmd;
         const char                      *arg, *ss;          const char                      *arg, *ss;
Line 582 
Line 590 
                 break;                  break;
         case MODEKEYCOPY_PREVIOUSPAGE:          case MODEKEYCOPY_PREVIOUSPAGE:
                 for (; np != 0; np--)                  for (; np != 0; np--)
                         window_copy_pageup(wp);                          window_copy_pageup(wp, 0);
                 break;                  break;
         case MODEKEYCOPY_NEXTPAGE:          case MODEKEYCOPY_NEXTPAGE:
                 for (; np != 0; np--)                  for (; np != 0; np--)
                         window_copy_pagedown(wp);                          window_copy_pagedown(wp, 0);
                 break;                  break;
         case MODEKEYCOPY_PREVIOUSPARAGRAPH:          case MODEKEYCOPY_PREVIOUSPARAGRAPH:
                 for (; np != 0; np--)                  for (; np != 0; np--)
Line 597 
Line 605 
                         window_copy_next_paragraph(wp);                          window_copy_next_paragraph(wp);
                 break;                  break;
         case MODEKEYCOPY_HALFPAGEUP:          case MODEKEYCOPY_HALFPAGEUP:
                 n = screen_size_y(s) / 2;                  for (; np != 0; np--)
                 for (; np != 0; np--) {                          window_copy_pageup(wp, 1);
                         if (data->oy + n > screen_hsize(data->backing))  
                                 data->oy = screen_hsize(data->backing);  
                         else  
                                 data->oy += n;  
                 }  
                 window_copy_update_selection(wp, 1);  
                 window_copy_redraw_screen(wp);  
                 break;                  break;
         case MODEKEYCOPY_HALFPAGEDOWN:          case MODEKEYCOPY_HALFPAGEDOWN:
                 n = screen_size_y(s) / 2;                  for (; np != 0; np--)
                 for (; np != 0; np--) {                          window_copy_pagedown(wp, 1);
                         if (data->oy < n)  
                                 data->oy = 0;  
                         else  
                                 data->oy -= n;  
                 }  
                 if (data->scroll_exit && data->oy == 0) {  
                         window_pane_reset_mode(wp);  
                         return;  
                 }  
                 window_copy_update_selection(wp, 1);  
                 window_copy_redraw_screen(wp);  
                 break;                  break;
         case MODEKEYCOPY_TOPLINE:          case MODEKEYCOPY_TOPLINE:
                 data->cx = 0;                  data->cx = 0;

Legend:
Removed from v.1.148  
changed lines
  Added in v.1.149