summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-11-20 22:49:19 -0800
committerMichael Forney <mforney@mforney.org>2016-11-20 22:49:19 -0800
commit6c586e84b23c052a8ee0be38b7d223af4163980b (patch)
tree3560ba809fa1cca2cf0e5d8fd87847320e727459
parent48c114c6e59efc60a354a499173b960dfe64bfd7 (diff)
st: Update to latest scm
-rw-r--r--desktop/st/config.h24
-rw-r--r--desktop/st/patch/0001-Port-to-wayland-using-wld.patch112
-rw-r--r--desktop/st/rev2
m---------desktop/st/src0
4 files changed, 95 insertions, 43 deletions
diff --git a/desktop/st/config.h b/desktop/st/config.h
index b16085d4..741a0278 100644
--- a/desktop/st/config.h
+++ b/desktop/st/config.h
@@ -285,23 +285,39 @@ static Key key[] = {
{ XKB_KEY_KP_8, MOD_MASK_ANY, "\033Ox", +2, 0, 0},
{ XKB_KEY_KP_9, MOD_MASK_ANY, "\033Oy", +2, 0, 0},
{ XKB_KEY_Up, MOD_MASK_SHIFT, "\033[1;2A", 0, 0, 0},
- { XKB_KEY_Up, MOD_MASK_CTRL, "\033[1;5A", 0, 0, 0},
{ XKB_KEY_Up, MOD_MASK_ALT, "\033[1;3A", 0, 0, 0},
+ { XKB_KEY_Up, MOD_MASK_SHIFT|MOD_MASK_ALT,"\033[1;4A", 0, 0, 0},
+ { XKB_KEY_Up, MOD_MASK_CTRL, "\033[1;5A", 0, 0, 0},
+ { XKB_KEY_Up,MOD_MASK_SHIFT|MOD_MASK_CTRL,"\033[1;6A", 0, 0, 0},
+ { XKB_KEY_Up, MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;7A", 0, 0, 0},
+ { XKB_KEY_Up,MOD_MASK_SHIFT|MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;8A",0,0,0},
{ XKB_KEY_Up, MOD_MASK_ANY, "\033[A", 0, -1, 0},
{ XKB_KEY_Up, MOD_MASK_ANY, "\033OA", 0, +1, 0},
{ XKB_KEY_Down, MOD_MASK_SHIFT, "\033[1;2B", 0, 0, 0},
- { XKB_KEY_Down, MOD_MASK_CTRL, "\033[1;5B", 0, 0, 0},
{ XKB_KEY_Down, MOD_MASK_ALT, "\033[1;3B", 0, 0, 0},
+ { XKB_KEY_Down,MOD_MASK_SHIFT|MOD_MASK_ALT,"\033[1;4B", 0, 0, 0},
+ { XKB_KEY_Down, MOD_MASK_CTRL, "\033[1;5B", 0, 0, 0},
+ { XKB_KEY_Down,MOD_MASK_SHIFT|MOD_MASK_CTRL,"\033[1;6B", 0, 0, 0},
+ { XKB_KEY_Down,MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;7B", 0, 0, 0},
+ { XKB_KEY_Down,MOD_MASK_SHIFT|MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;8B",0,0,0},
{ XKB_KEY_Down, MOD_MASK_ANY, "\033[B", 0, -1, 0},
{ XKB_KEY_Down, MOD_MASK_ANY, "\033OB", 0, +1, 0},
{ XKB_KEY_Left, MOD_MASK_SHIFT, "\033[1;2D", 0, 0, 0},
- { XKB_KEY_Left, MOD_MASK_CTRL, "\033[1;5D", 0, 0, 0},
{ XKB_KEY_Left, MOD_MASK_ALT, "\033[1;3D", 0, 0, 0},
+ { XKB_KEY_Left,MOD_MASK_SHIFT|MOD_MASK_ALT,"\033[1;4D", 0, 0, 0},
+ { XKB_KEY_Left, MOD_MASK_CTRL, "\033[1;5D", 0, 0, 0},
+ { XKB_KEY_Left,MOD_MASK_SHIFT|MOD_MASK_CTRL,"\033[1;6D", 0, 0, 0},
+ { XKB_KEY_Left,MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;7D", 0, 0, 0},
+ { XKB_KEY_Left,MOD_MASK_SHIFT|MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;8D",0,0,0},
{ XKB_KEY_Left, MOD_MASK_ANY, "\033[D", 0, -1, 0},
{ XKB_KEY_Left, MOD_MASK_ANY, "\033OD", 0, +1, 0},
{ XKB_KEY_Right, MOD_MASK_SHIFT, "\033[1;2C", 0, 0, 0},
- { XKB_KEY_Right, MOD_MASK_CTRL, "\033[1;5C", 0, 0, 0},
{ XKB_KEY_Right, MOD_MASK_ALT, "\033[1;3C", 0, 0, 0},
+ { XKB_KEY_Right,MOD_MASK_SHIFT|MOD_MASK_ALT,"\033[1;4C", 0, 0, 0},
+ { XKB_KEY_Right, MOD_MASK_CTRL, "\033[1;5C", 0, 0, 0},
+ { XKB_KEY_Right,MOD_MASK_SHIFT|MOD_MASK_CTRL,"\033[1;6C", 0, 0, 0},
+ { XKB_KEY_Right,MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;7C", 0, 0, 0},
+ { XKB_KEY_Right,MOD_MASK_SHIFT|MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;8C",0,0,0},
{ XKB_KEY_Right, MOD_MASK_ANY, "\033[C", 0, -1, 0},
{ XKB_KEY_Right, MOD_MASK_ANY, "\033OC", 0, +1, 0},
{ XKB_KEY_ISO_Left_Tab, MOD_MASK_SHIFT, "\033[Z", 0, 0, 0},
diff --git a/desktop/st/patch/0001-Port-to-wayland-using-wld.patch b/desktop/st/patch/0001-Port-to-wayland-using-wld.patch
index 6da5384a..ca7cf414 100644
--- a/desktop/st/patch/0001-Port-to-wayland-using-wld.patch
+++ b/desktop/st/patch/0001-Port-to-wayland-using-wld.patch
@@ -1,17 +1,17 @@
-From 97c0dd659032673e8f9f3fe21eef9cae69ad3502 Mon Sep 17 00:00:00 2001
+From ff4af7dbb187550996f82baba73bf3707c7ec573 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Sun, 30 Oct 2016 23:54:56 -0700
Subject: [PATCH] Port to wayland using wld
---
Makefile | 12 +-
- config.def.h | 468 ++++++------
+ config.def.h | 500 +++++++------
config.mk | 12 +-
- st.c | 2350 +++++++++++++++++++++++++++++-----------------------------
- 4 files changed, 1432 insertions(+), 1410 deletions(-)
+ st.c | 2352 +++++++++++++++++++++++++++++-----------------------------
+ 4 files changed, 1449 insertions(+), 1427 deletions(-)
diff --git a/Makefile b/Makefile
-index 6158ab2..0b1279c 100644
+index fb026c4..053d3e0 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
@@ -41,7 +41,7 @@ index 6158ab2..0b1279c 100644
@echo CC $<
@${CC} -c ${CFLAGS} $<
diff --git a/config.def.h b/config.def.h
-index 7f465d1..6e0b6b2 100644
+index 32d107d..41129e4 100644
--- a/config.def.h
+++ b/config.def.h
@@ -38,13 +38,13 @@ static char worddelimiters[] = " ";
@@ -154,7 +154,7 @@ index 7f465d1..6e0b6b2 100644
* position for a key.
*/
-@@ -202,223 +204,217 @@ static Shortcut shortcuts[] = {
+@@ -202,239 +204,233 @@ static Shortcut shortcuts[] = {
* If you want keys other than the X11 function keys (0xFD00 - 0xFFFF)
* to be mapped below, add them to this array.
*/
@@ -242,23 +242,39 @@ index 7f465d1..6e0b6b2 100644
- { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0, 0},
- { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0, 0},
- { XK_Up, ShiftMask, "\033[1;2A", 0, 0, 0},
-- { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0},
- { XK_Up, Mod1Mask, "\033[1;3A", 0, 0, 0},
+- { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0, 0},
+- { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0},
+- { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0, 0},
+- { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0, 0},
+- { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0, 0},
- { XK_Up, XK_ANY_MOD, "\033[A", 0, -1, 0},
- { XK_Up, XK_ANY_MOD, "\033OA", 0, +1, 0},
- { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0},
-- { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0},
- { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0},
+- { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0, 0},
+- { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0},
+- { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0, 0},
+- { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0, 0},
+- { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0, 0},
- { XK_Down, XK_ANY_MOD, "\033[B", 0, -1, 0},
- { XK_Down, XK_ANY_MOD, "\033OB", 0, +1, 0},
- { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0},
-- { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0},
- { XK_Left, Mod1Mask, "\033[1;3D", 0, 0, 0},
+- { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0, 0},
+- { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0},
+- { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0, 0},
+- { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0, 0},
+- { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0, 0},
- { XK_Left, XK_ANY_MOD, "\033[D", 0, -1, 0},
- { XK_Left, XK_ANY_MOD, "\033OD", 0, +1, 0},
- { XK_Right, ShiftMask, "\033[1;2C", 0, 0, 0},
-- { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0},
- { XK_Right, Mod1Mask, "\033[1;3C", 0, 0, 0},
+- { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0, 0},
+- { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0},
+- { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0, 0},
+- { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0, 0},
+- { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0, 0},
- { XK_Right, XK_ANY_MOD, "\033[C", 0, -1, 0},
- { XK_Right, XK_ANY_MOD, "\033OC", 0, +1, 0},
- { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0, 0},
@@ -439,23 +455,39 @@ index 7f465d1..6e0b6b2 100644
+ { XKB_KEY_KP_8, MOD_MASK_ANY, "\033Ox", +2, 0, 0},
+ { XKB_KEY_KP_9, MOD_MASK_ANY, "\033Oy", +2, 0, 0},
+ { XKB_KEY_Up, MOD_MASK_SHIFT, "\033[1;2A", 0, 0, 0},
-+ { XKB_KEY_Up, MOD_MASK_CTRL, "\033[1;5A", 0, 0, 0},
+ { XKB_KEY_Up, MOD_MASK_ALT, "\033[1;3A", 0, 0, 0},
++ { XKB_KEY_Up, MOD_MASK_SHIFT|MOD_MASK_ALT,"\033[1;4A", 0, 0, 0},
++ { XKB_KEY_Up, MOD_MASK_CTRL, "\033[1;5A", 0, 0, 0},
++ { XKB_KEY_Up,MOD_MASK_SHIFT|MOD_MASK_CTRL,"\033[1;6A", 0, 0, 0},
++ { XKB_KEY_Up, MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;7A", 0, 0, 0},
++ { XKB_KEY_Up,MOD_MASK_SHIFT|MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;8A",0,0,0},
+ { XKB_KEY_Up, MOD_MASK_ANY, "\033[A", 0, -1, 0},
+ { XKB_KEY_Up, MOD_MASK_ANY, "\033OA", 0, +1, 0},
+ { XKB_KEY_Down, MOD_MASK_SHIFT, "\033[1;2B", 0, 0, 0},
-+ { XKB_KEY_Down, MOD_MASK_CTRL, "\033[1;5B", 0, 0, 0},
+ { XKB_KEY_Down, MOD_MASK_ALT, "\033[1;3B", 0, 0, 0},
++ { XKB_KEY_Down,MOD_MASK_SHIFT|MOD_MASK_ALT,"\033[1;4B", 0, 0, 0},
++ { XKB_KEY_Down, MOD_MASK_CTRL, "\033[1;5B", 0, 0, 0},
++ { XKB_KEY_Down,MOD_MASK_SHIFT|MOD_MASK_CTRL,"\033[1;6B", 0, 0, 0},
++ { XKB_KEY_Down,MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;7B", 0, 0, 0},
++ { XKB_KEY_Down,MOD_MASK_SHIFT|MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;8B",0,0,0},
+ { XKB_KEY_Down, MOD_MASK_ANY, "\033[B", 0, -1, 0},
+ { XKB_KEY_Down, MOD_MASK_ANY, "\033OB", 0, +1, 0},
+ { XKB_KEY_Left, MOD_MASK_SHIFT, "\033[1;2D", 0, 0, 0},
-+ { XKB_KEY_Left, MOD_MASK_CTRL, "\033[1;5D", 0, 0, 0},
+ { XKB_KEY_Left, MOD_MASK_ALT, "\033[1;3D", 0, 0, 0},
++ { XKB_KEY_Left,MOD_MASK_SHIFT|MOD_MASK_ALT,"\033[1;4D", 0, 0, 0},
++ { XKB_KEY_Left, MOD_MASK_CTRL, "\033[1;5D", 0, 0, 0},
++ { XKB_KEY_Left,MOD_MASK_SHIFT|MOD_MASK_CTRL,"\033[1;6D", 0, 0, 0},
++ { XKB_KEY_Left,MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;7D", 0, 0, 0},
++ { XKB_KEY_Left,MOD_MASK_SHIFT|MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;8D",0,0,0},
+ { XKB_KEY_Left, MOD_MASK_ANY, "\033[D", 0, -1, 0},
+ { XKB_KEY_Left, MOD_MASK_ANY, "\033OD", 0, +1, 0},
+ { XKB_KEY_Right, MOD_MASK_SHIFT, "\033[1;2C", 0, 0, 0},
-+ { XKB_KEY_Right, MOD_MASK_CTRL, "\033[1;5C", 0, 0, 0},
+ { XKB_KEY_Right, MOD_MASK_ALT, "\033[1;3C", 0, 0, 0},
++ { XKB_KEY_Right,MOD_MASK_SHIFT|MOD_MASK_ALT,"\033[1;4C", 0, 0, 0},
++ { XKB_KEY_Right, MOD_MASK_CTRL, "\033[1;5C", 0, 0, 0},
++ { XKB_KEY_Right,MOD_MASK_SHIFT|MOD_MASK_CTRL,"\033[1;6C", 0, 0, 0},
++ { XKB_KEY_Right,MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;7C", 0, 0, 0},
++ { XKB_KEY_Right,MOD_MASK_SHIFT|MOD_MASK_CTRL|MOD_MASK_ALT,"\033[1;8C",0,0,0},
+ { XKB_KEY_Right, MOD_MASK_ANY, "\033[C", 0, -1, 0},
+ { XKB_KEY_Right, MOD_MASK_ANY, "\033OC", 0, +1, 0},
+ { XKB_KEY_ISO_Left_Tab, MOD_MASK_SHIFT, "\033[Z", 0, 0, 0},
@@ -578,7 +610,7 @@ index 7f465d1..6e0b6b2 100644
};
/*
-@@ -429,7 +425,7 @@ static Key key[] = {
+@@ -445,7 +441,7 @@ static Key key[] = {
* If no match is found, regular selection is used.
*/
static uint selmasks[] = {
@@ -613,7 +645,7 @@ index c84c5ee..7da06f1 100644
# flags
CPPFLAGS = -DVERSION=\"${VERSION}\" -D_XOPEN_SOURCE=600
diff --git a/st.c b/st.c
-index 4d44388..c67b9e6 100644
+index e50e884..b891b07 100644
--- a/st.c
+++ b/st.c
@@ -3,6 +3,8 @@
@@ -1768,7 +1800,7 @@ index 4d44388..c67b9e6 100644
return;
case 'P': /* DCS -- Device Control String */
term.mode |= ESC_DCS;
-@@ -2641,13 +2477,11 @@ tprinter(char *s, size_t len)
+@@ -2642,13 +2478,11 @@ tprinter(char *s, size_t len)
void
iso14755(const Arg *arg)
{
@@ -1783,7 +1815,7 @@ index 4d44388..c67b9e6 100644
return;
us = fgets(codepoint, sizeof(codepoint), p);
-@@ -2746,6 +2580,7 @@ techo(Rune u)
+@@ -2747,6 +2581,7 @@ techo(Rune u)
}
}
tputc(u);
@@ -1791,7 +1823,7 @@ index 4d44388..c67b9e6 100644
}
void
-@@ -2832,10 +2667,12 @@ tcontrolcode(uchar ascii)
+@@ -2833,10 +2668,12 @@ tcontrolcode(uchar ascii)
/* backwards compatibility to xterm */
strhandle();
} else {
@@ -1808,7 +1840,7 @@ index 4d44388..c67b9e6 100644
}
break;
case '\033': /* ESC */
-@@ -2967,8 +2804,8 @@ eschandle(uchar ascii)
+@@ -2968,8 +2805,8 @@ eschandle(uchar ascii)
break;
case 'c': /* RIS -- Reset to inital state */
treset();
@@ -1819,7 +1851,7 @@ index 4d44388..c67b9e6 100644
break;
case '=': /* DECPAM -- Application keypad */
term.mode |= MODE_APPKEYPAD;
-@@ -3025,7 +2862,7 @@ tputc(Rune u)
+@@ -3026,7 +2863,7 @@ tputc(Rune u)
*/
if (term.esc & ESC_STR) {
if (u == '\a' || u == 030 || u == 032 || u == 033 ||
@@ -1828,7 +1860,7 @@ index 4d44388..c67b9e6 100644
term.esc &= ~(ESC_START|ESC_STR|ESC_DCS);
if (IS_SET(MODE_SIXEL)) {
/* TODO: render sixel */;
-@@ -3108,7 +2945,7 @@ check_control_code:
+@@ -3109,7 +2946,7 @@ check_control_code:
return;
}
if (sel.ob.x != -1 && BETWEEN(term.c.y, sel.ob.y, sel.oe.y))
@@ -1837,7 +1869,7 @@ index 4d44388..c67b9e6 100644
gp = &term.line[term.c.y][term.c.x];
if (IS_SET(MODE_WRAP) && (term.c.state & CURSOR_WRAPNEXT)) {
-@@ -3175,9 +3012,6 @@ tresize(int col, int row)
+@@ -3176,9 +3013,6 @@ tresize(int col, int row)
free(term.alt[i]);
}
@@ -1847,7 +1879,7 @@ index 4d44388..c67b9e6 100644
/* resize to new height */
term.line = xrealloc(term.line, row * sizeof(Line));
term.alt = xrealloc(term.alt, row * sizeof(Line));
-@@ -3227,190 +3061,141 @@ tresize(int col, int row)
+@@ -3228,190 +3062,141 @@ tresize(int col, int row)
}
void
@@ -2093,7 +2125,7 @@ index 4d44388..c67b9e6 100644
f->set = NULL;
f->pattern = FcPatternDuplicate(pattern);
-@@ -3418,23 +3203,24 @@ xloadfont(Font *f, FcPattern *pattern)
+@@ -3419,23 +3204,24 @@ xloadfont(Font *f, FcPattern *pattern)
f->ascent = f->match->ascent;
f->descent = f->match->descent;
f->lbearing = 0;
@@ -2122,7 +2154,7 @@ index 4d44388..c67b9e6 100644
} else {
pattern = FcNameParse((FcChar8 *)fontstr);
}
-@@ -3465,11 +3251,14 @@ xloadfonts(char *fontstr, double fontsize)
+@@ -3466,14 +3252,17 @@ xloadfonts(char *fontstr, double fontsize)
defaultfontsize = usedfontsize;
}
@@ -2137,9 +2169,13 @@ index 4d44388..c67b9e6 100644
- FcPatternGetDouble(dc.font.match->pattern,
+ FcPatternGetDouble(dc.font.pattern,
FC_PIXEL_SIZE, 0, &fontval);
+ FcPatternAddDouble(pattern, FC_PIXEL_SIZE, fontval);
+- if (xloadfont(&dc.font, pattern))
++ if (wlloadfont(&dc.font, pattern))
+ die("st: can't open font %s\n", fontstr);
usedfontsize = fontval;
if (fontsize == 0)
-@@ -3477,279 +3266,331 @@ xloadfonts(char *fontstr, double fontsize)
+@@ -3481,279 +3270,331 @@ xloadfonts(char *fontstr, double fontsize)
}
/* Setting character width and height. */
@@ -2657,7 +2693,7 @@ index 4d44388..c67b9e6 100644
FcPatternAddCharSet(fcpattern, FC_CHARSET,
fccharset);
FcPatternAddBool(fcpattern, FC_SCALABLE, 1);
-@@ -3766,186 +3607,58 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x
+@@ -3770,186 +3611,58 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x
*/
if (frclen >= LEN(frc)) {
frclen = LEN(frc) - 1;
@@ -2861,7 +2897,7 @@ index 4d44388..c67b9e6 100644
LIMIT(oldx, 0, term.col-1);
LIMIT(oldy, 0, term.row-1);
-@@ -3962,7 +3675,11 @@ xdrawcursor(void)
+@@ -3966,7 +3679,11 @@ xdrawcursor(void)
og = term.line[oldy][oldx];
if (ena_sel && selected(oldx, oldy))
og.mode ^= ATTR_REVERSE;
@@ -2874,7 +2910,7 @@ index 4d44388..c67b9e6 100644
g.u = term.line[term.c.y][term.c.x].u;
-@@ -3993,198 +3710,152 @@ xdrawcursor(void)
+@@ -3997,198 +3714,152 @@ xdrawcursor(void)
return;
/* draw the new one */
@@ -3148,7 +3184,7 @@ index 4d44388..c67b9e6 100644
}
void
-@@ -4194,7 +3865,7 @@ numlock(const Arg *dummy)
+@@ -4198,7 +3869,7 @@ numlock(const Arg *dummy)
}
char*
@@ -3157,7 +3193,7 @@ index 4d44388..c67b9e6 100644
{
Key *kp;
int i;
-@@ -4234,38 +3905,179 @@ kmap(KeySym k, uint state)
+@@ -4238,38 +3909,179 @@ kmap(KeySym k, uint state)
}
void
@@ -3348,7 +3384,7 @@ index 4d44388..c67b9e6 100644
if (IS_SET(MODE_8BIT)) {
if (*buf < 0177) {
c = *buf | 0x80;
-@@ -4277,101 +4089,327 @@ kpress(XEvent *ev)
+@@ -4281,101 +4093,327 @@ kpress(XEvent *ev)
len = 2;
}
}
@@ -3730,7 +3766,7 @@ index 4d44388..c67b9e6 100644
if (FD_ISSET(cmdfd, &rfd)) {
ttyread();
if (blinktimeout) {
-@@ -4381,60 +4419,54 @@ run(void)
+@@ -4385,60 +4423,54 @@ run(void)
}
}
@@ -3831,7 +3867,7 @@ index 4d44388..c67b9e6 100644
}
}
-@@ -4454,11 +4486,7 @@ usage(void)
+@@ -4458,11 +4490,7 @@ usage(void)
int
main(int argc, char *argv[])
{
@@ -3844,7 +3880,7 @@ index 4d44388..c67b9e6 100644
ARGBEGIN {
case 'a':
-@@ -4474,13 +4502,6 @@ main(int argc, char *argv[])
+@@ -4478,13 +4506,6 @@ main(int argc, char *argv[])
case 'f':
opt_font = EARGF(usage());
break;
@@ -3858,7 +3894,7 @@ index 4d44388..c67b9e6 100644
case 'o':
opt_io = EARGF(usage());
break;
-@@ -4512,9 +4533,8 @@ run:
+@@ -4516,9 +4537,8 @@ run:
opt_title = basename(xstrdup(argv[0]));
}
setlocale(LC_CTYPE, "");
diff --git a/desktop/st/rev b/desktop/st/rev
index d00491fd..0cfbf088 100644
--- a/desktop/st/rev
+++ b/desktop/st/rev
@@ -1 +1 @@
-1
+2
diff --git a/desktop/st/src b/desktop/st/src
-Subproject 8c99915608beee03eca3bae6ed92264a0da87e2
+Subproject 740ada1447a0bf9eb7db327d9433fa0b96e0a4d