=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/input.c,v retrieving revision 1.177 retrieving revision 1.178 diff -c -r1.177 -r1.178 *** src/usr.bin/tmux/input.c 2020/05/16 15:34:08 1.177 --- src/usr.bin/tmux/input.c 2020/05/16 16:44:54 1.178 *************** *** 1,4 **** ! /* $OpenBSD: input.c,v 1.177 2020/05/16 15:34:08 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: input.c,v 1.178 2020/05/16 16:44:54 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 241,246 **** --- 241,248 ---- INPUT_CSI_HPA, INPUT_CSI_ICH, INPUT_CSI_IL, + INPUT_CSI_MODOFF, + INPUT_CSI_MODSET, INPUT_CSI_RCP, INPUT_CSI_REP, INPUT_CSI_RM, *************** *** 289,295 **** --- 291,299 ---- { 'l', "", INPUT_CSI_RM }, { 'l', "?", INPUT_CSI_RM_PRIVATE }, { 'm', "", INPUT_CSI_SGR }, + { 'm', ">", INPUT_CSI_MODSET }, { 'n', "", INPUT_CSI_DSR }, + { 'n', ">", INPUT_CSI_MODOFF }, { 'q', " ", INPUT_CSI_DECSCUSR }, { 'q', ">", INPUT_CSI_XDA }, { 'r', "", INPUT_CSI_DECSTBM }, *************** *** 1380,1385 **** --- 1384,1402 ---- if (n != -1 && m != -1) screen_write_cursormove(sctx, m - 1, n - 1, 1); break; + case INPUT_CSI_MODSET: + n = input_get(ictx, 0, 0, 0); + m = input_get(ictx, 1, 0, 0); + if (n == 0 || (n == 4 && m == 0)) + screen_write_mode_clear(sctx, MODE_KEXTENDED); + else if (n == 4 && (m == 1 || m == 2)) + screen_write_mode_set(sctx, MODE_KEXTENDED); + break; + case INPUT_CSI_MODOFF: + n = input_get(ictx, 0, 0, 0); + if (n == 4) + screen_write_mode_clear(sctx, MODE_KEXTENDED); + break; case INPUT_CSI_WINOPS: input_csi_dispatch_winops(ictx); break; *************** *** 1593,1599 **** break; case INPUT_CSI_XDA: n = input_get(ictx, 0, 0, 0); ! if (n != 0) input_reply(ictx, "\033P>|tmux %s\033\\", getversion()); break; --- 1610,1616 ---- break; case INPUT_CSI_XDA: n = input_get(ictx, 0, 0, 0); ! if (n == 0) input_reply(ictx, "\033P>|tmux %s\033\\", getversion()); break;