[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.46 and 1.47

version 1.46, 2010/02/19 00:03:21 version 1.47, 2010/02/22 20:28:21
Line 52 
Line 52 
 void    window_copy_start_selection(struct window_pane *);  void    window_copy_start_selection(struct window_pane *);
 int     window_copy_update_selection(struct window_pane *);  int     window_copy_update_selection(struct window_pane *);
 void    window_copy_copy_selection(struct window_pane *, struct client *);  void    window_copy_copy_selection(struct window_pane *, struct client *);
   void    window_copy_clear_selection(struct window_pane *);
 void    window_copy_copy_line(  void    window_copy_copy_line(
             struct window_pane *, char **, size_t *, u_int, u_int, u_int);              struct window_pane *, char **, size_t *, u_int, u_int, u_int);
 int     window_copy_in_set(struct window_pane *, u_int, u_int, const char *);  int     window_copy_in_set(struct window_pane *, u_int, u_int, const char *);
Line 213 
Line 214 
         if (data->cx > sx)          if (data->cx > sx)
                 data->cx = sx;                  data->cx = sx;
   
         screen_clear_selection(&data->screen);          window_copy_clear_selection(wp);
   
         screen_write_start(&ctx, NULL, s);          screen_write_start(&ctx, NULL, s);
         window_copy_write_lines(wp, &ctx, 0, screen_size_y(s) - 1);          window_copy_write_lines(wp, &ctx, 0, screen_size_y(s) - 1);
Line 330 
Line 331 
                 window_copy_redraw_screen(wp);                  window_copy_redraw_screen(wp);
                 break;                  break;
         case MODEKEYCOPY_CLEARSELECTION:          case MODEKEYCOPY_CLEARSELECTION:
                 screen_clear_selection(&data->screen);                  window_copy_clear_selection(wp);
                 window_copy_redraw_screen(wp);                  window_copy_redraw_screen(wp);
                 break;                  break;
         case MODEKEYCOPY_COPYSELECTION:          case MODEKEYCOPY_COPYSELECTION:
Line 1050 
Line 1051 
         }          }
 }  }
   
   void
   window_copy_clear_selection(struct window_pane *wp)
   {
           struct window_copy_mode_data   *data = wp->modedata;
           u_int                           px, py;
   
           screen_clear_selection(&data->screen);
   
           py = screen_hsize(&wp->base) + data->cy - data->oy;
           px = window_copy_find_length(wp, py);
           if (data->cx > px)
                   window_copy_update_cursor(wp, px, data->cy);
   }
   
 int  int
 window_copy_in_set(struct window_pane *wp, u_int px, u_int py, const char *set)  window_copy_in_set(struct window_pane *wp, u_int px, u_int py, const char *set)
 {  {
Line 1159 
Line 1174 
         struct window_copy_mode_data    *data = wp->modedata;          struct window_copy_mode_data    *data = wp->modedata;
         u_int                            px, py;          u_int                            px, py;
   
         py = screen_hsize(&wp->base) + data->cy - data->oy;          if (data->screen.sel.flag && data->rectflag)
         px = window_copy_find_length(wp, py);                  px = screen_size_x(&data->screen);
           else {
                   py = screen_hsize(&wp->base) + data->cy - data->oy;
                   px = window_copy_find_length(wp, py);
           }
   
         if (data->cx >= px) {          if (data->cx >= px) {
                 window_copy_cursor_start_of_line(wp);                  window_copy_cursor_start_of_line(wp);
Line 1205 
Line 1224 
                 }                  }
         }          }
   
         py = screen_hsize(&wp->base) + data->cy - data->oy;          if (!data->screen.sel.flag || !data->rectflag) {
         px = window_copy_find_length(wp, py);                  py = screen_hsize(&wp->base) + data->cy - data->oy;
         if (data->cx >= data->lastsx || data->cx > px)                  px = window_copy_find_length(wp, py);
                 window_copy_cursor_end_of_line(wp);                  if (data->cx >= data->lastsx || data->cx > px)
                           window_copy_cursor_end_of_line(wp);
           }
 }  }
   
 void  void
Line 1236 
Line 1257 
                         window_copy_redraw_lines(wp, data->cy - 1, 2);                          window_copy_redraw_lines(wp, data->cy - 1, 2);
         }          }
   
         py = screen_hsize(&wp->base) + data->cy - data->oy;          if (!data->screen.sel.flag || !data->rectflag) {
         px = window_copy_find_length(wp, py);                  py = screen_hsize(&wp->base) + data->cy - data->oy;
         if (data->cx >= data->lastsx || data->cx > px)                  px = window_copy_find_length(wp, py);
                 window_copy_cursor_end_of_line(wp);                  if (data->cx >= data->lastsx || data->cx > px)
                           window_copy_cursor_end_of_line(wp);
           }
 }  }
   
 void  void
Line 1417 
Line 1440 
 window_copy_rectangle_toggle(struct window_pane *wp)  window_copy_rectangle_toggle(struct window_pane *wp)
 {  {
         struct window_copy_mode_data    *data = wp->modedata;          struct window_copy_mode_data    *data = wp->modedata;
           u_int                            px, py;
   
         data->rectflag = !data->rectflag;          data->rectflag = !data->rectflag;
   
           py = screen_hsize(&wp->base) + data->cy - data->oy;
           px = window_copy_find_length(wp, py);
           if (data->cx > px)
                   window_copy_update_cursor(wp, px, data->cy);
   
         window_copy_update_selection(wp);          window_copy_update_selection(wp);
         window_copy_redraw_screen(wp);          window_copy_redraw_screen(wp);

Legend:
Removed from v.1.46  
changed lines
  Added in v.1.47