mirror of
https://github.com/tmux/tmux.git
synced 2024-12-13 18:38:48 +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_ICH,
|
||||
INPUT_CSI_IL,
|
||||
INPUT_CSI_RCP,
|
||||
INPUT_CSI_RM,
|
||||
INPUT_CSI_RM_PRIVATE,
|
||||
INPUT_CSI_SCP,
|
||||
INPUT_CSI_SGR,
|
||||
INPUT_CSI_SM,
|
||||
INPUT_CSI_SM_PRIVATE,
|
||||
@ -171,6 +173,8 @@ const struct input_table_entry input_csi_table[] = {
|
||||
{ 'n', "", INPUT_CSI_DSR },
|
||||
{ 'q', " ", INPUT_CSI_DECSCUSR },
|
||||
{ 'r', "", INPUT_CSI_DECSTBM },
|
||||
{ 's', "", INPUT_CSI_SCP },
|
||||
{ 'u', "", INPUT_CSI_RCP },
|
||||
};
|
||||
|
||||
/* Input transition. */
|
||||
@ -1168,6 +1172,10 @@ input_csi_dispatch(struct input_ctx *ictx)
|
||||
case INPUT_CSI_IL:
|
||||
screen_write_insertline(sctx, input_get(ictx, 0, 1, 1));
|
||||
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:
|
||||
switch (input_get(ictx, 0, 0, -1)) {
|
||||
case 4: /* IRM */
|
||||
@ -1207,6 +1215,11 @@ input_csi_dispatch(struct input_ctx *ictx)
|
||||
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:
|
||||
input_csi_dispatch_sgr(ictx);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user