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

Diff for /src/usr.bin/tmux/input.c between version 1.64 and 1.65

version 1.64, 2013/10/10 11:57:14 version 1.65, 2014/01/31 11:17:20
Line 74 
Line 74 
 void    input_csi_dispatch_rm_private(struct input_ctx *);  void    input_csi_dispatch_rm_private(struct input_ctx *);
 void    input_csi_dispatch_sm(struct input_ctx *);  void    input_csi_dispatch_sm(struct input_ctx *);
 void    input_csi_dispatch_sm_private(struct input_ctx *);  void    input_csi_dispatch_sm_private(struct input_ctx *);
   void    input_csi_dispatch_winops(struct input_ctx *);
 void    input_csi_dispatch_sgr(struct input_ctx *);  void    input_csi_dispatch_sgr(struct input_ctx *);
 int     input_dcs_dispatch(struct input_ctx *);  int     input_dcs_dispatch(struct input_ctx *);
 int     input_utf8_open(struct input_ctx *);  int     input_utf8_open(struct input_ctx *);
Line 154 
Line 155 
         INPUT_CSI_SM_PRIVATE,          INPUT_CSI_SM_PRIVATE,
         INPUT_CSI_TBC,          INPUT_CSI_TBC,
         INPUT_CSI_VPA,          INPUT_CSI_VPA,
           INPUT_CSI_WINOPS,
 };  };
   
 /* Control (CSI) command table. */  /* Control (CSI) command table. */
Line 188 
Line 190 
         { 'q', " ", INPUT_CSI_DECSCUSR },          { 'q', " ", INPUT_CSI_DECSCUSR },
         { 'r', "",  INPUT_CSI_DECSTBM },          { 'r', "",  INPUT_CSI_DECSTBM },
         { 's', "",  INPUT_CSI_SCP },          { 's', "",  INPUT_CSI_SCP },
           { 't', "",  INPUT_CSI_WINOPS },
         { 'u', "",  INPUT_CSI_RCP },          { 'u', "",  INPUT_CSI_RCP },
 };  };
   
Line 1077 
Line 1080 
         struct screen_write_ctx        *sctx = &ictx->ctx;          struct screen_write_ctx        *sctx = &ictx->ctx;
         struct screen                  *s = sctx->s;          struct screen                  *s = sctx->s;
         struct input_table_entry       *entry;          struct input_table_entry       *entry;
         int                             n, m;          int                             n, m;
   
         if (ictx->flags & INPUT_DISCARD)          if (ictx->flags & INPUT_DISCARD)
                 return (0);                  return (0);
Line 1117 
Line 1120 
                 m = input_get(ictx, 1, 1, 1);                  m = input_get(ictx, 1, 1, 1);
                 screen_write_cursormove(sctx, m - 1, n - 1);                  screen_write_cursormove(sctx, m - 1, n - 1);
                 break;                  break;
           case INPUT_CSI_WINOPS:
                   input_csi_dispatch_winops(ictx);
                   break;
         case INPUT_CSI_CUU:          case INPUT_CSI_CUU:
                 screen_write_cursorup(sctx, input_get(ictx, 0, 1, 1));                  screen_write_cursorup(sctx, input_get(ictx, 0, 1, 1));
                 break;                  break;
Line 1427 
Line 1433 
                         log_debug("%s: unknown '%c'", __func__, ictx->ch);                          log_debug("%s: unknown '%c'", __func__, ictx->ch);
                         break;                          break;
                 }                  }
           }
   }
   
   /* Handle CSI window operations. */
   void
   input_csi_dispatch_winops(struct input_ctx *ictx)
   {
           struct window_pane      *wp = ictx->wp;
           int                      n, m;
   
           m = 0;
           while ((n = input_get(ictx, m, 0, -1)) != -1) {
                   switch (n) {
                   case 1:
                   case 2:
                   case 5:
                   case 6:
                   case 7:
                   case 11:
                   case 13:
                   case 14:
                   case 19:
                   case 20:
                   case 21:
                   case 24:
                           break;
                   case 3:
                   case 4:
                   case 8:
                           m++;
                           if (input_get(ictx, m, 0, -1) == -1)
                                   return;
                           /* FALLTHROUGH */
                   case 9:
                   case 10:
                   case 22:
                   case 23:
                           m++;
                           if (input_get(ictx, m, 0, -1) == -1)
                                   return;
                           break;
                   case 18:
                           input_reply(ictx, "\033[8;%u;%u", wp->sy, wp->sx);
                           break;
                   default:
                           log_debug("%s: unknown '%c'", __func__, ictx->ch);
                           break;
                   }
                   m++;
         }          }
 }  }
   

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