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

Diff for /src/usr.bin/tmux/window-buffer.c between version 1.9 and 1.10

version 1.9, 2017/08/09 11:43:45 version 1.10, 2017/10/25 11:26:11
Line 319 
Line 319 
 }  }
   
 static void  static void
 window_buffer_do_delete(void* modedata, void *itemdata, __unused key_code key)  window_buffer_do_delete(void* modedata, void *itemdata,
       __unused struct client *c, __unused key_code key)
 {  {
         struct window_buffer_modedata   *data = modedata;          struct window_buffer_modedata   *data = modedata;
         struct window_buffer_itemdata   *item = itemdata;          struct window_buffer_itemdata   *item = itemdata;
Line 332 
Line 333 
 }  }
   
 static void  static void
   window_buffer_do_paste(void* modedata, void *itemdata, struct client *c,
       __unused key_code key)
   {
           struct window_buffer_modedata   *data = modedata;
           struct window_buffer_itemdata   *item = itemdata;
           struct paste_buffer             *pb;
   
           if ((pb = paste_get_name(item->name)) != NULL)
                   mode_tree_run_command(c, NULL, data->command, item->name);
   }
   
   static void
 window_buffer_key(struct window_pane *wp, struct client *c,  window_buffer_key(struct window_pane *wp, struct client *c,
     __unused struct session *s, key_code key, struct mouse_event *m)      __unused struct session *s, key_code key, struct mouse_event *m)
 {  {
         struct window_buffer_modedata   *data = wp->modedata;          struct window_buffer_modedata   *data = wp->modedata;
           struct mode_tree_data           *mtd = data->data;
         struct window_buffer_itemdata   *item;          struct window_buffer_itemdata   *item;
         char                            *command, *name;  
         int                              finished;          int                              finished;
   
         /*          finished = mode_tree_key(mtd, c, &key, m);
          * t = toggle tag  
          * T = tag none  
          * C-t = tag all  
          * q = exit  
          * O = change sort order  
          *  
          * d = delete buffer  
          * D = delete tagged buffers  
          * Enter = paste buffer  
          */  
   
         finished = mode_tree_key(data->data, c, &key, m);  
         switch (key) {          switch (key) {
         case 'd':          case 'd':
                 item = mode_tree_get_current(data->data);                  item = mode_tree_get_current(mtd);
                 window_buffer_do_delete(data, item, key);                  window_buffer_do_delete(data, item, c, key);
                 mode_tree_build(data->data);                  mode_tree_build(mtd);
                 break;                  break;
         case 'D':          case 'D':
                 mode_tree_each_tagged(data->data, window_buffer_do_delete, key,                  mode_tree_each_tagged(mtd, window_buffer_do_delete, c, key, 0);
                     0);                  mode_tree_build(mtd);
                 mode_tree_build(data->data);  
                 break;                  break;
           case 'P':
                   mode_tree_each_tagged(mtd, window_buffer_do_paste, c, key, 0);
                   finished = 1;
                   break;
           case 'p':
         case '\r':          case '\r':
                 item = mode_tree_get_current(data->data);                  item = mode_tree_get_current(mtd);
                 command = xstrdup(data->command);                  window_buffer_do_paste(data, item, c, key);
                 name = xstrdup(item->name);                  finished = 1;
                 window_pane_reset_mode(wp);                  break;
                 mode_tree_run_command(c, NULL, command, name);  
                 free(name);  
                 free(command);  
                 return;  
         }          }
         if (finished || paste_get_top(NULL) == NULL)          if (finished || paste_get_top(NULL) == NULL)
                 window_pane_reset_mode(wp);                  window_pane_reset_mode(wp);
         else {          else {
                 mode_tree_draw(data->data);                  mode_tree_draw(mtd);
                 wp->flags |= PANE_REDRAW;                  wp->flags |= PANE_REDRAW;
         }          }
 }  }

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10