[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.220 and 1.221

version 1.220, 2023/08/23 08:30:07 version 1.221, 2023/09/15 06:28:15
Line 169 
Line 169 
 static void     input_csi_dispatch_rm_private(struct input_ctx *);  static void     input_csi_dispatch_rm_private(struct input_ctx *);
 static void     input_csi_dispatch_sm(struct input_ctx *);  static void     input_csi_dispatch_sm(struct input_ctx *);
 static void     input_csi_dispatch_sm_private(struct input_ctx *);  static void     input_csi_dispatch_sm_private(struct input_ctx *);
   static void     input_csi_dispatch_sm_graphics(struct input_ctx *);
 static void     input_csi_dispatch_winops(struct input_ctx *);  static void     input_csi_dispatch_winops(struct input_ctx *);
 static void     input_csi_dispatch_sgr_256(struct input_ctx *, int, u_int *);  static void     input_csi_dispatch_sgr_256(struct input_ctx *, int, u_int *);
 static void     input_csi_dispatch_sgr_rgb(struct input_ctx *, int, u_int *);  static void     input_csi_dispatch_sgr_rgb(struct input_ctx *, int, u_int *);
Line 203 
Line 204 
         INPUT_ESC_SCSG0_ON,          INPUT_ESC_SCSG0_ON,
         INPUT_ESC_SCSG1_OFF,          INPUT_ESC_SCSG1_OFF,
         INPUT_ESC_SCSG1_ON,          INPUT_ESC_SCSG1_ON,
         INPUT_ESC_ST,          INPUT_ESC_ST
 };  };
   
 /* Escape command table. */  /* Escape command table. */
Line 259 
Line 260 
         INPUT_CSI_SGR,          INPUT_CSI_SGR,
         INPUT_CSI_SM,          INPUT_CSI_SM,
         INPUT_CSI_SM_PRIVATE,          INPUT_CSI_SM_PRIVATE,
           INPUT_CSI_SM_GRAPHICS,
         INPUT_CSI_SU,          INPUT_CSI_SU,
         INPUT_CSI_TBC,          INPUT_CSI_TBC,
         INPUT_CSI_VPA,          INPUT_CSI_VPA,
         INPUT_CSI_WINOPS,          INPUT_CSI_WINOPS,
         INPUT_CSI_XDA,          INPUT_CSI_XDA
 };  };
   
 /* Control (CSI) command table. */  /* Control (CSI) command table. */
Line 283 
Line 285 
         { 'M', "",  INPUT_CSI_DL },          { 'M', "",  INPUT_CSI_DL },
         { 'P', "",  INPUT_CSI_DCH },          { 'P', "",  INPUT_CSI_DCH },
         { 'S', "",  INPUT_CSI_SU },          { 'S', "",  INPUT_CSI_SU },
           { 'S', "?", INPUT_CSI_SM_GRAPHICS },
         { 'T', "",  INPUT_CSI_SD },          { 'T', "",  INPUT_CSI_SD },
         { 'X', "",  INPUT_CSI_ECH },          { 'X', "",  INPUT_CSI_ECH },
         { 'Z', "",  INPUT_CSI_CBT },          { 'Z', "",  INPUT_CSI_CBT },
Line 306 
Line 309 
         { 'r', "",  INPUT_CSI_DECSTBM },          { 'r', "",  INPUT_CSI_DECSTBM },
         { 's', "",  INPUT_CSI_SCP },          { 's', "",  INPUT_CSI_SCP },
         { 't', "",  INPUT_CSI_WINOPS },          { 't', "",  INPUT_CSI_WINOPS },
         { 'u', "",  INPUT_CSI_RCP },          { 'u', "",  INPUT_CSI_RCP }
 };  };
   
 /* Input transition. */  /* Input transition. */
Line 1595 
Line 1598 
         case INPUT_CSI_SM_PRIVATE:          case INPUT_CSI_SM_PRIVATE:
                 input_csi_dispatch_sm_private(ictx);                  input_csi_dispatch_sm_private(ictx);
                 break;                  break;
           case INPUT_CSI_SM_GRAPHICS:
                   input_csi_dispatch_sm_graphics(ictx);
                   break;
         case INPUT_CSI_SU:          case INPUT_CSI_SU:
                 n = input_get(ictx, 0, 1, 1);                  n = input_get(ictx, 0, 1, 1);
                 if (n != -1)                  if (n != -1)
Line 1827 
Line 1833 
         }          }
 }  }
   
   /* Handle CSI graphics SM. */
   static void
   input_csi_dispatch_sm_graphics(struct input_ctx *ictx)
   {
   }
   
 /* Handle CSI window operations. */  /* Handle CSI window operations. */
 static void  static void
 input_csi_dispatch_winops(struct input_ctx *ictx)  input_csi_dispatch_winops(struct input_ctx *ictx)
Line 1834 
Line 1846 
         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 window_pane      *wp = ictx->wp;          struct window_pane      *wp = ictx->wp;
           struct window           *w = wp->window;
         u_int                    x = screen_size_x(s), y = screen_size_y(s);          u_int                    x = screen_size_x(s), y = screen_size_y(s);
         int                      n, m;          int                      n, m;
   
Line 1847 
Line 1860 
                 case 7:                  case 7:
                 case 11:                  case 11:
                 case 13:                  case 13:
                 case 14:  
                 case 19:  
                 case 20:                  case 20:
                 case 21:                  case 21:
                 case 24:                  case 24:
Line 1866 
Line 1877 
                         if (input_get(ictx, m, 0, -1) == -1)                          if (input_get(ictx, m, 0, -1) == -1)
                                 return;                                  return;
                         break;                          break;
                   case 14:
                           input_reply(ictx, "\033[4;%u;%ut", y * w->ypixel, x * w->xpixel);
                           break;
                   case 15:
                           input_reply(ictx, "\033[5;%u;%ut", y * w->ypixel, x * w->xpixel);
                           break;
                   case 16:
                           input_reply(ictx, "\033[6;%u;%ut", w->ypixel, w->xpixel);
                           break;
                   case 18:
                           input_reply(ictx, "\033[8;%u;%ut", y, x);
                           break;
                   case 19:
                           input_reply(ictx, "\033[9;%u;%ut", y, x);
                           break;
                 case 22:                  case 22:
                         m++;                          m++;
                         switch (input_get(ictx, m, 0, -1)) {                          switch (input_get(ictx, m, 0, -1)) {
Line 1892 
Line 1918 
                                 server_status_window(wp->window);                                  server_status_window(wp->window);
                                 break;                                  break;
                         }                          }
                         break;  
                 case 18:  
                         input_reply(ictx, "\033[8;%u;%ut", y, x);  
                         break;                          break;
                 default:                  default:
                         log_debug("%s: unknown '%c'", __func__, ictx->ch);                          log_debug("%s: unknown '%c'", __func__, ictx->ch);

Legend:
Removed from v.1.220  
changed lines
  Added in v.1.221