Move key-matching functions into x.c
[st.git] / st.c
diff --git a/st.c b/st.c
index 540b487..1a8fa1f 100644 (file)
--- a/st.c
+++ b/st.c
@@ -110,16 +110,6 @@ typedef struct {
        int narg;              /* nb of args */
 } STREscape;
 
-typedef struct {
-       KeySym k;
-       uint mask;
-       char *s;
-       /* three valued logic variables: 0 indifferent, 1 on, -1 off */
-       signed char appkey;    /* application keypad */
-       signed char appcursor; /* application cursor */
-       signed char crlf;      /* crlf mode          */
-} Key;
-
 /* function definitions used in config.h */
 static void clipcopy(const Arg *);
 static void clippaste(const Arg *);
@@ -165,7 +155,6 @@ static void tnewline(int);
 static void tputtab(int);
 static void tputc(Rune);
 static void treset(void);
-static void tresize(int, int);
 static void tscrollup(int, int);
 static void tscrolldown(int, int);
 static void tsetattr(int *, int);
@@ -224,6 +213,8 @@ size_t colornamelen = LEN(colorname);
 size_t mshortcutslen = LEN(mshortcuts);
 size_t shortcutslen = LEN(shortcuts);
 size_t selmaskslen = LEN(selmasks);
+size_t keyslen = LEN(key);
+size_t mappedkeyslen = LEN(mappedkeys);
 
 ssize_t
 xwrite(int fd, const char *s, size_t len)
@@ -419,24 +410,6 @@ selinit(void)
        sel.clipboard = NULL;
 }
 
-int
-x2col(int x)
-{
-       x -= borderpx;
-       x /= win.cw;
-
-       return LIMIT(x, 0, term.col-1);
-}
-
-int
-y2row(int y)
-{
-       y -= borderpx;
-       y /= win.ch;
-
-       return LIMIT(y, 0, term.row-1);
-}
-
 int
 tlinelen(int y)
 {
@@ -924,14 +897,14 @@ ttysend(char *s, size_t n)
 }
 
 void
-ttyresize(void)
+ttyresize(int tw, int th)
 {
        struct winsize w;
 
        w.ws_row = term.row;
        w.ws_col = term.col;
-       w.ws_xpixel = win.tw;
-       w.ws_ypixel = win.th;
+       w.ws_xpixel = tw;
+       w.ws_ypixel = th;
        if (ioctl(cmdfd, TIOCSWINSZ, &w) < 0)
                fprintf(stderr, "Couldn't set window size: %s\n", strerror(errno));
 }
@@ -2569,71 +2542,8 @@ redraw(void)
        draw();
 }
 
-int
-match(uint mask, uint state)
-{
-       return mask == XK_ANY_MOD || mask == (state & ~ignoremod);
-}
-
 void
 numlock(const Arg *dummy)
 {
        term.numlock ^= 1;
 }
-
-char*
-kmap(KeySym k, uint state)
-{
-       Key *kp;
-       int i;
-
-       /* Check for mapped keys out of X11 function keys. */
-       for (i = 0; i < LEN(mappedkeys); i++) {
-               if (mappedkeys[i] == k)
-                       break;
-       }
-       if (i == LEN(mappedkeys)) {
-               if ((k & 0xFFFF) < 0xFD00)
-                       return NULL;
-       }
-
-       for (kp = key; kp < key + LEN(key); kp++) {
-               if (kp->k != k)
-                       continue;
-
-               if (!match(kp->mask, state))
-                       continue;
-
-               if (IS_SET(MODE_APPKEYPAD) ? kp->appkey < 0 : kp->appkey > 0)
-                       continue;
-               if (term.numlock && kp->appkey == 2)
-                       continue;
-
-               if (IS_SET(MODE_APPCURSOR) ? kp->appcursor < 0 : kp->appcursor > 0)
-                       continue;
-
-               if (IS_SET(MODE_CRLF) ? kp->crlf < 0 : kp->crlf > 0)
-                       continue;
-
-               return kp->s;
-       }
-
-       return NULL;
-}
-
-void
-cresize(int width, int height)
-{
-       int col, row;
-
-       if (width != 0)
-               win.w = width;
-       if (height != 0)
-               win.h = height;
-
-       col = (win.w - 2 * borderpx) / win.cw;
-       row = (win.h - 2 * borderpx) / win.ch;
-
-       tresize(col, row);
-       xresize(col, row);
-}