Add support for End key - st - simple terminal
HTML git clone https://git.parazyd.org/st
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit d5994b43ca78196b81ea276d7acb5ef2d4a671f7
DIR parent 7c34ff1703381c4d0c2ea602ddd607597bd32ad5
HTML Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Sun, 25 Nov 2012 22:13:29 +0100
Add support for End key
- Shift + End : Delete until end of line.
- Control + End : Delete until end of screen.
When the End key is pressed without any modifier is not generated the
correct sequence for it (going to the end of the screen), because the size
of the terminal is not known, so it is not possible write a sequence for
this purpouse.
---
config.def.h | 10 ++++++++--
st.info | 2 ++
2 files changed, 10 insertions(+), 2 deletions(-)
Diffstat:
M config.def.h | 10 ++++++++--
M st.info | 2 ++
2 files changed, 10 insertions(+), 2 deletions(-)
---
DIR diff --git a/config.def.h b/config.def.h
@@ -121,7 +121,10 @@ static Key key[] = {
{ XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0, 0},
{ XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0, 0},
{ XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0, 0},
- { XK_KP_End, ShiftMask, "\033[1;2F", 0, 0, 0},
+ { XK_KP_End, ControlMask, "\033[J", -1, 0, 0},
+ { XK_KP_End, ControlMask, "\033[1;5F", +1, 0, 0},
+ { XK_KP_End, ShiftMask, "\033[K", -1, 0, 0},
+ { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0, 0},
{ XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0, 0},
{ XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0, 0},
{ XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0},
@@ -196,7 +199,10 @@ static Key key[] = {
{ XK_Home, ShiftMask, "\033[1;2H", 0, 0, 0},
{ XK_Home, XK_ANY_MOD, "\033[H", 0, -1, 0},
{ XK_Home, XK_ANY_MOD, "\033[1~", 0, +1, 0},
- { XK_End, ShiftMask, "\033[1;2F", 0, 0, 0},
+ { XK_End, ControlMask, "\033[J", -1, 0, 0},
+ { XK_End, ControlMask, "\033[1;5F", +1, 0, 0},
+ { XK_End, ShiftMask, "\033[K", -1, 0, 0},
+ { XK_End, ShiftMask, "\033[1;2F", +1, 0, 0},
{ XK_End, XK_ANY_MOD, "\033[4~", 0, 0, 0},
{ XK_Prior, XK_NO_MOD, "\033[5~", 0, 0, 0},
{ XK_Next, ShiftMask, "\033[6;2~", 0, 0, 0},
DIR diff --git a/st.info b/st.info
@@ -49,6 +49,8 @@ st| simpleterm,
invis=\E[8m,
is2=\E[4l\E>,
it#8,
+ kel=\E[1;2F,
+ ked=\E[1;5F,
ka1=\E[1~,
ka3=\E[5~,
kc1=\E[4~,