# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit 69ee3ba3a771ca60bc8738174c79fc851818a36b
    parent 73177ba366e5363b8a6695882b52617a8909a925
    Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
    Date:   Tue, 13 Nov 2012 20:04:34 +0100

    Fix keypad mode and cursor mode

    Keypad mode is used for detecting when keys in the auxiliary keypad are
    pressed, while cursor mode is used for detecting when a cursor is pressed,
    but they are different modes.

    St was mixing both modes and DECPAM and DECPNM modified the cursor mode, and
    this was incorrect.
    ---
     st.c    |    5 +++--
     st.info |    4 ++--
     2 files changed, 5 insertions(+), 4 deletions(-)
    Diffstat:
    Mst.c | 5+++--
    Mst.info | 4++--

    2 files changed, 5 insertions(+), 4 deletions(-)
    diff --git a/st.c b/st.c
    @@ -121,7 +121,8 @@ enum term_mode {
     	MODE_REVERSE     = 128,
     	MODE_KBDLOCK     = 256,
     	MODE_HIDE	 = 512,
    -	MODE_ECHO	 = 1024
    +	MODE_ECHO	 = 1024,
    +	MODE_APPCURSOR	 = 2048
     };

     enum escape_state {
    @@ -1471,7 +1472,7 @@ tsetmode(bool priv, bool set, int *args, int narg) {
     			switch(*args) {
     				break;
     			case 1: /* DECCKM -- Cursor key */
    -				MODBIT(term.mode, set, MODE_APPKEYPAD);
    +				MODBIT(term.mode, set, MODE_APPCURSOR);
     				break;
     			case 5: /* DECSCNM -- Reverse video */
     				mode = term.mode;
    diff --git a/st.info b/st.info
    @@ -89,7 +89,7 @@ st| simpleterm,
     	ritm=\E[23m,
     	rmacs=\E(B,
     	rmcup=\E[?1049l,
    -#	rmkx=\E>,
    +	rmkx=\E[?1l\E>,
     	rmso=\E[23m,
     	rmul=\E[m,
     	rs1=\Ec,
    @@ -104,7 +104,7 @@ st| simpleterm,
     	sitm=\E[3m,
     	smacs=\E(0,
     	smcup=\E[?1049h,
    -#	smkx=\E=,
    +	smkx=\E[?1h\E=,
     	smso=\E[3m,
     	smul=\E[4m,
     	tbc=\E[3g,