mirror of
https://github.com/tmux/tmux.git
synced 2024-12-14 02:48:47 +00:00
Sync OpenBSD patchset 992:
Add \033[s and \033[u to save and restore cursor position.
This commit is contained in:
parent
e210abf335
commit
2ca1849350
13
input.c
13
input.c
@ -135,8 +135,10 @@ enum input_csi_type {
|
|||||||
INPUT_CSI_HPA,
|
INPUT_CSI_HPA,
|
||||||
INPUT_CSI_ICH,
|
INPUT_CSI_ICH,
|
||||||
INPUT_CSI_IL,
|
INPUT_CSI_IL,
|
||||||
|
INPUT_CSI_RCP,
|
||||||
INPUT_CSI_RM,
|
INPUT_CSI_RM,
|
||||||
INPUT_CSI_RM_PRIVATE,
|
INPUT_CSI_RM_PRIVATE,
|
||||||
|
INPUT_CSI_SCP,
|
||||||
INPUT_CSI_SGR,
|
INPUT_CSI_SGR,
|
||||||
INPUT_CSI_SM,
|
INPUT_CSI_SM,
|
||||||
INPUT_CSI_SM_PRIVATE,
|
INPUT_CSI_SM_PRIVATE,
|
||||||
@ -171,6 +173,8 @@ const struct input_table_entry input_csi_table[] = {
|
|||||||
{ 'n', "", INPUT_CSI_DSR },
|
{ 'n', "", INPUT_CSI_DSR },
|
||||||
{ 'q', " ", INPUT_CSI_DECSCUSR },
|
{ 'q', " ", INPUT_CSI_DECSCUSR },
|
||||||
{ 'r', "", INPUT_CSI_DECSTBM },
|
{ 'r', "", INPUT_CSI_DECSTBM },
|
||||||
|
{ 's', "", INPUT_CSI_SCP },
|
||||||
|
{ 'u', "", INPUT_CSI_RCP },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Input transition. */
|
/* Input transition. */
|
||||||
@ -1168,6 +1172,10 @@ input_csi_dispatch(struct input_ctx *ictx)
|
|||||||
case INPUT_CSI_IL:
|
case INPUT_CSI_IL:
|
||||||
screen_write_insertline(sctx, input_get(ictx, 0, 1, 1));
|
screen_write_insertline(sctx, input_get(ictx, 0, 1, 1));
|
||||||
break;
|
break;
|
||||||
|
case INPUT_CSI_RCP:
|
||||||
|
memcpy(&ictx->cell, &ictx->old_cell, sizeof ictx->cell);
|
||||||
|
screen_write_cursormove(sctx, ictx->old_cx, ictx->old_cy);
|
||||||
|
break;
|
||||||
case INPUT_CSI_RM:
|
case INPUT_CSI_RM:
|
||||||
switch (input_get(ictx, 0, 0, -1)) {
|
switch (input_get(ictx, 0, 0, -1)) {
|
||||||
case 4: /* IRM */
|
case 4: /* IRM */
|
||||||
@ -1207,6 +1215,11 @@ input_csi_dispatch(struct input_ctx *ictx)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case INPUT_CSI_SCP:
|
||||||
|
memcpy(&ictx->old_cell, &ictx->cell, sizeof ictx->old_cell);
|
||||||
|
ictx->old_cx = s->cx;
|
||||||
|
ictx->old_cy = s->cy;
|
||||||
|
break;
|
||||||
case INPUT_CSI_SGR:
|
case INPUT_CSI_SGR:
|
||||||
input_csi_dispatch_sgr(ictx);
|
input_csi_dispatch_sgr(ictx);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user