> How about WINOPS instead of WMN? This matches xterm src and seems a bit
> more readable. Otherwise looks good.

Sure.  I've attached an updated patch with WINOPS instead of WMN.
diff --git a/input.c b/input.c
index 259fad1..bc4f912 100644
--- a/input.c
+++ b/input.c
@@ -154,6 +154,7 @@ enum input_csi_type {
        INPUT_CSI_SM_PRIVATE,
        INPUT_CSI_TBC,
        INPUT_CSI_VPA,
+       INPUT_CSI_WINOPS,
 };
 
 /* Control (CSI) command table. */
@@ -188,6 +189,7 @@ const struct input_table_entry input_csi_table[] = {
        { 'q', " ", INPUT_CSI_DECSCUSR },
        { 'r', "",  INPUT_CSI_DECSTBM },
        { 's', "",  INPUT_CSI_SCP },
+       { 't', "",  INPUT_CSI_WINOPS },
        { 'u', "",  INPUT_CSI_RCP },
 };
 
@@ -1117,6 +1119,43 @@ input_csi_dispatch(struct input_ctx *ictx)
                m = input_get(ictx, 1, 1, 1);
                screen_write_cursormove(sctx, m - 1, n - 1);
                break;
+       case INPUT_CSI_WINOPS:
+               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 += 2;
+                               break;
+                       case 9:
+                       case 10:
+                       case 22:
+                       case 23:
+                               m++;
+                               break;
+                       case 18:
+                               input_reply(ictx, "\033[8;%d;%d", ictx->wp->sy, 
ictx->wp->sx);
+                               break;
+                       default:
+                               log_debug("%s: unknown '%c'", __func__, 
ictx->ch);
+                               break;
+                       }
+               }
+               break;
        case INPUT_CSI_CUU:
                screen_write_cursorup(sctx, input_get(ictx, 0, 1, 1));
                break;
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to