st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit d5994b43ca78196b81ea276d7acb5ef2d4a671f7
parent 7c34ff1703381c4d0c2ea602ddd607597bd32ad5
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:
Mconfig.def.h | 10++++++++--
Mst.info | 2++
2 files changed, 10 insertions(+), 2 deletions(-)
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},
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~,