summaryrefslogtreecommitdiff
path: root/oldresources/st/patch
diff options
context:
space:
mode:
authorauric <104602845+ihateamongus@users.noreply.github.com>2025-09-08 21:19:14 -0500
committerauric <104602845+ihateamongus@users.noreply.github.com>2025-09-08 21:19:14 -0500
commite61da07522a060da98fa3a56db3d0360469b26cf (patch)
treec72d276bffa4dafe22ae0e4f694acfadb40b8ca1 /oldresources/st/patch
parentd11aec86841f77edd6eba3e07aa1e7e591e9da2a (diff)
organize repository layout
Diffstat (limited to 'oldresources/st/patch')
-rw-r--r--oldresources/st/patch/alpha.c30
-rw-r--r--oldresources/st/patch/alpha.h5
-rw-r--r--oldresources/st/patch/background_image_x.c106
-rw-r--r--oldresources/st/patch/background_image_x.h6
-rw-r--r--oldresources/st/patch/boxdraw.c192
-rw-r--r--oldresources/st/patch/boxdraw.h214
-rw-r--r--oldresources/st/patch/copyurl.c180
-rw-r--r--oldresources/st/patch/copyurl.h5
-rw-r--r--oldresources/st/patch/externalpipe.c76
-rw-r--r--oldresources/st/patch/externalpipe.h4
-rw-r--r--oldresources/st/patch/fixkeyboardinput.c811
-rw-r--r--oldresources/st/patch/font2.c104
-rw-r--r--oldresources/st/patch/font2.h2
-rw-r--r--oldresources/st/patch/fullscreen_x.c17
-rw-r--r--oldresources/st/patch/fullscreen_x.h1
-rw-r--r--oldresources/st/patch/invert.c21
-rw-r--r--oldresources/st/patch/invert.h1
-rw-r--r--oldresources/st/patch/iso14755.c21
-rw-r--r--oldresources/st/patch/iso14755.h6
-rw-r--r--oldresources/st/patch/keyboardselect_st.c240
-rw-r--r--oldresources/st/patch/keyboardselect_st.h2
-rw-r--r--oldresources/st/patch/keyboardselect_x.c7
-rw-r--r--oldresources/st/patch/keyboardselect_x.h2
-rw-r--r--oldresources/st/patch/netwmicon.h686
-rw-r--r--oldresources/st/patch/newterm.c30
-rw-r--r--oldresources/st/patch/newterm.h2
-rw-r--r--oldresources/st/patch/normalMode.c284
-rw-r--r--oldresources/st/patch/normalMode.h8
-rw-r--r--oldresources/st/patch/opencopied.c19
-rw-r--r--oldresources/st/patch/opencopied.h1
-rw-r--r--oldresources/st/patch/openurlonclick.c141
-rw-r--r--oldresources/st/patch/openurlonclick.h8
-rw-r--r--oldresources/st/patch/rightclicktoplumb_st.c19
-rw-r--r--oldresources/st/patch/rightclicktoplumb_st.h1
-rw-r--r--oldresources/st/patch/rightclicktoplumb_x.c24
-rw-r--r--oldresources/st/patch/rightclicktoplumb_x.h1
-rw-r--r--oldresources/st/patch/scrollback.c55
-rw-r--r--oldresources/st/patch/scrollback.h17
-rw-r--r--oldresources/st/patch/sixel_st.c57
-rw-r--r--oldresources/st/patch/sixel_st.h2
-rw-r--r--oldresources/st/patch/sixel_x.c14
-rw-r--r--oldresources/st/patch/st_embedder_x.c50
-rw-r--r--oldresources/st/patch/st_embedder_x.h7
-rw-r--r--oldresources/st/patch/st_include.c31
-rw-r--r--oldresources/st/patch/st_include.h34
-rw-r--r--oldresources/st/patch/sync.c31
-rw-r--r--oldresources/st/patch/sync.h7
-rw-r--r--oldresources/st/patch/utils.h23
-rw-r--r--oldresources/st/patch/x_include.c43
-rw-r--r--oldresources/st/patch/x_include.h40
-rw-r--r--oldresources/st/patch/xresources.c82
-rw-r--r--oldresources/st/patch/xresources.h17
52 files changed, 0 insertions, 3787 deletions
diff --git a/oldresources/st/patch/alpha.c b/oldresources/st/patch/alpha.c
deleted file mode 100644
index 146bf4b..0000000
--- a/oldresources/st/patch/alpha.c
+++ /dev/null
@@ -1,30 +0,0 @@
-float
-clamp(float value, float lower, float upper) {
- if (value < lower)
- return lower;
- if (value > upper)
- return upper;
- return value;
-}
-
-void
-changealpha(const Arg *arg)
-{
- if ((alpha > 0 && arg->f < 0) || (alpha < 1 && arg->f > 0))
- alpha += arg->f;
- alpha = clamp(alpha, 0.0, 1.0);
- xloadcols();
- redraw();
-}
-
-#if ALPHA_FOCUS_HIGHLIGHT_PATCH
-void
-changealphaunfocused(const Arg *arg)
-{
- if ((alphaUnfocused > 0 && arg->f < 0) || (alphaUnfocused < 1 && arg->f > 0))
- alphaUnfocused += arg->f;
- alphaUnfocused = clamp(alphaUnfocused, 0.0, 1.0);
- xloadcols();
- redraw();
-}
-#endif // ALPHA_FOCUS_HIGHLIGHT_PATCH
diff --git a/oldresources/st/patch/alpha.h b/oldresources/st/patch/alpha.h
deleted file mode 100644
index 2d01830..0000000
--- a/oldresources/st/patch/alpha.h
+++ /dev/null
@@ -1,5 +0,0 @@
-static float clamp(float value, float lower, float upper);
-static void changealpha(const Arg *);
-#if ALPHA_FOCUS_HIGHLIGHT_PATCH
-static void changealphaunfocused(const Arg *arg);
-#endif // ALPHA_FOCUS_HIGHLIGHT_PATCH
diff --git a/oldresources/st/patch/background_image_x.c b/oldresources/st/patch/background_image_x.c
deleted file mode 100644
index 3bbb189..0000000
--- a/oldresources/st/patch/background_image_x.c
+++ /dev/null
@@ -1,106 +0,0 @@
-void
-updatexy()
-{
- Window child;
- XTranslateCoordinates(xw.dpy, xw.win, DefaultRootWindow(xw.dpy), 0, 0, &win.x, &win.y, &child);
-}
-
-/*
- * load farbfeld file to XImage
- */
-XImage*
-loadff(const char *filename)
-{
- uint32_t i, hdr[4], w, h, size;
- uint64_t *data;
- FILE *f = fopen(filename, "rb");
-
- if (f == NULL) {
- fprintf(stderr, "could not load background image.\n");
- return NULL;
- }
-
- if (fread(hdr, sizeof(*hdr), LEN(hdr), f) != LEN(hdr)) {
- fprintf(stderr, "fread: %s\n", ferror(f) ? "" : "Unexpected end of file reading header");
- fclose(f);
- return NULL;
- }
-
- if (memcmp("farbfeld", hdr, sizeof("farbfeld") - 1)) {
- fprintf(stderr, "Invalid magic value\n");
- fclose(f);
- return NULL;
- }
-
- w = ntohl(hdr[2]);
- h = ntohl(hdr[3]);
- size = w * h;
- data = xmalloc(size * sizeof(uint64_t));
-
- if (fread(data, sizeof(uint64_t), size, f) != size) {
- fprintf(stderr, "fread: %s\n", ferror(f) ? "" : "Unexpected end of file reading data");
- fclose(f);
- return NULL;
- }
-
- fclose(f);
-
- for (i = 0; i < size; i++)
- data[i] = (data[i] & 0x00000000000000FF) << 16 |
- (data[i] & 0x0000000000FF0000) >> 8 |
- (data[i] & 0x000000FF00000000) >> 32 |
- (data[i] & 0x00FF000000000000) >> 24;
-
- #if ALPHA_PATCH
- XImage *xi = XCreateImage(xw.dpy, xw.vis, xw.depth, ZPixmap, 0,
- (char *)data, w, h, 32, w * 8);
- #else
- XImage *xi = XCreateImage(xw.dpy, DefaultVisual(xw.dpy, xw.scr),
- DefaultDepth(xw.dpy, xw.scr), ZPixmap, 0,
- (char *)data, w, h, 32, w * 8);
- #endif // ALPHA_PATCH
- xi->bits_per_pixel = 64;
- return xi;
-}
-
-/*
- * initialize background image
- */
-void
-bginit()
-{
- XGCValues gcvalues;
- Drawable bgimg;
- XImage *bgxi = loadff(bgfile);
-
- memset(&gcvalues, 0, sizeof(gcvalues));
- xw.bggc = XCreateGC(xw.dpy, xw.win, 0, &gcvalues);
- if (!bgxi)
- return;
- #if ALPHA_PATCH
- bgimg = XCreatePixmap(xw.dpy, xw.win, bgxi->width, bgxi->height,
- xw.depth);
- #else
- bgimg = XCreatePixmap(xw.dpy, xw.win, bgxi->width, bgxi->height,
- DefaultDepth(xw.dpy, xw.scr));
- #endif // ALPHA_PATCH
- XPutImage(xw.dpy, bgimg, dc.gc, bgxi, 0, 0, 0, 0, bgxi->width, bgxi->height);
- XDestroyImage(bgxi);
- XSetTile(xw.dpy, xw.bggc, bgimg);
- XSetFillStyle(xw.dpy, xw.bggc, FillTiled);
- if (pseudotransparency) {
- updatexy();
- MODBIT(xw.attrs.event_mask, 1, PropertyChangeMask);
- XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, &xw.attrs);
- }
-}
-
-#if BACKGROUND_IMAGE_RELOAD_PATCH
-void
-reload_image()
-{
- XFreeGC(xw.dpy, xw.bggc);
- bginit();
- redraw();
-}
-#endif // XRESOURCES_RELOAD_PATCH
diff --git a/oldresources/st/patch/background_image_x.h b/oldresources/st/patch/background_image_x.h
deleted file mode 100644
index e96edd2..0000000
--- a/oldresources/st/patch/background_image_x.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <arpa/inet.h>
-
-static void updatexy(void);
-static XImage *loadff(const char *);
-static void bginit();
-static void reload_image();
diff --git a/oldresources/st/patch/boxdraw.c b/oldresources/st/patch/boxdraw.c
deleted file mode 100644
index 3cc5b51..0000000
--- a/oldresources/st/patch/boxdraw.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih
- * MIT/X Consortium License
- */
-
-#include <X11/Xft/Xft.h>
-
-/* Rounded non-negative integers division of n / d */
-#define DIV(n, d) (((n) + (d) / 2) / (d))
-
-static Display *xdpy;
-static Colormap xcmap;
-static XftDraw *xd;
-static Visual *xvis;
-
-static void drawbox(int, int, int, int, XftColor *, XftColor *, ushort);
-static void drawboxlines(int, int, int, int, XftColor *, ushort);
-
-/* public API */
-
-void
-boxdraw_xinit(Display *dpy, Colormap cmap, XftDraw *draw, Visual *vis)
-{
- xdpy = dpy; xcmap = cmap; xd = draw, xvis = vis;
-}
-
-int
-isboxdraw(Rune u)
-{
- Rune block = u & ~0xff;
- return (boxdraw && block == 0x2500 && boxdata[(uint8_t)u]) ||
- (boxdraw_braille && block == 0x2800);
-}
-
-/* the "index" is actually the entire shape data encoded as ushort */
-ushort
-boxdrawindex(const Glyph *g)
-{
- if (boxdraw_braille && (g->u & ~0xff) == 0x2800)
- return BRL | (uint8_t)g->u;
- if (boxdraw_bold && (g->mode & ATTR_BOLD))
- return BDB | boxdata[(uint8_t)g->u];
- return boxdata[(uint8_t)g->u];
-}
-
-void
-drawboxes(int x, int y, int cw, int ch, XftColor *fg, XftColor *bg,
- const XftGlyphFontSpec *specs, int len)
-{
- for ( ; len-- > 0; x += cw, specs++)
- drawbox(x, y, cw, ch, fg, bg, (ushort)specs->glyph);
-}
-
-/* implementation */
-
-void
-drawbox(int x, int y, int w, int h, XftColor *fg, XftColor *bg, ushort bd)
-{
- ushort cat = bd & ~(BDB | 0xff); /* mask out bold and data */
- if (bd & (BDL | BDA)) {
- /* lines (light/double/heavy/arcs) */
- drawboxlines(x, y, w, h, fg, bd);
-
- } else if (cat == BBD) {
- /* lower (8-X)/8 block */
- int d = DIV((uint8_t)bd * h, 8);
- XftDrawRect(xd, fg, x, y + d, w, h - d);
-
- } else if (cat == BBU) {
- /* upper X/8 block */
- XftDrawRect(xd, fg, x, y, w, DIV((uint8_t)bd * h, 8));
-
- } else if (cat == BBL) {
- /* left X/8 block */
- XftDrawRect(xd, fg, x, y, DIV((uint8_t)bd * w, 8), h);
-
- } else if (cat == BBR) {
- /* right (8-X)/8 block */
- int d = DIV((uint8_t)bd * w, 8);
- XftDrawRect(xd, fg, x + d, y, w - d, h);
-
- } else if (cat == BBQ) {
- /* Quadrants */
- int w2 = DIV(w, 2), h2 = DIV(h, 2);
- if (bd & TL)
- XftDrawRect(xd, fg, x, y, w2, h2);
- if (bd & TR)
- XftDrawRect(xd, fg, x + w2, y, w - w2, h2);
- if (bd & BL)
- XftDrawRect(xd, fg, x, y + h2, w2, h - h2);
- if (bd & BR)
- XftDrawRect(xd, fg, x + w2, y + h2, w - w2, h - h2);
-
- } else if (bd & BBS) {
- /* Shades - data is 1/2/3 for 25%/50%/75% alpha, respectively */
- int d = (uint8_t)bd;
- XftColor xfc;
- XRenderColor xrc = { .alpha = 0xffff };
-
- xrc.red = DIV(fg->color.red * d + bg->color.red * (4 - d), 4);
- xrc.green = DIV(fg->color.green * d + bg->color.green * (4 - d), 4);
- xrc.blue = DIV(fg->color.blue * d + bg->color.blue * (4 - d), 4);
-
- XftColorAllocValue(xdpy, xvis, xcmap, &xrc, &xfc);
- XftDrawRect(xd, &xfc, x, y, w, h);
- XftColorFree(xdpy, xvis, xcmap, &xfc);
-
- } else if (cat == BRL) {
- /* braille, each data bit corresponds to one dot at 2x4 grid */
- int w1 = DIV(w, 2);
- int h1 = DIV(h, 4), h2 = DIV(h, 2), h3 = DIV(3 * h, 4);
-
- if (bd & 1) XftDrawRect(xd, fg, x, y, w1, h1);
- if (bd & 2) XftDrawRect(xd, fg, x, y + h1, w1, h2 - h1);
- if (bd & 4) XftDrawRect(xd, fg, x, y + h2, w1, h3 - h2);
- if (bd & 8) XftDrawRect(xd, fg, x + w1, y, w - w1, h1);
- if (bd & 16) XftDrawRect(xd, fg, x + w1, y + h1, w - w1, h2 - h1);
- if (bd & 32) XftDrawRect(xd, fg, x + w1, y + h2, w - w1, h3 - h2);
- if (bd & 64) XftDrawRect(xd, fg, x, y + h3, w1, h - h3);
- if (bd & 128) XftDrawRect(xd, fg, x + w1, y + h3, w - w1, h - h3);
-
- }
-}
-
-void
-drawboxlines(int x, int y, int w, int h, XftColor *fg, ushort bd)
-{
- /* s: stem thickness. width/8 roughly matches underscore thickness. */
- /* We draw bold as 1.5 * normal-stem and at least 1px thicker. */
- /* doubles draw at least 3px, even when w or h < 3. bold needs 6px. */
- int mwh = MIN(w, h);
- int base_s = MAX(1, DIV(mwh, 8));
- int bold = (bd & BDB) && mwh >= 6; /* possibly ignore boldness */
- int s = bold ? MAX(base_s + 1, DIV(3 * base_s, 2)) : base_s;
- int w2 = DIV(w - s, 2), h2 = DIV(h - s, 2);
- /* the s-by-s square (x + w2, y + h2, s, s) is the center texel. */
- /* The base length (per direction till edge) includes this square. */
-
- int light = bd & (LL | LU | LR | LD);
- int double_ = bd & (DL | DU | DR | DD);
-
- if (light) {
- /* d: additional (negative) length to not-draw the center */
- /* texel - at arcs and avoid drawing inside (some) doubles */
- int arc = bd & BDA;
- int multi_light = light & (light - 1);
- int multi_double = double_ & (double_ - 1);
- /* light crosses double only at DH+LV, DV+LH (ref. shapes) */
- int d = arc || (multi_double && !multi_light) ? -s : 0;
-
- if (bd & LL)
- XftDrawRect(xd, fg, x, y + h2, w2 + s + d, s);
- if (bd & LU)
- XftDrawRect(xd, fg, x + w2, y, s, h2 + s + d);
- if (bd & LR)
- XftDrawRect(xd, fg, x + w2 - d, y + h2, w - w2 + d, s);
- if (bd & LD)
- XftDrawRect(xd, fg, x + w2, y + h2 - d, s, h - h2 + d);
- }
-
- /* double lines - also align with light to form heavy when combined */
- if (double_) {
- /*
- * going clockwise, for each double-ray: p is additional length
- * to the single-ray nearer to the previous direction, and n to
- * the next. p and n adjust from the base length to lengths
- * which consider other doubles - shorter to avoid intersections
- * (p, n), or longer to draw the far-corner texel (n).
- */
- int dl = bd & DL, du = bd & DU, dr = bd & DR, dd = bd & DD;
- if (dl) {
- int p = dd ? -s : 0, n = du ? -s : dd ? s : 0;
- XftDrawRect(xd, fg, x, y + h2 + s, w2 + s + p, s);
- XftDrawRect(xd, fg, x, y + h2 - s, w2 + s + n, s);
- }
- if (du) {
- int p = dl ? -s : 0, n = dr ? -s : dl ? s : 0;
- XftDrawRect(xd, fg, x + w2 - s, y, s, h2 + s + p);
- XftDrawRect(xd, fg, x + w2 + s, y, s, h2 + s + n);
- }
- if (dr) {
- int p = du ? -s : 0, n = dd ? -s : du ? s : 0;
- XftDrawRect(xd, fg, x + w2 - p, y + h2 - s, w - w2 + p, s);
- XftDrawRect(xd, fg, x + w2 - n, y + h2 + s, w - w2 + n, s);
- }
- if (dd) {
- int p = dr ? -s : 0, n = dl ? -s : dr ? s : 0;
- XftDrawRect(xd, fg, x + w2 + s, y + h2 - p, s, h - h2 + p);
- XftDrawRect(xd, fg, x + w2 - s, y + h2 - n, s, h - h2 + n);
- }
- }
-} \ No newline at end of file
diff --git a/oldresources/st/patch/boxdraw.h b/oldresources/st/patch/boxdraw.h
deleted file mode 100644
index 12df637..0000000
--- a/oldresources/st/patch/boxdraw.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih
- * MIT/X Consortium License
- */
-
-/*
- * U+25XX codepoints data
- *
- * References:
- * http://www.unicode.org/charts/PDF/U2500.pdf
- * http://www.unicode.org/charts/PDF/U2580.pdf
- *
- * Test page:
- * https://github.com/GNOME/vte/blob/master/doc/boxes.txt
- */
-
-/* Each shape is encoded as 16-bits. Higher bits are category, lower are data */
-/* Categories (mutually exclusive except BDB): */
-/* For convenience, BDL/BDA/BBS/BDB are 1 bit each, the rest are enums */
-#define BDL (1<<8) /* Box Draw Lines (light/double/heavy) */
-#define BDA (1<<9) /* Box Draw Arc (light) */
-
-#define BBD (1<<10) /* Box Block Down (lower) X/8 */
-#define BBL (2<<10) /* Box Block Left X/8 */
-#define BBU (3<<10) /* Box Block Upper X/8 */
-#define BBR (4<<10) /* Box Block Right X/8 */
-#define BBQ (5<<10) /* Box Block Quadrants */
-#define BRL (6<<10) /* Box Braille (data is lower byte of U28XX) */
-
-#define BBS (1<<14) /* Box Block Shades */
-#define BDB (1<<15) /* Box Draw is Bold */
-
-/* (BDL/BDA) Light/Double/Heavy x Left/Up/Right/Down/Horizontal/Vertical */
-/* Heavy is light+double (literally drawing light+double align to form heavy) */
-#define LL (1<<0)
-#define LU (1<<1)
-#define LR (1<<2)
-#define LD (1<<3)
-#define LH (LL+LR)
-#define LV (LU+LD)
-
-#define DL (1<<4)
-#define DU (1<<5)
-#define DR (1<<6)
-#define DD (1<<7)
-#define DH (DL+DR)
-#define DV (DU+DD)
-
-#define HL (LL+DL)
-#define HU (LU+DU)
-#define HR (LR+DR)
-#define HD (LD+DD)
-#define HH (HL+HR)
-#define HV (HU+HD)
-
-/* (BBQ) Quadrants Top/Bottom x Left/Right */
-#define TL (1<<0)
-#define TR (1<<1)
-#define BL (1<<2)
-#define BR (1<<3)
-
-/* Data for U+2500 - U+259F except dashes/diagonals */
-static const unsigned short boxdata[256] = {
- /* light lines */
- [0x00] = BDL + LH, /* light horizontal */
- [0x02] = BDL + LV, /* light vertical */
- [0x0c] = BDL + LD + LR, /* light down and right */
- [0x10] = BDL + LD + LL, /* light down and left */
- [0x14] = BDL + LU + LR, /* light up and right */
- [0x18] = BDL + LU + LL, /* light up and left */
- [0x1c] = BDL + LV + LR, /* light vertical and right */
- [0x24] = BDL + LV + LL, /* light vertical and left */
- [0x2c] = BDL + LH + LD, /* light horizontal and down */
- [0x34] = BDL + LH + LU, /* light horizontal and up */
- [0x3c] = BDL + LV + LH, /* light vertical and horizontal */
- [0x74] = BDL + LL, /* light left */
- [0x75] = BDL + LU, /* light up */
- [0x76] = BDL + LR, /* light right */
- [0x77] = BDL + LD, /* light down */
-
- /* heavy [+light] lines */
- [0x01] = BDL + HH,
- [0x03] = BDL + HV,
- [0x0d] = BDL + HR + LD,
- [0x0e] = BDL + HD + LR,
- [0x0f] = BDL + HD + HR,
- [0x11] = BDL + HL + LD,
- [0x12] = BDL + HD + LL,
- [0x13] = BDL + HD + HL,
- [0x15] = BDL + HR + LU,
- [0x16] = BDL + HU + LR,
- [0x17] = BDL + HU + HR,
- [0x19] = BDL + HL + LU,
- [0x1a] = BDL + HU + LL,
- [0x1b] = BDL + HU + HL,
- [0x1d] = BDL + HR + LV,
- [0x1e] = BDL + HU + LD + LR,
- [0x1f] = BDL + HD + LR + LU,
- [0x20] = BDL + HV + LR,
- [0x21] = BDL + HU + HR + LD,
- [0x22] = BDL + HD + HR + LU,
- [0x23] = BDL + HV + HR,
- [0x25] = BDL + HL + LV,
- [0x26] = BDL + HU + LD + LL,
- [0x27] = BDL + HD + LU + LL,
- [0x28] = BDL + HV + LL,
- [0x29] = BDL + HU + HL + LD,
- [0x2a] = BDL + HD + HL + LU,
- [0x2b] = BDL + HV + HL,
- [0x2d] = BDL + HL + LD + LR,
- [0x2e] = BDL + HR + LL + LD,
- [0x2f] = BDL + HH + LD,
- [0x30] = BDL + HD + LH,
- [0x31] = BDL + HD + HL + LR,
- [0x32] = BDL + HR + HD + LL,
- [0x33] = BDL + HH + HD,
- [0x35] = BDL + HL + LU + LR,
- [0x36] = BDL + HR + LU + LL,
- [0x37] = BDL + HH + LU,
- [0x38] = BDL + HU + LH,
- [0x39] = BDL + HU + HL + LR,
- [0x3a] = BDL + HU + HR + LL,
- [0x3b] = BDL + HH + HU,
- [0x3d] = BDL + HL + LV + LR,
- [0x3e] = BDL + HR + LV + LL,
- [0x3f] = BDL + HH + LV,
- [0x40] = BDL + HU + LH + LD,
- [0x41] = BDL + HD + LH + LU,
- [0x42] = BDL + HV + LH,
- [0x43] = BDL + HU + HL + LD + LR,
- [0x44] = BDL + HU + HR + LD + LL,
- [0x45] = BDL + HD + HL + LU + LR,
- [0x46] = BDL + HD + HR + LU + LL,
- [0x47] = BDL + HH + HU + LD,
- [0x48] = BDL + HH + HD + LU,
- [0x49] = BDL + HV + HL + LR,
- [0x4a] = BDL + HV + HR + LL,
- [0x4b] = BDL + HV + HH,
- [0x78] = BDL + HL,
- [0x79] = BDL + HU,
- [0x7a] = BDL + HR,
- [0x7b] = BDL + HD,
- [0x7c] = BDL + HR + LL,
- [0x7d] = BDL + HD + LU,
- [0x7e] = BDL + HL + LR,
- [0x7f] = BDL + HU + LD,
-
- /* double [+light] lines */
- [0x50] = BDL + DH,
- [0x51] = BDL + DV,
- [0x52] = BDL + DR + LD,
- [0x53] = BDL + DD + LR,
- [0x54] = BDL + DR + DD,
- [0x55] = BDL + DL + LD,
- [0x56] = BDL + DD + LL,
- [0x57] = BDL + DL + DD,
- [0x58] = BDL + DR + LU,
- [0x59] = BDL + DU + LR,
- [0x5a] = BDL + DU + DR,
- [0x5b] = BDL + DL + LU,
- [0x5c] = BDL + DU + LL,
- [0x5d] = BDL + DL + DU,
- [0x5e] = BDL + DR + LV,
- [0x5f] = BDL + DV + LR,
- [0x60] = BDL + DV + DR,
- [0x61] = BDL + DL + LV,
- [0x62] = BDL + DV + LL,
- [0x63] = BDL + DV + DL,
- [0x64] = BDL + DH + LD,
- [0x65] = BDL + DD + LH,
- [0x66] = BDL + DD + DH,
- [0x67] = BDL + DH + LU,
- [0x68] = BDL + DU + LH,
- [0x69] = BDL + DH + DU,
- [0x6a] = BDL + DH + LV,
- [0x6b] = BDL + DV + LH,
- [0x6c] = BDL + DH + DV,
-
- /* (light) arcs */
- [0x6d] = BDA + LD + LR,
- [0x6e] = BDA + LD + LL,
- [0x6f] = BDA + LU + LL,
- [0x70] = BDA + LU + LR,
-
- /* Lower (Down) X/8 block (data is 8 - X) */
- [0x81] = BBD + 7, [0x82] = BBD + 6, [0x83] = BBD + 5, [0x84] = BBD + 4,
- [0x85] = BBD + 3, [0x86] = BBD + 2, [0x87] = BBD + 1, [0x88] = BBD + 0,
-
- /* Left X/8 block (data is X) */
- [0x89] = BBL + 7, [0x8a] = BBL + 6, [0x8b] = BBL + 5, [0x8c] = BBL + 4,
- [0x8d] = BBL + 3, [0x8e] = BBL + 2, [0x8f] = BBL + 1,
-
- /* upper 1/2 (4/8), 1/8 block (X), right 1/2, 1/8 block (8-X) */
- [0x80] = BBU + 4, [0x94] = BBU + 1,
- [0x90] = BBR + 4, [0x95] = BBR + 7,
-
- /* Quadrants */
- [0x96] = BBQ + BL,
- [0x97] = BBQ + BR,
- [0x98] = BBQ + TL,
- [0x99] = BBQ + TL + BL + BR,
- [0x9a] = BBQ + TL + BR,
- [0x9b] = BBQ + TL + TR + BL,
- [0x9c] = BBQ + TL + TR + BR,
- [0x9d] = BBQ + TR,
- [0x9e] = BBQ + BL + TR,
- [0x9f] = BBQ + BL + TR + BR,
-
- /* Shades, data is an alpha value in 25% units (1/4, 1/2, 3/4) */
- [0x91] = BBS + 1, [0x92] = BBS + 2, [0x93] = BBS + 3,
-
- /* U+2504 - U+250B, U+254C - U+254F: unsupported (dashes) */
- /* U+2571 - U+2573: unsupported (diagonals) */
-}; \ No newline at end of file
diff --git a/oldresources/st/patch/copyurl.c b/oldresources/st/patch/copyurl.c
deleted file mode 100644
index 90d96db..0000000
--- a/oldresources/st/patch/copyurl.c
+++ /dev/null
@@ -1,180 +0,0 @@
-#if COPYURL_HIGHLIGHT_SELECTED_URLS_PATCH
-void
-tsetcolor( int row, int start, int end, uint32_t fg, uint32_t bg )
-{
- int i = start;
- for( ; i < end; ++i )
- {
- term.line[row][i].fg = fg;
- term.line[row][i].bg = bg;
- }
-}
-
-char *
-findlastany(char *str, const char** find, size_t len)
-{
- char* found = NULL;
- int i = 0;
- for(found = str + strlen(str) - 1; found >= str; --found) {
- for(i = 0; i < len; i++) {
- if(strncmp(found, find[i], strlen(find[i])) == 0) {
- return found;
- }
- }
- }
-
- return NULL;
-}
-
-/*
-** Select and copy the previous url on screen (do nothing if there's no url).
-**
-** FIXME: doesn't handle urls that span multiple lines; will need to add support
-** for multiline "getsel()" first
-*/
-void
-copyurl(const Arg *arg) {
- /* () and [] can appear in urls, but excluding them here will reduce false
- * positives when figuring out where a given url ends.
- */
- static char URLCHARS[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz"
- "0123456789-._~:/?#@!$&'*+,;=%";
-
- static const char* URLSTRINGS[] = {"http://", "https://"};
-
- /* remove highlighting from previous selection if any */
- if(sel.ob.x >= 0 && sel.oe.x >= 0)
- tsetcolor(sel.nb.y, sel.ob.x, sel.oe.x + 1, defaultfg, defaultbg);
-
- int i = 0,
- row = 0, /* row of current URL */
- col = 0, /* column of current URL start */
- startrow = 0, /* row of last occurrence */
- colend = 0, /* column of last occurrence */
- passes = 0; /* how many rows have been scanned */
-
- char *linestr = calloc(term.col+1, sizeof(Rune));
- char *c = NULL,
- *match = NULL;
-
- row = (sel.ob.x >= 0 && sel.nb.y > 0) ? sel.nb.y : term.bot;
- LIMIT(row, term.top, term.bot);
- startrow = row;
-
- colend = (sel.ob.x >= 0 && sel.nb.y > 0) ? sel.nb.x : term.col;
- LIMIT(colend, 0, term.col);
-
- /*
- ** Scan from (term.bot,term.col) to (0,0) and find
- ** next occurrance of a URL
- */
- while (passes !=term.bot + 2) {
- /* Read in each column of every row until
- ** we hit previous occurrence of URL
- */
- for (col = 0, i = 0; col < colend; ++col,++i) {
- linestr[i] = term.line[row][col].u;
- }
- linestr[term.col] = '\0';
-
- if ((match = findlastany(linestr, URLSTRINGS,
- sizeof(URLSTRINGS)/sizeof(URLSTRINGS[0]))))
- break;
-
- if (--row < term.top)
- row = term.bot;
-
- colend = term.col;
- passes++;
- };
-
- if (match) {
- /* must happen before trim */
- selclear();
- sel.ob.x = strlen(linestr) - strlen(match);
-
- /* trim the rest of the line from the url match */
- for (c = match; *c != '\0'; ++c)
- if (!strchr(URLCHARS, *c)) {
- *c = '\0';
- break;
- }
-
- /* highlight selection by inverting terminal colors */
- tsetcolor(row, sel.ob.x, sel.ob.x + strlen( match ), defaultbg, defaultfg);
-
- /* select and copy */
- sel.mode = 1;
- sel.type = SEL_REGULAR;
- sel.oe.x = sel.ob.x + strlen(match)-1;
- sel.ob.y = sel.oe.y = row;
- selnormalize();
- tsetdirt(sel.nb.y, sel.ne.y);
- xsetsel(getsel());
- xclipcopy();
- }
-
- free(linestr);
-}
-#else
-/* select and copy the previous url on screen (do nothing if there's no url).
- * known bug: doesn't handle urls that span multiple lines (wontfix), depends on multiline "getsel()"
- * known bug: only finds first url on line (mightfix)
- */
-void
-copyurl(const Arg *arg) {
- /* () and [] can appear in urls, but excluding them here will reduce false
- * positives when figuring out where a given url ends.
- */
- static char URLCHARS[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz"
- "0123456789-._~:/?#@!$&'*+,;=%";
-
- int i, row, startrow;
- char *linestr = calloc(term.col+1, sizeof(Rune));
- char *c, *match = NULL;
-
- row = (sel.ob.x >= 0 && sel.nb.y > 0) ? sel.nb.y-1 : term.bot;
- LIMIT(row, term.top, term.bot);
- startrow = row;
-
- /* find the start of the last url before selection */
- do {
- for (i = 0; i < term.col; ++i) {
- linestr[i] = term.line[row][i].u;
- }
- linestr[term.col] = '\0';
- if ((match = strstr(linestr, "http://"))
- || (match = strstr(linestr, "https://")))
- break;
- if (--row < term.top)
- row = term.bot;
- } while (row != startrow);
-
- if (match) {
- /* must happen before trim */
- selclear();
- sel.ob.x = strlen(linestr) - strlen(match);
-
- /* trim the rest of the line from the url match */
- for (c = match; *c != '\0'; ++c)
- if (!strchr(URLCHARS, *c)) {
- *c = '\0';
- break;
- }
-
- /* select and copy */
- sel.mode = 1;
- sel.type = SEL_REGULAR;
- sel.oe.x = sel.ob.x + strlen(match)-1;
- sel.ob.y = sel.oe.y = row;
- selnormalize();
- tsetdirt(sel.nb.y, sel.ne.y);
- xsetsel(getsel());
- xclipcopy();
- }
-
- free(linestr);
-}
-#endif // COPYURL_HIGHLIGHT_SELECTED_URLS_PATCH \ No newline at end of file
diff --git a/oldresources/st/patch/copyurl.h b/oldresources/st/patch/copyurl.h
deleted file mode 100644
index 88059af..0000000
--- a/oldresources/st/patch/copyurl.h
+++ /dev/null
@@ -1,5 +0,0 @@
-void copyurl(const Arg *);
-#if COPYURL_HIGHLIGHT_SELECTED_URLS_PATCH
-static void tsetcolor(int, int, int, uint32_t, uint32_t);
-static char * findlastany(char *, const char**, size_t);
-#endif // COPYURL_HIGHLIGHT_SELECTED_URLS_PATCH \ No newline at end of file
diff --git a/oldresources/st/patch/externalpipe.c b/oldresources/st/patch/externalpipe.c
deleted file mode 100644
index 37d8848..0000000
--- a/oldresources/st/patch/externalpipe.c
+++ /dev/null
@@ -1,76 +0,0 @@
-int extpipeactive = 0;
-
-void
-#if EXTERNALPIPEIN_PATCH
-extpipe(const Arg *arg, int in)
-#else
-externalpipe(const Arg *arg)
-#endif // EXTERNALPIPEIN_PATCH
-{
- int to[2];
- char buf[UTF_SIZ];
- void (*oldsigpipe)(int);
- Glyph *bp, *end;
- int lastpos, n, newline;
-
- if (pipe(to) == -1)
- return;
-
- switch (fork()) {
- case -1:
- close(to[0]);
- close(to[1]);
- return;
- case 0:
- dup2(to[0], STDIN_FILENO);
- close(to[0]);
- close(to[1]);
- #if EXTERNALPIPEIN_PATCH
- if (in)
- dup2(csdfd, STDOUT_FILENO);
- close(csdfd);
- #endif // EXTERNALPIPEIN_PATCH
- execvp(((char **)arg->v)[0], (char **)arg->v);
- fprintf(stderr, "st: execvp %s\n", ((char **)arg->v)[0]);
- perror("failed");
- exit(0);
- }
-
- close(to[0]);
- /* ignore sigpipe for now, in case child exists early */
- oldsigpipe = signal(SIGPIPE, SIG_IGN);
- newline = 0;
- for (n = 0; n < term.row; n++) {
- bp = term.line[n];
- lastpos = MIN(tlinelen(n) + 1, term.col) - 1;
- if (lastpos < 0)
- break;
- end = &bp[lastpos + 1];
- for (; bp < end; ++bp)
- if (xwrite(to[1], buf, utf8encode(bp->u, buf)) < 0)
- break;
- if ((newline = term.line[n][lastpos].mode & ATTR_WRAP))
- continue;
- if (xwrite(to[1], "\n", 1) < 0)
- break;
- newline = 0;
- }
- if (newline)
- (void)xwrite(to[1], "\n", 1);
- close(to[1]);
- /* restore */
- signal(SIGPIPE, oldsigpipe);
- extpipeactive = 1;
-}
-
-#if EXTERNALPIPEIN_PATCH
-void
-externalpipe(const Arg *arg) {
- extpipe(arg, 0);
-}
-
-void
-externalpipein(const Arg *arg) {
- extpipe(arg, 1);
-}
-#endif // EXTERNALPIPEIN_PATCH \ No newline at end of file
diff --git a/oldresources/st/patch/externalpipe.h b/oldresources/st/patch/externalpipe.h
deleted file mode 100644
index 764504b..0000000
--- a/oldresources/st/patch/externalpipe.h
+++ /dev/null
@@ -1,4 +0,0 @@
-void externalpipe(const Arg *);
-#if EXTERNALPIPEIN_PATCH
-void externalpipein(const Arg *);
-#endif // EXTERNALPIPEIN_PATCH \ No newline at end of file
diff --git a/oldresources/st/patch/fixkeyboardinput.c b/oldresources/st/patch/fixkeyboardinput.c
deleted file mode 100644
index 75f8f40..0000000
--- a/oldresources/st/patch/fixkeyboardinput.c
+++ /dev/null
@@ -1,811 +0,0 @@
-/*
- * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF)
- * to be mapped below, add them to this array.
- */
-static KeySym mappedkeys[] = {
- XK_space,
- XK_m,
- XK_i,
- XK_A,
- XK_B,
- XK_C,
- XK_D,
- XK_E,
- XK_F,
- XK_G,
- XK_H,
- XK_I,
- XK_K,
- XK_J,
- XK_L,
- XK_M,
- XK_N,
- XK_O,
- XK_P,
- XK_Q,
- XK_R,
- XK_S,
- XK_T,
- XK_U,
- XK_V,
- XK_W,
- XK_X,
- XK_Y,
- XK_Z,
- XK_0,
- XK_1,
- XK_2,
- XK_3,
- XK_4,
- XK_5,
- XK_6,
- XK_7,
- XK_8,
- XK_9,
- XK_exclam,
- XK_quotedbl,
- XK_numbersign,
- XK_dollar,
- XK_percent,
- XK_ampersand,
- XK_apostrophe,
- XK_parenleft,
- XK_parenright,
- XK_asterisk,
- XK_plus,
- XK_comma,
- XK_minus,
- XK_period,
- XK_slash,
- XK_colon,
- XK_semicolon,
- XK_less,
- XK_equal,
- XK_greater,
- XK_question,
- XK_at,
- XK_bracketleft,
- XK_backslash,
- XK_bracketright,
- XK_asciicircum,
- XK_underscore,
- XK_grave,
- XK_braceleft,
- XK_bar,
- XK_braceright,
- XK_asciitilde,
-};
-
-/*
- * This is the huge key array which defines all compatibility to the Linux
- * world. Please decide about changes wisely.
- */
-static Key key[] = {
- /* keysym mask string appkey appcursor */
- { XK_KP_Home, ShiftMask, "\033[2J", 0, -1},
- { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1},
- { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0},
- { XK_KP_End, ControlMask, "\033[J", -1, 0},
- { XK_KP_End, ControlMask, "\033[1;5F", +1, 0},
- { XK_KP_End, ShiftMask, "\033[K", -1, 0},
- { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0},
- { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0},
- { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0},
- { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0},
- { XK_KP_Insert, ControlMask, "\033[L", -1, 0},
- { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0},
- { XK_KP_Delete, ControlMask, "\033[M", -1, 0},
- { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0},
- { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0},
- { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0},
- { XK_Up, ShiftMask, "\033[1;2A", 0, 0},
- { XK_Up, Mod1Mask, "\033[1;3A", 0, 0},
- { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0},
- { XK_Up, ControlMask, "\033[1;5A", 0, 0},
- { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0},
- { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0},
- { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0},
- { XK_Up, XK_ANY_MOD, "\033[A", 0, -1},
- { XK_Up, XK_ANY_MOD, "\033OA", 0, +1},
- { XK_Down, ShiftMask, "\033[1;2B", 0, 0},
- { XK_Down, Mod1Mask, "\033[1;3B", 0, 0},
- { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0},
- { XK_Down, ControlMask, "\033[1;5B", 0, 0},
- { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0},
- { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0},
- { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0},
- { XK_Down, XK_ANY_MOD, "\033[B", 0, -1},
- { XK_Down, XK_ANY_MOD, "\033OB", 0, +1},
- { XK_Left, ShiftMask, "\033[1;2D", 0, 0},
- { XK_Left, Mod1Mask, "\033[1;3D", 0, 0},
- { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0},
- { XK_Left, ControlMask, "\033[1;5D", 0, 0},
- { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0},
- { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0},
- { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0},
- { XK_Left, XK_ANY_MOD, "\033[D", 0, -1},
- { XK_Left, XK_ANY_MOD, "\033OD", 0, +1},
- { XK_Right, ShiftMask, "\033[1;2C", 0, 0},
- { XK_Right, Mod1Mask, "\033[1;3C", 0, 0},
- { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0},
- { XK_Right, ControlMask, "\033[1;5C", 0, 0},
- { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0},
- { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0},
- { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0},
- { XK_Right, XK_ANY_MOD, "\033[C", 0, -1},
- { XK_Right, XK_ANY_MOD, "\033OC", 0, +1},
- { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0},
- { XK_Return, Mod1Mask, "\033\r", 0, 0},
- { XK_Return, XK_NO_MOD, "\r", 0, 0},
- { XK_Insert, ShiftMask, "\033[4l", -1, 0},
- { XK_Insert, ShiftMask, "\033[2;2~", +1, 0},
- { XK_Insert, ControlMask, "\033[L", -1, 0},
- { XK_Insert, ControlMask, "\033[2;5~", +1, 0},
- { XK_Delete, ControlMask, "\033[M", -1, 0},
- { XK_Delete, ControlMask, "\033[3;5~", +1, 0},
- { XK_Delete, ShiftMask, "\033[2K", -1, 0},
- { XK_Delete, ShiftMask, "\033[3;2~", +1, 0},
- { XK_BackSpace, XK_NO_MOD, "\177", 0, 0},
- { XK_BackSpace, Mod1Mask, "\033\177", 0, 0},
- { XK_Home, ShiftMask, "\033[2J", 0, -1},
- { XK_Home, ShiftMask, "\033[1;2H", 0, +1},
- { XK_End, ControlMask, "\033[J", -1, 0},
- { XK_End, ControlMask, "\033[1;5F", +1, 0},
- { XK_End, ShiftMask, "\033[K", -1, 0},
- { XK_End, ShiftMask, "\033[1;2F", +1, 0},
- { XK_Prior, ControlMask, "\033[5;5~", 0, 0},
- { XK_Prior, ShiftMask, "\033[5;2~", 0, 0},
- { XK_Next, ControlMask, "\033[6;5~", 0, 0},
- { XK_Next, ShiftMask, "\033[6;2~", 0, 0},
- { XK_F1, XK_NO_MOD, "\033OP" , 0, 0},
- { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0},
- { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0},
- { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0},
- { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0},
- { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0},
- { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0},
- { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0},
- { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0},
- { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0},
- { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0},
- { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0},
- { XK_F3, XK_NO_MOD, "\033OR" , 0, 0},
- { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0},
- { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0},
- { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0},
- { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0},
- { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0},
- { XK_F4, XK_NO_MOD, "\033OS" , 0, 0},
- { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0},
- { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0},
- { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0},
- { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0},
- { XK_F5, XK_NO_MOD, "\033[15~", 0, 0},
- { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0},
- { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0},
- { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0},
- { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0},
- { XK_F6, XK_NO_MOD, "\033[17~", 0, 0},
- { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0},
- { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0},
- { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0},
- { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0},
- { XK_F7, XK_NO_MOD, "\033[18~", 0, 0},
- { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0},
- { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0},
- { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0},
- { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0},
- { XK_F8, XK_NO_MOD, "\033[19~", 0, 0},
- { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0},
- { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0},
- { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0},
- { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0},
- { XK_F9, XK_NO_MOD, "\033[20~", 0, 0},
- { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0},
- { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0},
- { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0},
- { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0},
- { XK_F10, XK_NO_MOD, "\033[21~", 0, 0},
- { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0},
- { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0},
- { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0},
- { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0},
- { XK_F11, XK_NO_MOD, "\033[23~", 0, 0},
- { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0},
- { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0},
- { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0},
- { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0},
- { XK_F12, XK_NO_MOD, "\033[24~", 0, 0},
- { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0},
- { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0},
- { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0},
- { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0},
- { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0},
- { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0},
- { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0},
- { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0},
- { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0},
- { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0},
- { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0},
- { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0},
- { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0},
- { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0},
- { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0},
- { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0},
- { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0},
- { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0},
- { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0},
- { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0},
- { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0},
- { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0},
- { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0},
- { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0},
- { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0},
- { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0},
- { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0},
-
- // libtermkey compatible keyboard input
- { XK_KP_Home, XK_NO_MOD, "\033[H", 0, -1},
- { XK_KP_Home, XK_NO_MOD, "\033[1~", 0, +1},
- { XK_KP_Home, ControlMask, "\033[149;5u", 0, 0},
- { XK_KP_Home, ControlMask|ShiftMask, "\033[149;6u", 0, 0},
- { XK_KP_Home, Mod1Mask, "\033[149;3u", 0, 0},
- { XK_KP_Home, Mod1Mask|ControlMask, "\033[149;7u", 0, 0},
- { XK_KP_Home, Mod1Mask|ControlMask|ShiftMask, "\033[149;8u", 0, 0},
- { XK_KP_Home, Mod1Mask|ShiftMask, "\033[149;4u", 0, 0},
- { XK_KP_Home, ShiftMask, "\033[149;2u", 0, 0},
- { XK_KP_Up, XK_NO_MOD, "\033Ox", +1, 0},
- { XK_KP_Up, XK_NO_MOD, "\033[A", 0, -1},
- { XK_KP_Up, XK_NO_MOD, "\033OA", 0, +1},
- { XK_KP_Up, ControlMask, "\033[151;5u", 0, 0},
- { XK_KP_Up, ControlMask|ShiftMask, "\033[151;6u", 0, 0},
- { XK_KP_Up, Mod1Mask, "\033[151;3u", 0, 0},
- { XK_KP_Up, Mod1Mask|ControlMask, "\033[151;7u", 0, 0},
- { XK_KP_Up, Mod1Mask|ControlMask|ShiftMask, "\033[151;8u", 0, 0},
- { XK_KP_Up, Mod1Mask|ShiftMask, "\033[151;4u", 0, 0},
- { XK_KP_Up, ShiftMask, "\033[151;2u", 0, 0},
- { XK_KP_Down, XK_NO_MOD, "\033Or", +1, 0},
- { XK_KP_Down, XK_NO_MOD, "\033[B", 0, -1},
- { XK_KP_Down, XK_NO_MOD, "\033OB", 0, +1},
- { XK_KP_Down, ControlMask, "\033[153;5u", 0, 0},
- { XK_KP_Down, ControlMask|ShiftMask, "\033[153;6u", 0, 0},
- { XK_KP_Down, Mod1Mask, "\033[153;3u", 0, 0},
- { XK_KP_Down, Mod1Mask|ControlMask, "\033[153;7u", 0, 0},
- { XK_KP_Down, Mod1Mask|ControlMask|ShiftMask, "\033[153;8u", 0, 0},
- { XK_KP_Down, Mod1Mask|ShiftMask, "\033[153;4u", 0, 0},
- { XK_KP_Down, ShiftMask, "\033[153;2u", 0, 0},
- { XK_KP_Left, XK_NO_MOD, "\033Ot", +1, 0},
- { XK_KP_Left, XK_NO_MOD, "\033[D", 0, -1},
- { XK_KP_Left, XK_NO_MOD, "\033OD", 0, +1},
- { XK_KP_Left, ControlMask, "\033[150;5u", 0, 0},
- { XK_KP_Left, ControlMask|ShiftMask, "\033[150;6u", 0, 0},
- { XK_KP_Left, Mod1Mask, "\033[150;3u", 0, 0},
- { XK_KP_Left, Mod1Mask|ControlMask, "\033[150;7u", 0, 0},
- { XK_KP_Left, Mod1Mask|ControlMask|ShiftMask, "\033[150;8u", 0, 0},
- { XK_KP_Left, Mod1Mask|ShiftMask, "\033[150;4u", 0, 0},
- { XK_KP_Left, ShiftMask, "\033[150;2u", 0, 0},
- { XK_KP_Right, XK_NO_MOD, "\033Ov", +1, 0},
- { XK_KP_Right, XK_NO_MOD, "\033[C", 0, -1},
- { XK_KP_Right, XK_NO_MOD, "\033OC", 0, +1},
- { XK_KP_Right, ControlMask, "\033[152;5u", 0, 0},
- { XK_KP_Right, ControlMask|ShiftMask, "\033[152;6u", 0, 0},
- { XK_KP_Right, Mod1Mask, "\033[152;3u", 0, 0},
- { XK_KP_Right, Mod1Mask|ControlMask, "\033[152;7u", 0, 0},
- { XK_KP_Right, Mod1Mask|ControlMask|ShiftMask, "\033[152;8u", 0, 0},
- { XK_KP_Right, Mod1Mask|ShiftMask, "\033[152;4u", 0, 0},
- { XK_KP_Right, ShiftMask, "\033[152;2u", 0, 0},
- { XK_KP_Prior, XK_NO_MOD, "\033[5~", 0, 0},
- { XK_KP_Prior, ControlMask, "\033[154;5u", 0, 0},
- { XK_KP_Prior, ControlMask|ShiftMask, "\033[154;6u", 0, 0},
- { XK_KP_Prior, Mod1Mask, "\033[154;3u", 0, 0},
- { XK_KP_Prior, Mod1Mask|ControlMask, "\033[154;7u", 0, 0},
- { XK_KP_Prior, Mod1Mask|ControlMask|ShiftMask, "\033[154;8u", 0, 0},
- { XK_KP_Prior, Mod1Mask|ShiftMask, "\033[154;4u", 0, 0},
- { XK_KP_Begin, XK_NO_MOD, "\033[E", 0, 0},
- { XK_KP_Begin, ControlMask, "\033[157;5u", 0, 0},
- { XK_KP_Begin, ControlMask|ShiftMask, "\033[157;6u", 0, 0},
- { XK_KP_Begin, Mod1Mask, "\033[157;3u", 0, 0},
- { XK_KP_Begin, Mod1Mask|ControlMask, "\033[157;7u", 0, 0},
- { XK_KP_Begin, Mod1Mask|ControlMask|ShiftMask, "\033[157;8u", 0, 0},
- { XK_KP_Begin, Mod1Mask|ShiftMask, "\033[157;4u", 0, 0},
- { XK_KP_Begin, ShiftMask, "\033[157;2u", 0, 0},
- { XK_KP_End, XK_NO_MOD, "\033[4~", 0, 0},
- { XK_KP_End, ControlMask|ShiftMask, "\033[156;6u", 0, 0},
- { XK_KP_End, Mod1Mask, "\033[156;3u", 0, 0},
- { XK_KP_End, Mod1Mask|ControlMask, "\033[156;7u", 0, 0},
- { XK_KP_End, Mod1Mask|ControlMask|ShiftMask, "\033[156;8u", 0, 0},
- { XK_KP_End, Mod1Mask|ShiftMask, "\033[156;4u", 0, 0},
- { XK_KP_Next, XK_NO_MOD, "\033[6~", 0, 0},
- { XK_KP_Next, ControlMask, "\033[155;5u", 0, 0},
- { XK_KP_Next, ControlMask|ShiftMask, "\033[155;6u", 0, 0},
- { XK_KP_Next, Mod1Mask, "\033[155;3u", 0, 0},
- { XK_KP_Next, Mod1Mask|ControlMask, "\033[155;7u", 0, 0},
- { XK_KP_Next, Mod1Mask|ControlMask|ShiftMask, "\033[155;8u", 0, 0},
- { XK_KP_Next, Mod1Mask|ShiftMask, "\033[155;4u", 0, 0},
- { XK_KP_Insert, XK_NO_MOD, "\033[4h", -1, 0},
- { XK_KP_Insert, XK_NO_MOD, "\033[2~", +1, 0},
- { XK_KP_Insert, ControlMask|ShiftMask, "\033[158;6u", 0, 0},
- { XK_KP_Insert, Mod1Mask, "\033[158;3u", 0, 0},
- { XK_KP_Insert, Mod1Mask|ControlMask, "\033[158;7u", 0, 0},
- { XK_KP_Insert, Mod1Mask|ControlMask|ShiftMask, "\033[158;8u", 0, 0},
- { XK_KP_Insert, Mod1Mask|ShiftMask, "\033[158;4u", 0, 0},
- { XK_KP_Delete, XK_NO_MOD, "\033[P", -1, 0},
- { XK_KP_Delete, XK_NO_MOD, "\033[3~", +1, 0},
- { XK_KP_Delete, ControlMask|ShiftMask, "\033[159;6u", 0, 0},
- { XK_KP_Delete, Mod1Mask, "\033[159;3u", 0, 0},
- { XK_KP_Delete, Mod1Mask|ControlMask, "\033[159;7u", 0, 0},
- { XK_KP_Delete, Mod1Mask|ControlMask|ShiftMask, "\033[159;8u", 0, 0},
- { XK_KP_Delete, Mod1Mask|ShiftMask, "\033[159;4u", 0, 0},
- { XK_KP_Multiply, XK_NO_MOD, "\033Oj", +2, 0},
- { XK_KP_Multiply, ControlMask, "\033[170;5u", 0, 0},
- { XK_KP_Multiply, ControlMask|ShiftMask, "\033[170;6u", 0, 0},
- { XK_KP_Multiply, Mod1Mask, "\033[170;3u", 0, 0},
- { XK_KP_Multiply, Mod1Mask|ControlMask, "\033[170;7u", 0, 0},
- { XK_KP_Multiply, Mod1Mask|ControlMask|ShiftMask, "\033[170;8u", 0, 0},
- { XK_KP_Multiply, Mod1Mask|ShiftMask, "\033[170;4u", 0, 0},
- { XK_KP_Multiply, ShiftMask, "\033[170;2u", 0, 0},
- { XK_KP_Add, XK_NO_MOD, "\033Ok", +2, 0},
- { XK_KP_Add, ControlMask, "\033[171;5u", 0, 0},
- { XK_KP_Add, ControlMask|ShiftMask, "\033[171;6u", 0, 0},
- { XK_KP_Add, Mod1Mask, "\033[171;3u", 0, 0},
- { XK_KP_Add, Mod1Mask|ControlMask, "\033[171;7u", 0, 0},
- { XK_KP_Add, Mod1Mask|ControlMask|ShiftMask, "\033[171;8u", 0, 0},
- { XK_KP_Add, Mod1Mask|ShiftMask, "\033[171;4u", 0, 0},
- { XK_KP_Add, ShiftMask, "\033[171;2u", 0, 0},
- { XK_KP_Enter, XK_NO_MOD, "\033OM", +2, 0},
- { XK_KP_Enter, XK_NO_MOD, "\r", -1, 0},
- { XK_KP_Enter, XK_NO_MOD, "\r\n", -1, 0},
- { XK_KP_Enter, ControlMask, "\033[141;5u", 0, 0},
- { XK_KP_Enter, ControlMask|ShiftMask, "\033[141;6u", 0, 0},
- { XK_KP_Enter, Mod1Mask, "\033[141;3u", 0, 0},
- { XK_KP_Enter, Mod1Mask|ControlMask, "\033[141;7u", 0, 0},
- { XK_KP_Enter, Mod1Mask|ControlMask|ShiftMask, "\033[141;8u", 0, 0},
- { XK_KP_Enter, Mod1Mask|ShiftMask, "\033[141;4u", 0, 0},
- { XK_KP_Enter, ShiftMask, "\033[141;2u", 0, 0},
- { XK_KP_Subtract, XK_NO_MOD, "\033Om", +2, 0},
- { XK_KP_Subtract, ControlMask, "\033[173;5u", 0, 0},
- { XK_KP_Subtract, ControlMask|ShiftMask, "\033[173;6u", 0, 0},
- { XK_KP_Subtract, Mod1Mask, "\033[173;3u", 0, 0},
- { XK_KP_Subtract, Mod1Mask|ControlMask, "\033[173;7u", 0, 0},
- { XK_KP_Subtract, Mod1Mask|ControlMask|ShiftMask, "\033[173;8u", 0, 0},
- { XK_KP_Subtract, Mod1Mask|ShiftMask, "\033[173;4u", 0, 0},
- { XK_KP_Subtract, ShiftMask, "\033[173;2u", 0, 0},
- { XK_KP_Decimal, XK_NO_MOD, "\033On", +2, 0},
- { XK_KP_Decimal, ControlMask, "\033[174;5u", 0, 0},
- { XK_KP_Decimal, ControlMask|ShiftMask, "\033[174;6u", 0, 0},
- { XK_KP_Decimal, Mod1Mask, "\033[174;3u", 0, 0},
- { XK_KP_Decimal, Mod1Mask|ControlMask, "\033[174;7u", 0, 0},
- { XK_KP_Decimal, Mod1Mask|ControlMask|ShiftMask, "\033[174;8u", 0, 0},
- { XK_KP_Decimal, Mod1Mask|ShiftMask, "\033[174;4u", 0, 0},
- { XK_KP_Decimal, ShiftMask, "\033[174;2u", 0, 0},
- { XK_KP_Divide, XK_NO_MOD, "\033Oo", +2, 0},
- { XK_KP_Divide, ControlMask, "\033[175;5u", 0, 0},
- { XK_KP_Divide, ControlMask|ShiftMask, "\033[175;6u", 0, 0},
- { XK_KP_Divide, Mod1Mask, "\033[175;3u", 0, 0},
- { XK_KP_Divide, Mod1Mask|ControlMask, "\033[175;7u", 0, 0},
- { XK_KP_Divide, Mod1Mask|ControlMask|ShiftMask, "\033[175;8u", 0, 0},
- { XK_KP_Divide, Mod1Mask|ShiftMask, "\033[175;4u", 0, 0},
- { XK_KP_Divide, ShiftMask, "\033[175;2u", 0, 0},
- { XK_KP_0, XK_NO_MOD, "\033Op", +2, 0},
- { XK_KP_0, ControlMask, "\033[176;5u", 0, 0},
- { XK_KP_0, ControlMask|ShiftMask, "\033[176;6u", 0, 0},
- { XK_KP_0, Mod1Mask, "\033[176;3u", 0, 0},
- { XK_KP_0, Mod1Mask|ControlMask, "\033[176;7u", 0, 0},
- { XK_KP_0, Mod1Mask|ControlMask|ShiftMask, "\033[176;8u", 0, 0},
- { XK_KP_0, Mod1Mask|ShiftMask, "\033[176;4u", 0, 0},
- { XK_KP_0, ShiftMask, "\033[176;2u", 0, 0},
- { XK_KP_1, XK_NO_MOD, "\033Oq", +2, 0},
- { XK_KP_0, ControlMask, "\033[177;5u", 0, 0},
- { XK_KP_0, ControlMask|ShiftMask, "\033[177;6u", 0, 0},
- { XK_KP_0, Mod1Mask, "\033[177;3u", 0, 0},
- { XK_KP_0, Mod1Mask|ControlMask, "\033[177;7u", 0, 0},
- { XK_KP_0, Mod1Mask|ControlMask|ShiftMask, "\033[177;8u", 0, 0},
- { XK_KP_0, Mod1Mask|ShiftMask, "\033[177;4u", 0, 0},
- { XK_KP_0, ShiftMask, "\033[177;2u", 0, 0},
- { XK_KP_2, XK_NO_MOD, "\033Or", +2, 0},
- { XK_KP_2, ControlMask, "\033[178;5u", 0, 0},
- { XK_KP_2, ControlMask|ShiftMask, "\033[178;6u", 0, 0},
- { XK_KP_2, Mod1Mask, "\033[178;3u", 0, 0},
- { XK_KP_2, Mod1Mask|ControlMask, "\033[178;7u", 0, 0},
- { XK_KP_2, Mod1Mask|ControlMask|ShiftMask, "\033[178;8u", 0, 0},
- { XK_KP_2, Mod1Mask|ShiftMask, "\033[178;4u", 0, 0},
- { XK_KP_2, ShiftMask, "\033[178;2u", 0, 0},
- { XK_KP_3, XK_NO_MOD, "\033Os", +2, 0},
- { XK_KP_3, ControlMask, "\033[179;5u", 0, 0},
- { XK_KP_3, ControlMask|ShiftMask, "\033[179;6u", 0, 0},
- { XK_KP_3, Mod1Mask, "\033[179;3u", 0, 0},
- { XK_KP_3, Mod1Mask|ControlMask, "\033[179;7u", 0, 0},
- { XK_KP_3, Mod1Mask|ControlMask|ShiftMask, "\033[179;8u", 0, 0},
- { XK_KP_3, Mod1Mask|ShiftMask, "\033[179;4u", 0, 0},
- { XK_KP_3, ShiftMask, "\033[179;2u", 0, 0},
- { XK_KP_4, XK_NO_MOD, "\033Ot", +2, 0},
- { XK_KP_4, ControlMask, "\033[180;5u", 0, 0},
- { XK_KP_4, ControlMask|ShiftMask, "\033[180;6u", 0, 0},
- { XK_KP_4, Mod1Mask, "\033[180;3u", 0, 0},
- { XK_KP_4, Mod1Mask|ControlMask, "\033[180;7u", 0, 0},
- { XK_KP_4, Mod1Mask|ControlMask|ShiftMask, "\033[180;8u", 0, 0},
- { XK_KP_4, Mod1Mask|ShiftMask, "\033[180;4u", 0, 0},
- { XK_KP_4, ShiftMask, "\033[180;2u", 0, 0},
- { XK_KP_5, XK_NO_MOD, "\033Ou", +2, 0},
- { XK_KP_5, ControlMask, "\033[181;5u", 0, 0},
- { XK_KP_5, ControlMask|ShiftMask, "\033[181;6u", 0, 0},
- { XK_KP_5, Mod1Mask, "\033[181;3u", 0, 0},
- { XK_KP_5, Mod1Mask|ControlMask, "\033[181;7u", 0, 0},
- { XK_KP_5, Mod1Mask|ControlMask|ShiftMask, "\033[181;8u", 0, 0},
- { XK_KP_5, Mod1Mask|ShiftMask, "\033[181;4u", 0, 0},
- { XK_KP_5, ShiftMask, "\033[181;2u", 0, 0},
- { XK_KP_6, XK_NO_MOD, "\033Ov", +2, 0},
- { XK_KP_6, ControlMask, "\033[182;5u", 0, 0},
- { XK_KP_6, ControlMask|ShiftMask, "\033[182;6u", 0, 0},
- { XK_KP_6, Mod1Mask, "\033[182;3u", 0, 0},
- { XK_KP_6, Mod1Mask|ControlMask, "\033[182;7u", 0, 0},
- { XK_KP_6, Mod1Mask|ControlMask|ShiftMask, "\033[182;8u", 0, 0},
- { XK_KP_6, Mod1Mask|ShiftMask, "\033[182;4u", 0, 0},
- { XK_KP_6, ShiftMask, "\033[182;2u", 0, 0},
- { XK_KP_7, XK_NO_MOD, "\033Ow", +2, 0},
- { XK_KP_7, ControlMask, "\033[183;5u", 0, 0},
- { XK_KP_7, ControlMask|ShiftMask, "\033[183;6u", 0, 0},
- { XK_KP_7, Mod1Mask, "\033[183;3u", 0, 0},
- { XK_KP_7, Mod1Mask|ControlMask, "\033[183;7u", 0, 0},
- { XK_KP_7, Mod1Mask|ControlMask|ShiftMask, "\033[183;8u", 0, 0},
- { XK_KP_7, Mod1Mask|ShiftMask, "\033[183;4u", 0, 0},
- { XK_KP_7, ShiftMask, "\033[183;2u", 0, 0},
- { XK_KP_8, XK_NO_MOD, "\033Ox", +2, 0},
- { XK_KP_8, ControlMask, "\033[184;5u", 0, 0},
- { XK_KP_8, ControlMask|ShiftMask, "\033[184;6u", 0, 0},
- { XK_KP_8, Mod1Mask, "\033[184;3u", 0, 0},
- { XK_KP_8, Mod1Mask|ControlMask, "\033[184;7u", 0, 0},
- { XK_KP_8, Mod1Mask|ControlMask|ShiftMask, "\033[184;8u", 0, 0},
- { XK_KP_8, Mod1Mask|ShiftMask, "\033[184;4u", 0, 0},
- { XK_KP_8, ShiftMask, "\033[184;2u", 0, 0},
- { XK_KP_9, XK_NO_MOD, "\033Oy", +2, 0},
- { XK_KP_9, ControlMask, "\033[185;5u", 0, 0},
- { XK_KP_9, ControlMask|ShiftMask, "\033[185;6u", 0, 0},
- { XK_KP_9, Mod1Mask, "\033[185;3u", 0, 0},
- { XK_KP_9, Mod1Mask|ControlMask, "\033[185;7u", 0, 0},
- { XK_KP_9, Mod1Mask|ControlMask|ShiftMask, "\033[185;8u", 0, 0},
- { XK_KP_9, Mod1Mask|ShiftMask, "\033[185;4u", 0, 0},
- { XK_KP_9, ShiftMask, "\033[185;2u", 0, 0},
- { XK_BackSpace, ControlMask, "\033[127;5u", 0, 0},
- { XK_BackSpace, ControlMask|ShiftMask, "\033[127;6u", 0, 0},
- { XK_BackSpace, Mod1Mask, "\033[127;3u", 0, 0},
- { XK_BackSpace, Mod1Mask|ControlMask, "\033[127;7u", 0, 0},
- { XK_BackSpace, Mod1Mask|ControlMask|ShiftMask, "\033[127;8u", 0, 0},
- { XK_BackSpace, Mod1Mask|ShiftMask, "\033[127;4u", 0, 0},
- { XK_BackSpace, ShiftMask, "\033[127;2u", 0, 0},
- { XK_Tab, ControlMask, "\033[9;5u", 0, 0},
- { XK_Tab, ControlMask|ShiftMask, "\033[1;5Z", 0, 0},
- { XK_Tab, Mod1Mask, "\033[1;3Z", 0, 0},
- { XK_Tab, Mod1Mask|ControlMask, "\033[1;7Z", 0, 0},
- { XK_Tab, Mod1Mask|ControlMask|ShiftMask, "\033[1;8Z", 0, 0},
- { XK_Tab, Mod1Mask|ShiftMask, "\033[1;4Z", 0, 0},
- { XK_Return, ControlMask, "\033[13;5u", 0, 0},
- { XK_Return, ControlMask|ShiftMask, "\033[13;6u", 0, 0},
- { XK_Return, Mod1Mask, "\033[13;3u", 0, 0},
- { XK_Return, Mod1Mask|ControlMask, "\033[13;7u", 0, 0},
- { XK_Return, Mod1Mask|ControlMask|ShiftMask, "\033[13;8u", 0, 0},
- { XK_Return, Mod1Mask|ShiftMask, "\033[13;4u", 0, 0},
- { XK_Return, ShiftMask, "\033[13;2u", 0, 0},
- { XK_Pause, ControlMask, "\033[18;5u", 0, 0},
- { XK_Pause, ControlMask|ShiftMask, "\033[18;6u", 0, 0},
- { XK_Pause, Mod1Mask, "\033[18;3u", 0, 0},
- { XK_Pause, Mod1Mask|ControlMask, "\033[18;7u", 0, 0},
- { XK_Pause, Mod1Mask|ControlMask|ShiftMask, "\033[18;8u", 0, 0},
- { XK_Pause, Mod1Mask|ShiftMask, "\033[18;4u", 0, 0},
- { XK_Pause, ShiftMask, "\033[18;2u", 0, 0},
- { XK_Scroll_Lock, ControlMask, "\033[20;5u", 0, 0},
- { XK_Scroll_Lock, ControlMask|ShiftMask, "\033[20;6u", 0, 0},
- { XK_Scroll_Lock, Mod1Mask, "\033[20;3u", 0, 0},
- { XK_Scroll_Lock, Mod1Mask|ControlMask, "\033[20;7u", 0, 0},
- { XK_Scroll_Lock, Mod1Mask|ControlMask|ShiftMask, "\033[20;8u", 0, 0},
- { XK_Scroll_Lock, Mod1Mask|ShiftMask, "\033[20;4u", 0, 0},
- { XK_Scroll_Lock, ShiftMask, "\033[20;2u", 0, 0},
- { XK_Escape, ControlMask, "\033[27;5u", 0, 0},
- { XK_Escape, ControlMask|ShiftMask, "\033[27;6u", 0, 0},
- { XK_Escape, Mod1Mask, "\033[27;3u", 0, 0},
- { XK_Escape, Mod1Mask|ControlMask, "\033[27;7u", 0, 0},
- { XK_Escape, Mod1Mask|ControlMask|ShiftMask, "\033[27;8u", 0, 0},
- { XK_Escape, Mod1Mask|ShiftMask, "\033[27;4u", 0, 0},
- { XK_Escape, ShiftMask, "\033[27;2u", 0, 0},
- { XK_Home, XK_NO_MOD, "\033[H", 0, -1},
- { XK_Home, XK_NO_MOD, "\033[1~", 0, +1},
- { XK_Home, ControlMask|ShiftMask, "\033[80;6u", 0, 0},
- { XK_Home, Mod1Mask, "\033[80;3u", 0, 0},
- { XK_Home, Mod1Mask|ControlMask, "\033[80;7u", 0, 0},
- { XK_Home, Mod1Mask|ControlMask|ShiftMask, "\033[80;8u", 0, 0},
- { XK_Home, Mod1Mask|ShiftMask, "\033[80;4u", 0, 0},
- { XK_End, XK_NO_MOD, "\033[4~", 0, 0},
- { XK_End, ControlMask|ShiftMask, "\033[87;6u", 0, 0},
- { XK_End, Mod1Mask, "\033[87;3u", 0, 0},
- { XK_End, Mod1Mask|ControlMask, "\033[87;7u", 0, 0},
- { XK_End, Mod1Mask|ControlMask|ShiftMask, "\033[87;8u", 0, 0},
- { XK_End, Mod1Mask|ShiftMask, "\033[87;4u", 0, 0},
- { XK_Prior, XK_NO_MOD, "\033[5~", 0, 0},
- { XK_Prior, ControlMask|ShiftMask, "\033[85;6u", 0, 0},
- { XK_Prior, Mod1Mask, "\033[85;3u", 0, 0},
- { XK_Prior, Mod1Mask|ControlMask, "\033[85;7u", 0, 0},
- { XK_Prior, Mod1Mask|ControlMask|ShiftMask, "\033[85;8u", 0, 0},
- { XK_Prior, Mod1Mask|ShiftMask, "\033[85;4u", 0, 0},
- { XK_Next, XK_NO_MOD, "\033[6~", 0, 0},
- { XK_Next, ControlMask|ShiftMask, "\033[86;6u", 0, 0},
- { XK_Next, Mod1Mask, "\033[86;3u", 0, 0},
- { XK_Next, Mod1Mask|ControlMask, "\033[86;7u", 0, 0},
- { XK_Next, Mod1Mask|ControlMask|ShiftMask, "\033[86;8u", 0, 0},
- { XK_Next, Mod1Mask|ShiftMask, "\033[86;4u", 0, 0},
- { XK_Print, ControlMask, "\033[97;5u", 0, 0},
- { XK_Print, ControlMask|ShiftMask, "\033[97;6u", 0, 0},
- { XK_Print, Mod1Mask, "\033[97;3u", 0, 0},
- { XK_Print, Mod1Mask|ControlMask, "\033[97;7u", 0, 0},
- { XK_Print, Mod1Mask|ControlMask|ShiftMask, "\033[97;8u", 0, 0},
- { XK_Print, Mod1Mask|ShiftMask, "\033[97;4u", 0, 0},
- { XK_Print, ShiftMask, "\033[97;2u", 0, 0},
- { XK_Insert, XK_NO_MOD, "\033[4h", -1, 0},
- { XK_Insert, XK_NO_MOD, "\033[2~", +1, 0},
- { XK_Insert, ControlMask|ShiftMask, "\033[99;6u", 0, 0},
- { XK_Insert, Mod1Mask, "\033[99;3u", 0, 0},
- { XK_Insert, Mod1Mask|ControlMask, "\033[99;7u", 0, 0},
- { XK_Insert, Mod1Mask|ControlMask|ShiftMask, "\033[99;8u", 0, 0},
- { XK_Insert, Mod1Mask|ShiftMask, "\033[99;4u", 0, 0},
- { XK_Menu, ControlMask, "\033[103;5u", 0, 0},
- { XK_Menu, ControlMask|ShiftMask, "\033[103;6u", 0, 0},
- { XK_Menu, Mod1Mask, "\033[103;3u", 0, 0},
- { XK_Menu, Mod1Mask|ControlMask, "\033[103;7u", 0, 0},
- { XK_Menu, Mod1Mask|ControlMask|ShiftMask, "\033[103;8u", 0, 0},
- { XK_Menu, Mod1Mask|ShiftMask, "\033[103;4u", 0, 0},
- { XK_Menu, ShiftMask, "\033[103;2u", 0, 0},
- { XK_Delete, XK_NO_MOD, "\033[P", -1, 0},
- { XK_Delete, XK_NO_MOD, "\033[3~", +1, 0},
- { XK_Delete, ControlMask|ShiftMask, "\033[255;6u", 0, 0},
- { XK_Delete, Mod1Mask, "\033[255;3u", 0, 0},
- { XK_Delete, Mod1Mask|ControlMask, "\033[255;7u", 0, 0},
- { XK_Delete, Mod1Mask|ControlMask|ShiftMask, "\033[255;8u", 0, 0},
- { XK_Delete, Mod1Mask|ShiftMask, "\033[255;4u", 0, 0},
- { XK_i, ControlMask, "\033[105;5u", 0, 0},
- { XK_i, Mod1Mask|ControlMask, "\033[105;7u", 0, 0},
- { XK_m, ControlMask, "\033[109;5u", 0, 0},
- { XK_m, Mod1Mask|ControlMask, "\033[109;7u", 0, 0},
- { XK_space, ControlMask|ShiftMask, "\033[32;6u", 0, 0},
- { XK_space, Mod1Mask, "\033[32;3u", 0, 0},
- { XK_space, Mod1Mask|ControlMask, "\033[32;7u", 0, 0},
- { XK_space, Mod1Mask|ControlMask|ShiftMask, "\033[32;8u", 0, 0},
- { XK_space, Mod1Mask|ShiftMask, "\033[32;4u", 0, 0},
- { XK_space, ShiftMask, "\033[32;2u", 0, 0},
- { XK_0, ControlMask, "\033[48;5u", 0, 0},
- { XK_A, ControlMask|ShiftMask, "\033[65;6u", 0, 0},
- { XK_B, ControlMask|ShiftMask, "\033[66;6u", 0, 0},
- { XK_C, ControlMask|ShiftMask, "\033[67;6u", 0, 0},
- { XK_D, ControlMask|ShiftMask, "\033[68;6u", 0, 0},
- { XK_E, ControlMask|ShiftMask, "\033[69;6u", 0, 0},
- { XK_F, ControlMask|ShiftMask, "\033[70;6u", 0, 0},
- { XK_G, ControlMask|ShiftMask, "\033[71;6u", 0, 0},
- { XK_H, ControlMask|ShiftMask, "\033[72;6u", 0, 0},
- { XK_I, ControlMask|ShiftMask, "\033[73;6u", 0, 0},
- { XK_I, Mod1Mask|ControlMask|ShiftMask, "\033[73;8u", 0, 0},
- { XK_J, ControlMask|ShiftMask, "\033[75;6u", 0, 0},
- { XK_K, ControlMask|ShiftMask, "\033[74;6u", 0, 0},
- { XK_L, ControlMask|ShiftMask, "\033[76;6u", 0, 0},
- { XK_M, ControlMask|ShiftMask, "\033[77;6u", 0, 0},
- { XK_M, Mod1Mask|ControlMask|ShiftMask, "\033[77;8u", 0, 0},
- { XK_N, ControlMask|ShiftMask, "\033[78;6u", 0, 0},
- { XK_O, ControlMask|ShiftMask, "\033[79;6u", 0, 0},
- { XK_P, ControlMask|ShiftMask, "\033[80;6u", 0, 0},
- { XK_Q, ControlMask|ShiftMask, "\033[81;6u", 0, 0},
- { XK_R, ControlMask|ShiftMask, "\033[82;6u", 0, 0},
- { XK_S, ControlMask|ShiftMask, "\033[83;6u", 0, 0},
- { XK_T, ControlMask|ShiftMask, "\033[84;6u", 0, 0},
- { XK_U, ControlMask|ShiftMask, "\033[85;6u", 0, 0},
- { XK_V, ControlMask|ShiftMask, "\033[86;6u", 0, 0},
- { XK_W, ControlMask|ShiftMask, "\033[87;6u", 0, 0},
- { XK_X, ControlMask|ShiftMask, "\033[88;6u", 0, 0},
- { XK_Y, ControlMask|ShiftMask, "\033[89;6u", 0, 0},
- { XK_Z, ControlMask|ShiftMask, "\033[90;6u", 0, 0},
- { XK_0, Mod1Mask|ControlMask, "\033[48;7u", 0, 0},
- { XK_1, ControlMask, "\033[49;5u", 0, 0},
- { XK_1, Mod1Mask|ControlMask, "\033[49;7u", 0, 0},
- { XK_2, ControlMask, "\033[50;5u", 0, 0},
- { XK_2, Mod1Mask|ControlMask, "\033[50;7u", 0, 0},
- { XK_3, ControlMask, "\033[51;5u", 0, 0},
- { XK_3, Mod1Mask|ControlMask, "\033[51;7u", 0, 0},
- { XK_4, ControlMask, "\033[52;5u", 0, 0},
- { XK_4, Mod1Mask|ControlMask, "\033[52;7u", 0, 0},
- { XK_5, ControlMask, "\033[53;5u", 0, 0},
- { XK_5, Mod1Mask|ControlMask, "\033[53;7u", 0, 0},
- { XK_6, ControlMask, "\033[54;5u", 0, 0},
- { XK_6, Mod1Mask|ControlMask, "\033[54;7u", 0, 0},
- { XK_7, ControlMask, "\033[55;5u", 0, 0},
- { XK_7, Mod1Mask|ControlMask, "\033[55;7u", 0, 0},
- { XK_8, ControlMask, "\033[56;5u", 0, 0},
- { XK_8, Mod1Mask|ControlMask, "\033[56;7u", 0, 0},
- { XK_9, ControlMask, "\033[57;5u", 0, 0},
- { XK_9, Mod1Mask|ControlMask, "\033[57;7u", 0, 0},
- { XK_ampersand, ControlMask, "\033[38;5u", 0, 0},
- { XK_ampersand, ControlMask|ShiftMask, "\033[38;6u", 0, 0},
- { XK_ampersand, Mod1Mask, "\033[38;3u", 0, 0},
- { XK_ampersand, Mod1Mask|ControlMask, "\033[38;7u", 0, 0},
- { XK_ampersand, Mod1Mask|ControlMask|ShiftMask, "\033[38;8u", 0, 0},
- { XK_ampersand, Mod1Mask|ShiftMask, "\033[38;4u", 0, 0},
- { XK_apostrophe, ControlMask, "\033[39;5u", 0, 0},
- { XK_apostrophe, ControlMask|ShiftMask, "\033[39;6u", 0, 0},
- { XK_apostrophe, Mod1Mask, "\033[39;3u", 0, 0},
- { XK_apostrophe, Mod1Mask|ControlMask, "\033[39;7u", 0, 0},
- { XK_apostrophe, Mod1Mask|ControlMask|ShiftMask, "\033[39;8u", 0, 0},
- { XK_apostrophe, Mod1Mask|ShiftMask, "\033[39;4u", 0, 0},
- { XK_asciicircum, ControlMask, "\033[94;5u", 0, 0},
- { XK_asciicircum, ControlMask|ShiftMask, "\033[94;6u", 0, 0},
- { XK_asciicircum, Mod1Mask, "\033[94;3u", 0, 0},
- { XK_asciicircum, Mod1Mask|ControlMask, "\033[94;7u", 0, 0},
- { XK_asciicircum, Mod1Mask|ControlMask|ShiftMask, "\033[94;8u", 0, 0},
- { XK_asciicircum, Mod1Mask|ShiftMask, "\033[94;4u", 0, 0},
- { XK_asciitilde, ControlMask, "\033[126;5u", 0, 0},
- { XK_asciitilde, ControlMask|ShiftMask, "\033[126;6u", 0, 0},
- { XK_asciitilde, Mod1Mask, "\033[126;3u", 0, 0},
- { XK_asciitilde, Mod1Mask|ControlMask, "\033[126;7u", 0, 0},
- { XK_asciitilde, Mod1Mask|ControlMask|ShiftMask, "\033[126;8u", 0, 0},
- { XK_asciitilde, Mod1Mask|ShiftMask, "\033[126;4u", 0, 0},
- { XK_asterisk, ControlMask, "\033[42;5u", 0, 0},
- { XK_asterisk, ControlMask|ShiftMask, "\033[42;6u", 0, 0},
- { XK_asterisk, Mod1Mask, "\033[42;3u", 0, 0},
- { XK_asterisk, Mod1Mask|ControlMask, "\033[42;7u", 0, 0},
- { XK_asterisk, Mod1Mask|ControlMask|ShiftMask, "\033[42;8u", 0, 0},
- { XK_asterisk, Mod1Mask|ShiftMask, "\033[42;4u", 0, 0},
- { XK_at, ControlMask, "\033[64;5u", 0, 0},
- { XK_at, ControlMask|ShiftMask, "\033[64;6u", 0, 0},
- { XK_at, Mod1Mask, "\033[64;3u", 0, 0},
- { XK_at, Mod1Mask|ControlMask, "\033[64;7u", 0, 0},
- { XK_at, Mod1Mask|ControlMask|ShiftMask, "\033[64;8u", 0, 0},
- { XK_at, Mod1Mask|ShiftMask, "\033[64;4u", 0, 0},
- { XK_backslash, ControlMask, "\033[92;5u", 0, 0},
- { XK_backslash, ControlMask|ShiftMask, "\033[92;6u", 0, 0},
- { XK_backslash, Mod1Mask, "\033[92;3u", 0, 0},
- { XK_backslash, Mod1Mask|ControlMask, "\033[92;7u", 0, 0},
- { XK_backslash, Mod1Mask|ControlMask|ShiftMask, "\033[92;8u", 0, 0},
- { XK_backslash, Mod1Mask|ShiftMask, "\033[92;4u", 0, 0},
- { XK_bar, ControlMask, "\033[124;5u", 0, 0},
- { XK_bar, ControlMask|ShiftMask, "\033[124;6u", 0, 0},
- { XK_bar, Mod1Mask, "\033[124;3u", 0, 0},
- { XK_bar, Mod1Mask|ControlMask, "\033[124;7u", 0, 0},
- { XK_bar, Mod1Mask|ControlMask|ShiftMask, "\033[124;8u", 0, 0},
- { XK_bar, Mod1Mask|ShiftMask, "\033[124;4u", 0, 0},
- { XK_braceleft, ControlMask, "\033[123;5u", 0, 0},
- { XK_braceleft, ControlMask|ShiftMask, "\033[123;6u", 0, 0},
- { XK_braceleft, Mod1Mask, "\033[123;3u", 0, 0},
- { XK_braceleft, Mod1Mask|ControlMask, "\033[123;7u", 0, 0},
- { XK_braceleft, Mod1Mask|ControlMask|ShiftMask, "\033[123;8u", 0, 0},
- { XK_braceleft, Mod1Mask|ShiftMask, "\033[123;4u", 0, 0},
- { XK_braceright, ControlMask, "\033[125;5u", 0, 0},
- { XK_braceright, ControlMask|ShiftMask, "\033[125;6u", 0, 0},
- { XK_braceright, Mod1Mask, "\033[125;3u", 0, 0},
- { XK_braceright, Mod1Mask|ControlMask, "\033[125;7u", 0, 0},
- { XK_braceright, Mod1Mask|ControlMask|ShiftMask, "\033[125;8u", 0, 0},
- { XK_braceright, Mod1Mask|ShiftMask, "\033[125;4u", 0, 0},
- { XK_bracketleft, ControlMask, "\033[91;5u", 0, 0},
- { XK_bracketleft, ControlMask|ShiftMask, "\033[91;6u", 0, 0},
- { XK_bracketleft, Mod1Mask, "\033[91;3u", 0, 0},
- { XK_bracketleft, Mod1Mask|ControlMask, "\033[91;7u", 0, 0},
- { XK_bracketleft, Mod1Mask|ControlMask|ShiftMask, "\033[91;8u", 0, 0},
- { XK_bracketleft, Mod1Mask|ShiftMask, "\033[91;4u", 0, 0},
- { XK_bracketright, ControlMask, "\033[93;5u", 0, 0},
- { XK_bracketright, ControlMask|ShiftMask, "\033[93;6u", 0, 0},
- { XK_bracketright, Mod1Mask, "\033[93;3u", 0, 0},
- { XK_bracketright, Mod1Mask|ControlMask, "\033[93;7u", 0, 0},
- { XK_bracketright, Mod1Mask|ControlMask|ShiftMask, "\033[93;8u", 0, 0},
- { XK_bracketright, Mod1Mask|ShiftMask, "\033[93;4u", 0, 0},
- { XK_colon, ControlMask, "\033[58;5u", 0, 0},
- { XK_colon, ControlMask|ShiftMask, "\033[58;6u", 0, 0},
- { XK_colon, Mod1Mask, "\033[58;3u", 0, 0},
- { XK_colon, Mod1Mask|ControlMask, "\033[58;7u", 0, 0},
- { XK_colon, Mod1Mask|ControlMask|ShiftMask, "\033[58;8u", 0, 0},
- { XK_colon, Mod1Mask|ShiftMask, "\033[58;4u", 0, 0},
- { XK_comma, ControlMask, "\033[44;5u", 0, 0},
- { XK_comma, ControlMask|ShiftMask, "\033[44;6u", 0, 0},
- { XK_comma, Mod1Mask, "\033[44;3u", 0, 0},
- { XK_comma, Mod1Mask|ControlMask, "\033[44;7u", 0, 0},
- { XK_comma, Mod1Mask|ControlMask|ShiftMask, "\033[44;8u", 0, 0},
- { XK_comma, Mod1Mask|ShiftMask, "\033[44;4u", 0, 0},
- { XK_dollar, ControlMask, "\033[36;5u", 0, 0},
- { XK_dollar, ControlMask|ShiftMask, "\033[36;6u", 0, 0},
- { XK_dollar, Mod1Mask, "\033[36;3u", 0, 0},
- { XK_dollar, Mod1Mask|ControlMask, "\033[36;7u", 0, 0},
- { XK_dollar, Mod1Mask|ControlMask|ShiftMask, "\033[36;8u", 0, 0},
- { XK_dollar, Mod1Mask|ShiftMask, "\033[36;4u", 0, 0},
- { XK_equal, ControlMask, "\033[61;5u", 0, 0},
- { XK_equal, ControlMask|ShiftMask, "\033[61;6u", 0, 0},
- { XK_equal, Mod1Mask, "\033[61;3u", 0, 0},
- { XK_equal, Mod1Mask|ControlMask, "\033[61;7u", 0, 0},
- { XK_equal, Mod1Mask|ControlMask|ShiftMask, "\033[61;8u", 0, 0},
- { XK_equal, Mod1Mask|ShiftMask, "\033[61;4u", 0, 0},
- { XK_exclam, ControlMask, "\033[33;5u", 0, 0},
- { XK_exclam, ControlMask|ShiftMask, "\033[33;6u", 0, 0},
- { XK_exclam, Mod1Mask, "\033[33;3u", 0, 0},
- { XK_exclam, Mod1Mask|ControlMask, "\033[33;7u", 0, 0},
- { XK_exclam, Mod1Mask|ControlMask|ShiftMask, "\033[33;8u", 0, 0},
- { XK_exclam, Mod1Mask|ShiftMask, "\033[33;4u", 0, 0},
- { XK_grave, ControlMask, "\033[96;5u", 0, 0},
- { XK_grave, ControlMask|ShiftMask, "\033[96;6u", 0, 0},
- { XK_grave, Mod1Mask, "\033[96;3u", 0, 0},
- { XK_grave, Mod1Mask|ControlMask, "\033[96;7u", 0, 0},
- { XK_grave, Mod1Mask|ControlMask|ShiftMask, "\033[96;8u", 0, 0},
- { XK_grave, Mod1Mask|ShiftMask, "\033[96;4u", 0, 0},
- { XK_greater, ControlMask, "\033[62;5u", 0, 0},
- { XK_greater, ControlMask|ShiftMask, "\033[62;6u", 0, 0},
- { XK_greater, Mod1Mask, "\033[62;3u", 0, 0},
- { XK_greater, Mod1Mask|ControlMask, "\033[62;7u", 0, 0},
- { XK_greater, Mod1Mask|ControlMask|ShiftMask, "\033[62;8u", 0, 0},
- { XK_greater, Mod1Mask|ShiftMask, "\033[62;4u", 0, 0},
- { XK_less, ControlMask, "\033[60;5u", 0, 0},
- { XK_less, ControlMask|ShiftMask, "\033[60;6u", 0, 0},
- { XK_less, Mod1Mask, "\033[60;3u", 0, 0},
- { XK_less, Mod1Mask|ControlMask, "\033[60;7u", 0, 0},
- { XK_less, Mod1Mask|ControlMask|ShiftMask, "\033[60;8u", 0, 0},
- { XK_less, Mod1Mask|ShiftMask, "\033[60;4u", 0, 0},
- { XK_minus, ControlMask, "\033[45;5u", 0, 0},
- { XK_minus, ControlMask|ShiftMask, "\033[45;6u", 0, 0},
- { XK_minus, Mod1Mask, "\033[45;3u", 0, 0},
- { XK_minus, Mod1Mask|ControlMask, "\033[45;7u", 0, 0},
- { XK_minus, Mod1Mask|ControlMask|ShiftMask, "\033[45;8u", 0, 0},
- { XK_minus, Mod1Mask|ShiftMask, "\033[45;4u", 0, 0},
- { XK_numbersign, ControlMask, "\033[35;5u", 0, 0},
- { XK_numbersign, ControlMask|ShiftMask, "\033[35;6u", 0, 0},
- { XK_numbersign, Mod1Mask, "\033[35;3u", 0, 0},
- { XK_numbersign, Mod1Mask|ControlMask, "\033[35;7u", 0, 0},
- { XK_numbersign, Mod1Mask|ControlMask|ShiftMask, "\033[35;8u", 0, 0},
- { XK_numbersign, Mod1Mask|ShiftMask, "\033[35;4u", 0, 0},
- { XK_parenleft, ControlMask, "\033[40;5u", 0, 0},
- { XK_parenleft, ControlMask|ShiftMask, "\033[40;6u", 0, 0},
- { XK_parenleft, Mod1Mask, "\033[40;3u", 0, 0},
- { XK_parenleft, Mod1Mask|ControlMask, "\033[40;7u", 0, 0},
- { XK_parenleft, Mod1Mask|ControlMask|ShiftMask, "\033[40;8u", 0, 0},
- { XK_parenleft, Mod1Mask|ShiftMask, "\033[40;4u", 0, 0},
- { XK_parenright, ControlMask, "\033[41;5u", 0, 0},
- { XK_parenright, ControlMask|ShiftMask, "\033[41;6u", 0, 0},
- { XK_parenright, Mod1Mask, "\033[41;3u", 0, 0},
- { XK_parenright, Mod1Mask|ControlMask, "\033[41;7u", 0, 0},
- { XK_parenright, Mod1Mask|ControlMask|ShiftMask, "\033[41;8u", 0, 0},
- { XK_parenright, Mod1Mask|ShiftMask, "\033[41;4u", 0, 0},
- { XK_percent, ControlMask, "\033[37;5u", 0, 0},
- { XK_percent, ControlMask|ShiftMask, "\033[37;6u", 0, 0},
- { XK_percent, Mod1Mask, "\033[37;3u", 0, 0},
- { XK_percent, Mod1Mask|ControlMask, "\033[37;7u", 0, 0},
- { XK_percent, Mod1Mask|ControlMask|ShiftMask, "\033[37;8u", 0, 0},
- { XK_percent, Mod1Mask|ShiftMask, "\033[37;4u", 0, 0},
- { XK_period, ControlMask, "\033[46;5u", 0, 0},
- { XK_period, ControlMask|ShiftMask, "\033[46;6u", 0, 0},
- { XK_period, Mod1Mask|ControlMask, "\033[46;7u", 0, 0},
- { XK_period, Mod1Mask|ControlMask|ShiftMask, "\033[46;8u", 0, 0},
- { XK_period, Mod1Mask|ShiftMask, "\033[46;4u", 0, 0},
- { XK_plus, ControlMask, "\033[43;5u", 0, 0},
- { XK_plus, ControlMask|ShiftMask, "\033[43;6u", 0, 0},
- { XK_plus, Mod1Mask, "\033[43;3u", 0, 0},
- { XK_plus, Mod1Mask|ControlMask, "\033[43;7u", 0, 0},
- { XK_plus, Mod1Mask|ControlMask|ShiftMask, "\033[43;8u", 0, 0},
- { XK_plus, Mod1Mask|ShiftMask, "\033[43;4u", 0, 0},
- { XK_question, ControlMask, "\033[63;5u", 0, 0},
- { XK_question, ControlMask|ShiftMask, "\033[63;6u", 0, 0},
- { XK_question, Mod1Mask, "\033[63;3u", 0, 0},
- { XK_question, Mod1Mask|ControlMask, "\033[63;7u", 0, 0},
- { XK_question, Mod1Mask|ControlMask|ShiftMask, "\033[63;8u", 0, 0},
- { XK_question, Mod1Mask|ShiftMask, "\033[63;4u", 0, 0},
- { XK_quotedbl, ControlMask, "\033[34;5u", 0, 0},
- { XK_quotedbl, ControlMask|ShiftMask, "\033[34;6u", 0, 0},
- { XK_quotedbl, Mod1Mask, "\033[34;3u", 0, 0},
- { XK_quotedbl, Mod1Mask|ControlMask, "\033[34;7u", 0, 0},
- { XK_quotedbl, Mod1Mask|ControlMask|ShiftMask, "\033[34;8u", 0, 0},
- { XK_quotedbl, Mod1Mask|ShiftMask, "\033[34;4u", 0, 0},
- { XK_semicolon, ControlMask, "\033[59;5u", 0, 0},
- { XK_semicolon, ControlMask|ShiftMask, "\033[59;6u", 0, 0},
- { XK_semicolon, Mod1Mask, "\033[59;3u", 0, 0},
- { XK_semicolon, Mod1Mask|ControlMask, "\033[59;7u", 0, 0},
- { XK_semicolon, Mod1Mask|ControlMask|ShiftMask, "\033[59;8u", 0, 0},
- { XK_semicolon, Mod1Mask|ShiftMask, "\033[59;4u", 0, 0},
- { XK_slash, ControlMask|ShiftMask, "\033[47;6u", 0, 0},
- { XK_slash, Mod1Mask, "\033[47;3u", 0, 0},
- { XK_slash, Mod1Mask|ControlMask, "\033[47;7u", 0, 0},
- { XK_slash, Mod1Mask|ControlMask|ShiftMask, "\033[47;8u", 0, 0},
- { XK_slash, Mod1Mask|ShiftMask, "\033[47;4u", 0, 0},
- { XK_underscore, ControlMask, "\033[95;5u", 0, 0},
- { XK_underscore, ControlMask|ShiftMask, "\033[95;6u", 0, 0},
- { XK_underscore, Mod1Mask, "\033[95;3u", 0, 0},
- { XK_underscore, Mod1Mask|ControlMask, "\033[95;7u", 0, 0},
- { XK_underscore, Mod1Mask|ControlMask|ShiftMask, "\033[95;8u", 0, 0},
- { XK_underscore, Mod1Mask|ShiftMask, "\033[95;4u", 0, 0},
-}; \ No newline at end of file
diff --git a/oldresources/st/patch/font2.c b/oldresources/st/patch/font2.c
deleted file mode 100644
index 9fc0e2d..0000000
--- a/oldresources/st/patch/font2.c
+++ /dev/null
@@ -1,104 +0,0 @@
-int
-xloadsparefont(FcPattern *pattern, int flags)
-{
- FcPattern *match;
- FcResult result;
-
- #if USE_XFTFONTMATCH_PATCH
- match = XftFontMatch(xw.dpy, xw.scr, pattern, &result);
- #else
- match = FcFontMatch(NULL, pattern, &result);
- #endif // USE_XFTFONTMATCH_PATCH
- if (!match) {
- return 1;
- }
-
- if (!(frc[frclen].font = XftFontOpenPattern(xw.dpy, match))) {
- FcPatternDestroy(match);
- return 1;
- }
-
- frc[frclen].flags = flags;
- /* Believe U+0000 glyph will present in each default font */
- frc[frclen].unicodep = 0;
- frclen++;
-
- return 0;
-}
-
-void
-xloadsparefonts(void)
-{
- FcPattern *pattern;
- double fontval;
- int fc;
- char **fp;
-
- if (frclen != 0)
- die("can't embed spare fonts. cache isn't empty");
-
- /* Calculate count of spare fonts */
- fc = sizeof(font2) / sizeof(*font2);
- if (fc == 0)
- return;
-
- /* Allocate memory for cache entries. */
- if (frccap < 4 * fc) {
- frccap += 4 * fc - frccap;
- frc = xrealloc(frc, frccap * sizeof(Fontcache));
- }
-
- for (fp = font2; fp - font2 < fc; ++fp) {
-
- if (**fp == '-')
- pattern = XftXlfdParse(*fp, False, False);
- else
- pattern = FcNameParse((FcChar8 *)*fp);
-
- if (!pattern)
- die("can't open spare font %s\n", *fp);
-
- if (defaultfontsize > 0 && defaultfontsize != usedfontsize) {
- if (FcPatternGetDouble(pattern, FC_PIXEL_SIZE, 0, &fontval) ==
- FcResultMatch) {
- fontval *= usedfontsize / defaultfontsize;
- FcPatternDel(pattern, FC_PIXEL_SIZE);
- FcPatternDel(pattern, FC_SIZE);
- FcPatternAddDouble(pattern, FC_PIXEL_SIZE, fontval);
- } else if (FcPatternGetDouble(pattern, FC_SIZE, 0, &fontval) ==
- FcResultMatch) {
- fontval *= usedfontsize / defaultfontsize;
- FcPatternDel(pattern, FC_PIXEL_SIZE);
- FcPatternDel(pattern, FC_SIZE);
- FcPatternAddDouble(pattern, FC_SIZE, fontval);
- }
- }
-
- FcPatternAddBool(pattern, FC_SCALABLE, 1);
-
- #if !USE_XFTFONTMATCH_PATCH
- FcConfigSubstitute(NULL, pattern, FcMatchPattern);
- XftDefaultSubstitute(xw.dpy, xw.scr, pattern);
- #endif // USE_XFTFONTMATCH_PATCH
-
- if (xloadsparefont(pattern, FRC_NORMAL))
- die("can't open spare font %s\n", *fp);
-
- FcPatternDel(pattern, FC_SLANT);
- FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC);
- if (xloadsparefont(pattern, FRC_ITALIC))
- die("can't open spare font %s\n", *fp);
-
- FcPatternDel(pattern, FC_WEIGHT);
- FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD);
- if (xloadsparefont(pattern, FRC_ITALICBOLD))
- die("can't open spare font %s\n", *fp);
-
- FcPatternDel(pattern, FC_SLANT);
- FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN);
- if (xloadsparefont(pattern, FRC_BOLD))
- die("can't open spare font %s\n", *fp);
-
- FcPatternDestroy(pattern);
- }
-} \ No newline at end of file
diff --git a/oldresources/st/patch/font2.h b/oldresources/st/patch/font2.h
deleted file mode 100644
index c0f9ff5..0000000
--- a/oldresources/st/patch/font2.h
+++ /dev/null
@@ -1,2 +0,0 @@
-static int xloadsparefont(FcPattern *, int);
-static void xloadsparefonts(void); \ No newline at end of file
diff --git a/oldresources/st/patch/fullscreen_x.c b/oldresources/st/patch/fullscreen_x.c
deleted file mode 100644
index 3fa65f7..0000000
--- a/oldresources/st/patch/fullscreen_x.c
+++ /dev/null
@@ -1,17 +0,0 @@
-void
-fullscreen(const Arg *arg)
-{
- XEvent ev;
-
- memset(&ev, 0, sizeof(ev));
-
- ev.xclient.type = ClientMessage;
- ev.xclient.message_type = xw.netwmstate;
- ev.xclient.display = xw.dpy;
- ev.xclient.window = xw.win;
- ev.xclient.format = 32;
- ev.xclient.data.l[0] = 2; /* _NET_WM_STATE_TOGGLE */
- ev.xclient.data.l[1] = xw.netwmfullscreen;
-
- XSendEvent(xw.dpy, DefaultRootWindow(xw.dpy), False, SubstructureNotifyMask|SubstructureRedirectMask, &ev);
-}
diff --git a/oldresources/st/patch/fullscreen_x.h b/oldresources/st/patch/fullscreen_x.h
deleted file mode 100644
index 28a833b..0000000
--- a/oldresources/st/patch/fullscreen_x.h
+++ /dev/null
@@ -1 +0,0 @@
-static void fullscreen(const Arg *arg);
diff --git a/oldresources/st/patch/invert.c b/oldresources/st/patch/invert.c
deleted file mode 100644
index 2260b5d..0000000
--- a/oldresources/st/patch/invert.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static int invertcolors = 0;
-
-void
-invert(const Arg *dummy)
-{
- invertcolors = !invertcolors;
- redraw();
-}
-
-Color
-invertedcolor(Color *clr)
-{
- XRenderColor rc;
- Color inverted;
- rc.red = ~clr->color.red;
- rc.green = ~clr->color.green;
- rc.blue = ~clr->color.blue;
- rc.alpha = clr->color.alpha;
- XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &rc, &inverted);
- return inverted;
-} \ No newline at end of file
diff --git a/oldresources/st/patch/invert.h b/oldresources/st/patch/invert.h
deleted file mode 100644
index 0b0931f..0000000
--- a/oldresources/st/patch/invert.h
+++ /dev/null
@@ -1 +0,0 @@
-static void invert(const Arg *); \ No newline at end of file
diff --git a/oldresources/st/patch/iso14755.c b/oldresources/st/patch/iso14755.c
deleted file mode 100644
index a2fbd79..0000000
--- a/oldresources/st/patch/iso14755.c
+++ /dev/null
@@ -1,21 +0,0 @@
-void
-iso14755(const Arg *arg)
-{
- FILE *p;
- char *us, *e, codepoint[9], uc[UTF_SIZ];
- unsigned long utf32;
-
- if (!(p = popen(ISO14755CMD, "r")))
- return;
-
- us = fgets(codepoint, sizeof(codepoint), p);
- pclose(p);
-
- if (!us || *us == '\0' || *us == '-' || strlen(us) > 7)
- return;
- if ((utf32 = strtoul(us, &e, 16)) == ULONG_MAX ||
- (*e != '\n' && *e != '\0'))
- return;
-
- ttywrite(uc, utf8encode(utf32, uc), 1);
-} \ No newline at end of file
diff --git a/oldresources/st/patch/iso14755.h b/oldresources/st/patch/iso14755.h
deleted file mode 100644
index 45a3d7a..0000000
--- a/oldresources/st/patch/iso14755.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#define NUMMAXLEN(x) ((int)(sizeof(x) * 2.56 + 0.5) + 1)
-
-/* constants */
-#define ISO14755CMD "dmenu -w \"$WINDOWID\" -p codepoint: </dev/null"
-
-void iso14755(const Arg *); \ No newline at end of file
diff --git a/oldresources/st/patch/keyboardselect_st.c b/oldresources/st/patch/keyboardselect_st.c
deleted file mode 100644
index 7599d9d..0000000
--- a/oldresources/st/patch/keyboardselect_st.c
+++ /dev/null
@@ -1,240 +0,0 @@
-void set_notifmode(int type, KeySym ksym)
-{
- static char *lib[] = { " MOVE ", " SEL "};
- static Glyph *g, *deb, *fin;
- static int col, bot;
-
- if (ksym == -1) {
- free(g);
- col = term.col, bot = term.bot;
- g = xmalloc(col * sizeof(Glyph));
- memcpy(g, term.line[bot], col * sizeof(Glyph));
-
- } else if (ksym == -2)
- memcpy(term.line[bot], g, col * sizeof(Glyph));
-
- if ( type < 2 ) {
- char *z = lib[type];
- for (deb = &term.line[bot][col - 6], fin = &term.line[bot][col]; deb < fin; z++, deb++)
- deb->mode = ATTR_REVERSE,
- deb->u = *z,
- deb->fg = defaultfg, deb->bg = defaultbg;
- } else if (type < 5)
- memcpy(term.line[bot], g, col * sizeof(Glyph));
- else {
- for (deb = &term.line[bot][0], fin = &term.line[bot][col]; deb < fin; deb++)
- deb->mode = ATTR_REVERSE,
- deb->u = ' ',
- deb->fg = defaultfg, deb->bg = defaultbg;
- term.line[bot][0].u = ksym;
- }
-
- term.dirty[bot] = 1;
- drawregion(0, bot, col, bot + 1);
-}
-
-#if SCROLLBACK_PATCH && KEYBOARDSELECT_PATCH
-Glyph getglyph(Term term, int y, int x)
-{
- Glyph g;
- int realy = y - term.scr;
- if(realy >= 0) {
- g = term.line[realy][x];
- } else {
- realy = term.histi - term.scr + y + 1;
- g = term.hist[realy][x];
- }
- return g;
-}
-#endif
-
-void select_or_drawcursor(int selectsearch_mode, int type)
-{
- int done = 0;
-
- if (selectsearch_mode & 1) {
- selextend(term.c.x, term.c.y, type, done);
- xsetsel(getsel());
- } else {
- #if LIGATURES_PATCH
- xdrawcursor(term.c.x, term.c.y, term.line[term.c.y][term.c.x],
- term.ocx, term.ocy, term.line[term.ocy][term.ocx],
- term.line[term.ocy], term.col);
- #elif SCROLLBACK_PATCH && KEYBOARDSELECT_PATCH
- xdrawcursor(term.c.x, term.c.y, getglyph(term, term.c.y, term.c.x),
- term.ocx, term.ocy, getglyph(term, term.ocy, term.ocx));
- #else
- xdrawcursor(term.c.x, term.c.y, term.line[term.c.y][term.c.x],
- term.ocx, term.ocy, term.line[term.ocy][term.ocx]);
- #endif // LIGATURES_PATCH
- }
-}
-
-void search(int selectsearch_mode, Rune *target, int ptarget, int incr, int type, TCursor *cu)
-{
- Rune *r;
- int i, bound = (term.col * cu->y + cu->x) * (incr > 0) + incr;
-
- for (i = term.col * term.c.y + term.c.x + incr; i != bound; i += incr) {
- for (r = target; r - target < ptarget; r++) {
- if (*r == term.line[(i + r - target) / term.col][(i + r - target) % term.col].u) {
- if (r - target == ptarget - 1)
- break;
- } else {
- r = NULL;
- break;
- }
- }
- if (r != NULL)
- break;
- }
-
- if (i != bound) {
- term.c.y = i / term.col, term.c.x = i % term.col;
- select_or_drawcursor(selectsearch_mode, type);
- }
-}
-
-int trt_kbdselect(KeySym ksym, char *buf, int len)
-{
- static TCursor cu;
- static Rune target[64];
- static int type = 1, ptarget, in_use;
- static int sens, quant;
- static char selectsearch_mode;
- int i, bound, *xy;
-
- if (selectsearch_mode & 2) {
- if (ksym == XK_Return) {
- selectsearch_mode ^= 2;
- set_notifmode(selectsearch_mode, -2);
- if (ksym == XK_Escape)
- ptarget = 0;
- return 0;
- } else if (ksym == XK_BackSpace) {
- if (!ptarget)
- return 0;
- term.line[term.bot][ptarget--].u = ' ';
- } else if (len < 1) {
- return 0;
- } else if (ptarget == term.col || ksym == XK_Escape) {
- return 0;
- } else {
- utf8decode(buf, &target[ptarget++], len);
- term.line[term.bot][ptarget].u = target[ptarget - 1];
- }
-
- if (ksym != XK_BackSpace)
- search(selectsearch_mode, &target[0], ptarget, sens, type, &cu);
-
- term.dirty[term.bot] = 1;
- drawregion(0, term.bot, term.col, term.bot + 1);
- return 0;
- }
-
- switch (ksym) {
- case -1:
- in_use = 1;
- cu.x = term.c.x, cu.y = term.c.y;
- set_notifmode(0, ksym);
- return MODE_KBDSELECT;
- case XK_s:
- if (selectsearch_mode & 1)
- selclear();
- else
- selstart(term.c.x, term.c.y, 0);
- set_notifmode(selectsearch_mode ^= 1, ksym);
- break;
- case XK_t:
- selextend(term.c.x, term.c.y, type ^= 3, i = 0); /* 2 fois */
- selextend(term.c.x, term.c.y, type, i = 0);
- break;
- case XK_slash:
- case XK_KP_Divide:
- case XK_question:
- ksym &= XK_question; /* Divide to slash */
- sens = (ksym == XK_slash) ? -1 : 1;
- ptarget = 0;
- set_notifmode(15, ksym);
- selectsearch_mode ^= 2;
- break;
- case XK_Escape:
- if (!in_use)
- break;
- selclear();
- case XK_Return:
- set_notifmode(4, ksym);
- term.c.x = cu.x, term.c.y = cu.y;
- select_or_drawcursor(selectsearch_mode = 0, type);
- in_use = quant = 0;
- return MODE_KBDSELECT;
- case XK_n:
- case XK_N:
- if (ptarget)
- search(selectsearch_mode, &target[0], ptarget, (ksym == XK_n) ? -1 : 1, type, &cu);
- break;
- case XK_BackSpace:
- term.c.x = 0;
- select_or_drawcursor(selectsearch_mode, type);
- break;
- case XK_dollar:
- term.c.x = term.col - 1;
- select_or_drawcursor(selectsearch_mode, type);
- break;
- case XK_Home:
- term.c.x = 0, term.c.y = 0;
- select_or_drawcursor(selectsearch_mode, type);
- break;
- case XK_End:
- term.c.x = cu.x, term.c.y = cu.y;
- select_or_drawcursor(selectsearch_mode, type);
- break;
- case XK_Page_Up:
- case XK_Page_Down:
- term.c.y = (ksym == XK_Prior ) ? 0 : cu.y;
- select_or_drawcursor(selectsearch_mode, type);
- break;
- case XK_exclam:
- term.c.x = term.col >> 1;
- select_or_drawcursor(selectsearch_mode, type);
- break;
- case XK_asterisk:
- case XK_KP_Multiply:
- term.c.x = term.col >> 1;
- case XK_underscore:
- term.c.y = cu.y >> 1;
- select_or_drawcursor(selectsearch_mode, type);
- break;
- default:
- if (ksym >= XK_0 && ksym <= XK_9) { /* 0-9 keyboard */
- quant = (quant * 10) + (ksym ^ XK_0);
- return 0;
- } else if (ksym >= XK_KP_0 && ksym <= XK_KP_9) { /* 0-9 numpad */
- quant = (quant * 10) + (ksym ^ XK_KP_0);
- return 0;
- } else if (ksym == XK_k || ksym == XK_h)
- i = ksym & 1;
- else if (ksym == XK_l || ksym == XK_j)
- i = ((ksym & 6) | 4) >> 1;
- else if ((XK_Home & ksym) != XK_Home || (i = (ksym ^ XK_Home) - 1) > 3)
- break;
-
- xy = (i & 1) ? &term.c.y : &term.c.x;
- sens = (i & 2) ? 1 : -1;
- bound = (i >> 1 ^ 1) ? 0 : (i ^ 3) ? term.col - 1 : term.bot;
-
- if (quant == 0)
- quant++;
-
- if (*xy == bound && ((sens < 0 && bound == 0) || (sens > 0 && bound > 0)))
- break;
-
- *xy += quant * sens;
- if (*xy < 0 || ( bound > 0 && *xy > bound))
- *xy = bound;
-
- select_or_drawcursor(selectsearch_mode, type);
- }
- quant = 0;
- return 0;
-}
diff --git a/oldresources/st/patch/keyboardselect_st.h b/oldresources/st/patch/keyboardselect_st.h
deleted file mode 100644
index 3fa1ad7..0000000
--- a/oldresources/st/patch/keyboardselect_st.h
+++ /dev/null
@@ -1,2 +0,0 @@
-void toggle_winmode(int);
-int trt_kbdselect(KeySym, char *, int); \ No newline at end of file
diff --git a/oldresources/st/patch/keyboardselect_x.c b/oldresources/st/patch/keyboardselect_x.c
deleted file mode 100644
index 16af3e1..0000000
--- a/oldresources/st/patch/keyboardselect_x.c
+++ /dev/null
@@ -1,7 +0,0 @@
-void toggle_winmode(int flag) {
- win.mode ^= flag;
-}
-
-void keyboard_select(const Arg *dummy) {
- win.mode ^= trt_kbdselect(-1, NULL, 0);
-} \ No newline at end of file
diff --git a/oldresources/st/patch/keyboardselect_x.h b/oldresources/st/patch/keyboardselect_x.h
deleted file mode 100644
index 6b1241a..0000000
--- a/oldresources/st/patch/keyboardselect_x.h
+++ /dev/null
@@ -1,2 +0,0 @@
-void toggle_winmode(int);
-void keyboard_select(const Arg *); \ No newline at end of file
diff --git a/oldresources/st/patch/netwmicon.h b/oldresources/st/patch/netwmicon.h
deleted file mode 100644
index 5e9c654..0000000
--- a/oldresources/st/patch/netwmicon.h
+++ /dev/null
@@ -1,686 +0,0 @@
-unsigned long icon[] = {
- 64, 64,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03000000,
- 0x20181818, 0x4e868686, 0x74b2b2b2, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x74b2b2b2,
- 0x4e868686, 0x20181818, 0x03000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x03000000, 0x46717171, 0xcef3f3f3, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xcdf3f3f3,
- 0x456f6f6f, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x211f1f1f, 0xd1f4f4f4, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xd0f3f3f3, 0x20181818,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x59959595, 0xffffffff,
- 0xffffffff, 0xff8b8b8b, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff8c8c8c, 0xffffffff, 0xffffffff, 0x58919191, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x83b3b3b3, 0xffffffff, 0xffffffff, 0xff262626,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff262626, 0xffffffff,
- 0xffffffff, 0x83b3b3b3, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff2c2c2c, 0xffe0e0e0, 0xff1c1c1c, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff202020,
- 0xff6c6c6c, 0xffffffff, 0xff6d6d6d, 0xff3c3c3c, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff2d2d2d, 0xffe1e1e1, 0xffc3c3c3, 0xffffffff,
- 0xffa1a1a1, 0xffdddddd, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff7f7f7f, 0xffbfbfbf, 0xff303030, 0xffffffff, 0xff1c1c1c, 0xff181818,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff717171, 0xffe1e1e1,
- 0xff545454, 0xffffffff, 0xff1c1c1c, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff1c1c1c, 0xffa1a1a1, 0xfff6f6f6, 0xffffffff,
- 0xffaeaeae, 0xff515151, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff343434, 0xffffffff, 0xff979797, 0xfff9f9f9,
- 0xff515151, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff303030, 0xffffffff, 0xff1c1c1c, 0xffb3b3b3, 0xff8d8d8d, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff686868, 0xff616161, 0xff3c3c3c, 0xffffffff,
- 0xff545454, 0xffe8e8e8, 0xff5b5b5b, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff4b4b4b, 0xffb3b3b3, 0xffe1e1e1, 0xffffffff, 0xffcccccc, 0xff717171,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff303030, 0xffffffff, 0xff1c1c1c, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff2b2b2b, 0xffd1d1d1,
- 0xff1c1c1c, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff7f7f7f, 0xffe9e9e9, 0xffe9e9e9, 0xffe9e9e9, 0xffe9e9e9,
- 0xffe9e9e9, 0xffe9e9e9, 0xff444444, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8aacacac, 0xffffffff, 0xffffffff, 0xff262626,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff262626, 0xffffffff,
- 0xffffffff, 0x8aacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x62858585, 0xffffffff, 0xffffffff, 0xff8c8c8c, 0xff373737, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff373737, 0xff8d8d8d, 0xffffffff, 0xffffffff, 0x62828282,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x21171717, 0xdee2e2e2,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xdee1e1e1, 0x1f101010, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x03000000, 0x5f4e4e4e, 0xdbe1e1e1, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xdae1e1e1,
- 0x5f4b4b4b, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x12000000, 0x48040404, 0x6d595959, 0x8d929292, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x8d929292, 0x6d595959, 0x48040404, 0x12000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x06000000, 0x22000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x22000000, 0x06000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000,
-}; \ No newline at end of file
diff --git a/oldresources/st/patch/newterm.c b/oldresources/st/patch/newterm.c
deleted file mode 100644
index d4a1735..0000000
--- a/oldresources/st/patch/newterm.c
+++ /dev/null
@@ -1,30 +0,0 @@
-void
-newterm(const Arg* a)
-{
- int res;
- switch (fork()) {
- case -1:
- die("fork failed: %s\n", strerror(errno));
- break;
- case 0:
- switch (fork()) {
- case -1:
- die("fork failed: %s\n", strerror(errno));
- break;
- case 0:
- res = chdir(getcwd_by_pid(pid));
- execlp("st", "./st", NULL);
- break;
- default:
- exit(0);
- }
- default:
- wait(NULL);
- }
-}
-
-static char *getcwd_by_pid(pid_t pid) {
- char buf[32];
- snprintf(buf, sizeof buf, "/proc/%d/cwd", pid);
- return realpath(buf, NULL);
-} \ No newline at end of file
diff --git a/oldresources/st/patch/newterm.h b/oldresources/st/patch/newterm.h
deleted file mode 100644
index ea7292c..0000000
--- a/oldresources/st/patch/newterm.h
+++ /dev/null
@@ -1,2 +0,0 @@
-void newterm(const Arg *);
-static char *getcwd_by_pid(pid_t pid); \ No newline at end of file
diff --git a/oldresources/st/patch/normalMode.c b/oldresources/st/patch/normalMode.c
deleted file mode 100644
index bbc9cfb..0000000
--- a/oldresources/st/patch/normalMode.c
+++ /dev/null
@@ -1,284 +0,0 @@
-#include <X11/keysym.h>
-#include <X11/XKBlib.h>
-
-#include "normalMode.h"
-#include "utils.h"
-
-extern Glyph const styleSearch, style[];
-extern char const wDelS[], wDelL[], *nmKeys[];
-extern unsigned int bg[], fg, currentBg, highlightBg, highlightFg, amountNmKeys;
-
-typedef struct { int p[3]; } Pos;
-
-typedef enum {visual='v', visualLine='V', yank = 'y'} Op;
-typedef enum {infix_none=0, infix_i='i', infix_a='a'} Infix;
-typedef enum {fw='/', bw='?'} Search;
-struct NormalModeState {
- struct OperationState { Op op; Infix infix; } cmd;
- struct MotionState { uint32_t c; int active; Pos searchPos; Search search; } m;
-} defaultNormalMode, state;
-
-DynamicArray searchStr=UTF8_ARRAY, cCmd=UTF8_ARRAY, lCmd=UTF8_ARRAY;
-Glyph styleCmd;
-char posBuffer[10], braces[6][3] = { {"()"}, {"<>"}, {"{}"}, {"[]"}, {"\"\""}, {"''"}};
-int exited=1, overlay=1;
-static inline Rune cChar() { return term.line[term.c.y][term.c.x].u; }
-static inline int pos(int p, int h) {return IS_SET(MODE_ALTSCREEN)?p:rangeY(p+h*histOff-insertOff);}
-static inline int contains(Rune l, char const * values, size_t const memSize) {
- for (uint32_t i = 0; i < memSize; ++i) if (l == values[i]) return 1;
- return 0;
-}
-static inline void decodeTo(char const *cs, size_t len, DynamicArray *arr) {
- char *var = expand(arr);
- if (!var) empty(arr); else utf8decode(cs, (Rune*)(var), len);
-}
-static inline void applyPos(Pos p) {
- term.c.x = p.p[0], term.c.y = p.p[1];
- if (!IS_SET(MODE_ALTSCREEN) && histOp) term.line = &buf[histOff = p.p[2]];
-}
-/// Find string in history buffer, and provide string-match-lookup for highlighting matches
-static int highlighted(int x, int y) {
- int const s=term.row*term.col, i=y*term.col+x, sz=size(&searchStr);
- return sz && i<s && mark[i]!=sz && i+mark[i]<s && !mark[i+mark[i]];
-}
-static void markSearchMatches(int all) {
- int sz = size(&searchStr), ox = 0, oy = 0, oi=0;
- for (int y=0; sz && all && y<term.row; ++y)
- for (int x=0; x<term.col; ++x) term.dirty[y] |= highlighted(x, y);
- for (int y = 0, wi=0, owi=0, i=0; sz && y < term.row; ++y)
- for (int x=0; x<term.col; ++x, wi%=sz, ++i, owi=wi)
- if (all || term.dirty[y]) {
- mark[i]=sz-(wi=(getU32(&searchStr,wi,1)==term.line[y][x].u?wi+1:0));
- if (wi==1) ox=x, oy=y, oi=i; else if (!wi && owi) x=ox, y=oy, i=oi;
- }
- for (int y=0; sz &&all &&y<term.row; ++y)
- for (int x=0; x<term.col; ++x) term.dirty[y] |= highlighted(x, y);
-}
-static int findString(int s, int all) {
- Pos p = (Pos) {.p={term.c.x, term.c.y, IS_SET(MODE_ALTSCREEN) ? 0 : histOff}};
- historyMove(s, 0, 0);
- uint32_t strSz=size(&searchStr), maxIter=rows()*term.col+strSz, wIdx=0;
- for (uint32_t i=0, wi = 0; wIdx<strSz && ++i<=maxIter; historyMove(s, 0, 0), wi=wIdx) {
- wIdx = (getU32(&searchStr, wIdx, s>0)==cChar())?wIdx+1:0;
- if (wi && !wIdx) historyMove(-(int)(s*wi), 0, 0);
- }
- if (wIdx == strSz && wIdx) historyMove(-(int)(s*strSz), 0, 0);
- else applyPos(p);
- markSearchMatches(all);
- return wIdx == strSz;
-}
-/// Execute series of normal-mode commands from char array / decoded from dynamic array
-ExitState pressKeys(char const* s, size_t e) {
- ExitState x=success;
- for (size_t i=0; i<e && (x=(!s[i] ? x : kPressHist(&s[i], 1, 0, NULL))); ++i);
- return x;
-}
-static ExitState executeCommand(uint32_t *cs, size_t z) {
- ExitState x=success;
- char dc [32];
- for (size_t i=0; i<z && (x=kPressHist(dc, utf8encode(cs[i],dc),0,NULL));++i);
- return x;
-}
-/// Get character for overlay, if the overlay (st) has something to show, else normal char.
-static void getChar(DynamicArray *st, Glyph *glyphChange, int y, int xEnd, int width, int x) {
- if (x < xEnd - min(min(width,xEnd), size(st))) *glyphChange = term.line[y][x];
- else if (x<xEnd) glyphChange->u = *((Rune*)(st->content + (size(st)+x-xEnd)*st->elSize));
-}
-/// Expand "infix" expression: for instance (w =>) l b | | v e | | y
-static ExitState expandExpression(char l) { // ({ =>) l ? { \n | l | v / } \n | h | y
- int a=state.cmd.infix==infix_a, yank=state.cmd.op=='y', lc=tolower(l), found=1;
- state.cmd.infix = infix_none;
- if(!yank && state.cmd.op!=visual && state.cmd.op!=visualLine) return failed;
- char mot[11] = {'l', 0, 'b', 0, 0, 'v', 0, 'e', 0, 0, (char)(yank ? 'y' : 0)};
- if (lc == 'w') mot[2] = (char) ('b' - lc + l), mot[7] = (char) ((a ? 'w' : 'e') - lc + l), mot[9]=(char)(a?'h':0);
- else {
- mot[1]='?', mot[3]=mot[8]='\n', mot[6]='/', mot[4]=(char)(a?0:'l'), mot[9]=(char)(a?0:'h');
- for (int i=found=0; !found && i < 6; ++i)
- if ((found=contains(l,braces[i],2))) mot[2]=braces[i][0], mot[7]=braces[i][1];
- }
- if (!found) return failed;
- assign(&lCmd, &cCmd);
- empty(&cCmd);
- state.cmd = defaultNormalMode.cmd;
- return pressKeys(mot, 11);
-}
-
-ExitState executeMotion(char const cs, KeySym const *const ks) {
- state.m.c = state.m.c < 1u ? 1u : state.m.c;
- if (ks && *ks == XK_d) historyMove(0, 0, term.row / 2);
- else if (ks && *ks == XK_u) historyMove(0, 0, -term.row / 2);
- else if (ks && *ks == XK_f) historyMove(0, 0, term.row-1+(term.c.y=0));
- else if (ks && *ks == XK_b) historyMove(0, 0, -(term.c.y=term.row-1));
- else if (ks && *ks == XK_h) overlay = !overlay;
- else if (cs == 'K') historyMove(0, 0, -(int)state.m.c);
- else if (cs == 'J') historyMove(0, 0, (int)state.m.c);
- else if (cs == 'k') historyMove(0, -(int)state.m.c, 0);
- else if (cs == 'j') historyMove(0, (int)state.m.c, 0);
- else if (cs == 'h') historyMove(-(int)state.m.c, 0, 0);
- else if (cs == 'l') historyMove( (int)state.m.c, 0, 0);
- else if (cs == 'H') term.c.y = 0;
- else if (cs == 'M') term.c.y = term.bot / 2;
- else if (cs == 'L') term.c.y = term.bot;
- else if (cs == 's' || cs == 'S') altToggle = cs == 's' ? !altToggle : 1;
- else if (cs == 'G' || cs == 'g') {
- if (cs == 'G') term.c = c[0] = c[IS_SET(MODE_ALTSCREEN)+1];
- if (!IS_SET(MODE_ALTSCREEN)) term.line = &buf[histOff=insertOff];
- } else if (cs == '0') term.c.x = 0;
- else if (cs == '$') term.c.x = term.col-1;
- else if (cs == 't') sel.type = sel.type==SEL_REGULAR ? SEL_RECTANGULAR : SEL_REGULAR;
- else if (cs == 'n' || cs == 'N') {
- int const d = ((cs=='N')!=(state.m.search==bw))?-1:1;
- for (uint32_t i = state.m.c; i && findString(d, 0); --i);
- } else if (contains(cs, "wWeEbB", 6)) {
- int const low=cs<=90, off=tolower(cs)!='w', sgn=(tolower(cs)=='b')?-1:1;
- size_t const l=strlen(wDelL), s=strlen(wDelS), maxIt=rows()*term.col;
- for (int it=0, on=0; state.m.c > 0 && it < maxIt; ++it) {
- // If an offset is to be performed in beginning or not in beginning, move in history.
- if ((off || it) && historyMove(sgn, 0, 0)) break;
- // Determine if the category of the current letter changed since last iteration.
- int n = 1<<(contains(cChar(),wDelS,s) ?(2-low) :!contains(cChar(),wDelL,l)),
- found = (on|=n)^n && ((off ?on^n :n)!=1);
- // If a reverse offset is to be performed and this is the last letter:
- if (found && off) historyMove(-sgn, 0, 0);
- // Terminate iteration: reset #it and old n value #on and decrease operation count:
- if (found) it=-1, on=0, --state.m.c;
- }
- } else return failed;
- state.m.c = 0;
- return state.cmd.op == yank ? exitMotion : success;
-}
-
-ExitState kPressHist(char const *cs, size_t len, int ctrl, KeySym const *kSym) {
- historyOpToggle(1, 1);
- int const prevYOff=IS_SET(MODE_ALTSCREEN)?0:histOff, search=state.m.search&&state.m.active,
- prevAltToggle=altToggle, prevOverlay=overlay;
- int const noOp=!state.cmd.op&&!state.cmd.infix, num=len==1&&BETWEEN(cs[0],48,57),
- esc=kSym&&*kSym==XK_Escape, ret=(kSym&&*kSym==XK_Return)||(len==1&&cs[0]=='\n'),
- quantifier=num&&(cs[0]!='0'||state.m.c), ins=!search &&noOp &&len &&cs[0]=='i';
- exited = 0;
- ExitState result = success;
- if (esc || ret || ins) { result = exitMotion, len = 0;
- } else if (kSym && *kSym == XK_BackSpace) {
- if ((search || state.m.c) && size(&cCmd)) pop(&cCmd);
- if (search) {
- if (size(&searchStr)) pop(&searchStr);
- else result = exitMotion;
- if (!size(&searchStr)) tfulldirt();
- applyPos(state.m.searchPos);
- findString(state.m.search==fw ? 1 : -1, 1);
- } else if (state.m.c) state.m.c /= 10;
- len = 0;
- } else if (search) {
- if (len >= 1) decodeTo(cs, len, &searchStr);
- applyPos(state.m.searchPos);
- findString(state.m.search==fw ? 1 : -1, 1);
- } else if (len == 0) { result = failed;
- } else if (quantifier) { state.m.c = min(SHRT_MAX, (int)state.m.c*10+cs[0]-48);
- } else if (state.cmd.infix && state.cmd.op && (result = expandExpression(cs[0]), len=0)) {
- } else if (cs[0] == 'd') { state = defaultNormalMode; result = exitMotion; state.m.active = 1;
- } else if (cs[0] == '.') {
- if (size(&cCmd)) assign(&lCmd, &cCmd);
- empty(&cCmd);
- executeCommand((uint32_t*) lCmd.content, size(&lCmd));
- empty(&cCmd);
- len = 0;
- } else if (cs[0] == 'r') { tfulldirt();
- } else if (cs[0] == 'c') {
- empty(&lCmd);
- empty(&cCmd);
- empty(&searchStr);
- tfulldirt();
- len = 0;
- } else if (cs[0] == fw || cs[0] == bw) {
- empty(&searchStr);
- state.m.search = (Search) cs[0];
- state.m.searchPos = (Pos){.p={term.c.x, term.c.y, prevYOff}};
- state.m.active = 1;
- } else if (cs[0]==infix_i || cs[0]==infix_a) { state.cmd.infix=(Infix) cs[0];
- } else if (cs[0] == 'y') {
- if (state.cmd.op) {
- result = (state.cmd.op == yank || state.cmd.op == visualLine) ? exitOp : exitMotion;
- if (state.cmd.op == yank) selstart(0, term.c.y, 0);
- } else selstart(term.c.x, term.c.y, 0);
- state.cmd.op = yank;
- } else if (cs[0] == visual || cs[0] == visualLine) {
- if (state.cmd.op != (Op) cs[0]) {
- state.cmd = defaultNormalMode.cmd;
- state.cmd.op = (Op) cs[0];
- selstart(cs[0] == visualLine ?0 :term.c.x, term.c.y, 0);
- } else result = exitOp;
- } else if (!(result =executeMotion((char) (len?cs[0]:0), ctrl?kSym:NULL))) {
- result=failed;
- for (size_t i = 0; !ctrl && i < amountNmKeys; ++i)
- if (cs[0]==nmKeys[i][0] &&
- failed!=(result=pressKeys(&nmKeys[i][1], strlen(nmKeys[i])-1))) goto end;
- } // Operation/Motion finished if valid: update cmd string, extend selection, update search
- if (result != failed) {
- if (len == 1 && !ctrl) decodeTo(cs, len, &cCmd);
- if ((state.cmd.op == visualLine) || ((state.cmd.op == yank) && (result == exitOp))) {
- int const off = term.c.y + (IS_SET(MODE_ALTSCREEN) ? 0 : histOff) < sel.ob.y; //< Selection start below end.
- sel.ob.x = off ? term.col - 1 : 0;
- selextend(off ? 0 : term.col-1, term.c.y, sel.type, 0);
- } else if (sel.oe.x != -1) {
- selextend(term.c.x, term.c.y, sel.type, 0);
- }
- } // Set repaint for motion or status bar
- if (!IS_SET(MODE_ALTSCREEN) && prevYOff != histOff) tfulldirt();
- // Terminate Motion / operation if thus indicated
- if (result == exitMotion) {
- if (!state.m.active) result = (exited=noOp) ? finish : exitOp;
- state.m.active = (int) (state.m.c = 0u);
- }
- if (result == exitOp || result == finish) {
- if (state.cmd.op == yank) {
- xsetsel(getsel());
- xclipcopy();
- }
- state = defaultNormalMode;
- selclear();
- if (!esc) assign(&lCmd, &cCmd);
- empty(&cCmd);
- } // Update the content displayed in the history overlay
- styleCmd = style[state.cmd.op==yank ? 1 : (state.cmd.op==visual ? 2 :
- (state.cmd.op==visualLine ? 3 :0))];
- int const posLin = !IS_SET(MODE_ALTSCREEN) ? rangeY(insertOff-histOff):0, h=rows()-term.row;
- if (!posLin || posLin==h || !h) strcpy(posBuffer, posLin ? " [BOT] " : " [TOP] ");
- else sprintf(posBuffer, " % 3d%c ", min(100, max(0, (int)(.5 + posLin * 100. / h))),'%');
- if ((overlay || overlay!=prevOverlay) && term.col>9 && term.row>4) {
- if (!term.dirty[term.row-1]) xdrawline(term.line[term.row-1], term.col*2/3, term.row-1, term.col-1);
- if (!term.dirty[term.row-2]) xdrawline(term.line[term.row-2], term.col*2/3, term.row-2, term.col-1);
- }
- if (result==finish) altToggle = 0;
- if (altToggle != prevAltToggle) tswapscreen();
-end:
- historyOpToggle(-1, 1);
- return result;
-}
-
-void historyOverlay(int x, int y, Glyph* g) {
- if (!histMode) return;
- TCursor const *cHist = histOp ? &term.c : &c[0];
- if(overlay && term.col > 9 && term.row > 4 && (x > (2*term.col/3)) && (y >= (term.row-2))) {
- *g = (y == term.row - 2) ? styleSearch : styleCmd;
- if (y == term.row-2) getChar(&searchStr, g, term.row-2, term.col-2, term.col/3, x);
- else if (x > term.col - 7) g->u = (Rune)(posBuffer[x - term.col + 7]);
- else getChar(size(&cCmd) ?&cCmd :&lCmd, g, term.row-1, term.col-7, term.col/3-6, x);
- } else if (highlighted(x, y)) g->bg = highlightBg, g->fg = highlightFg;
- else if ((x==cHist->x) ^ (y==cHist->y)) g->bg = currentBg;
- else if (x==cHist->x) g->mode^=ATTR_REVERSE;
-}
-void historyPreDraw() {
- static Pos op = {.p={0, 0, 0}};
- historyOpToggle(1, 0);
- // Draw the cursor cross if changed
- if (term.c.y >= term.row || op.p[1] >= term.row) tfulldirt();
- else if (exited || (op.p[1] != term.c.y)) term.dirty[term.c.y] = term.dirty[op.p[1]] = 1;
- for (int i=0; (exited || term.c.x != op.p[0]) && i<term.row; ++i) if (!term.dirty[i]) {
- xdrawline(term.line[i], term.c.x, i, term.c.x + 1);
- xdrawline(term.line[i], op.p[0], i, op.p[0] + 1);
- }
- // Update search results either only for lines with new content or all results if exiting
- markSearchMatches(exited);
- op = (Pos){.p = {term.c.x, term.c.y, 0}};
- historyOpToggle(-1, 0);
-} \ No newline at end of file
diff --git a/oldresources/st/patch/normalMode.h b/oldresources/st/patch/normalMode.h
deleted file mode 100644
index d910dca..0000000
--- a/oldresources/st/patch/normalMode.h
+++ /dev/null
@@ -1,8 +0,0 @@
-void normalMode();
-void historyPreDraw();
-void historyOverlay(int x, int y, Glyph* g);
-void historyModeToggle(int start);
-void historyOpToggle(int, int);
-typedef enum {failed=0, success=1, exitMotion=2, exitOp=3, finish=4} ExitState;
-ExitState kPressHist(char const *txt, size_t len, int ctrl, KeySym const *kSym);
-ExitState pressKeys(char const* s, size_t e); \ No newline at end of file
diff --git a/oldresources/st/patch/opencopied.c b/oldresources/st/patch/opencopied.c
deleted file mode 100644
index 9b07c58..0000000
--- a/oldresources/st/patch/opencopied.c
+++ /dev/null
@@ -1,19 +0,0 @@
-void
-opencopied(const Arg *arg)
-{
- int res;
- size_t const max_cmd = 2048;
- char * const clip = xsel.clipboard;
- if (!clip) {
- fprintf(stderr, "Warning: nothing copied to clipboard\n");
- return;
- }
-
- /* account for space/quote (3) and \0 (1) and & (1) */
- /* e.g.: xdg-open "https://st.suckless.org"& */
- size_t const cmd_size = max_cmd + strlen(clip) + 5;
- char cmd[cmd_size];
-
- snprintf(cmd, cmd_size, "%s \"%s\"&", (char *)arg->v, clip);
- res = system(cmd);
-} \ No newline at end of file
diff --git a/oldresources/st/patch/opencopied.h b/oldresources/st/patch/opencopied.h
deleted file mode 100644
index 3734ac7..0000000
--- a/oldresources/st/patch/opencopied.h
+++ /dev/null
@@ -1 +0,0 @@
-void opencopied(const Arg *); \ No newline at end of file
diff --git a/oldresources/st/patch/openurlonclick.c b/oldresources/st/patch/openurlonclick.c
deleted file mode 100644
index 626cde6..0000000
--- a/oldresources/st/patch/openurlonclick.c
+++ /dev/null
@@ -1,141 +0,0 @@
-#if SCROLLBACK_PATCH && !VIM_BROWSE_PATCH
-#define TLINEURL(y) TLINE(y)
-#else
-#define TLINEURL(y) term.line[y]
-#endif // SCROLLBACK_PATCH
-
-#if VIM_BROWSE_PATCH
-extern int buffCols;
-#endif // VIM_BROWSE_PATCH
-
-int url_x1, url_y1, url_x2, url_y2 = -1;
-int url_draw, url_click, url_maxcol;
-
-static int
-isvalidurlchar(Rune u)
-{
- /* () and [] can appear in urls, but excluding them here will reduce false
- * positives when figuring out where a given url ends. See copyurl patch.
- */
- static char urlchars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz"
- "0123456789-._~:/?#@!$&'*+,;=%";
- return u < 128 && strchr(urlchars, (int)u) != NULL;
-}
-
-/* find the end of the wrapped line */
-static int
-findeowl(int row)
-{
- #if VIM_BROWSE_PATCH
- int col = buffCols - 1;
- #elif COLUMNS_PATCH
- int col = term.maxcol - 1;
- #else
- int col = term.col - 1;
- #endif // VIM_BROWSE_PATCH
-
- do {
- if (TLINEURL(row)[col].mode & ATTR_WRAP)
- return col;
- } while (TLINEURL(row)[col].u == ' ' && --col >= 0);
- return -1;
-}
-
-void
-clearurl(void)
-{
- while (url_y1 <= url_y2 && url_y1 < term.row)
- term.dirty[url_y1++] = 1;
- url_y2 = -1;
-}
-
-char *
-detecturl(int col, int row, int draw)
-{
- static char url[2048];
- int x1, y1, x2, y2, wrapped;
- int row_start = row;
- int col_start = col;
- int i = sizeof(url)/2+1, j = sizeof(url)/2;
- #if SCROLLBACK_PATCH && !VIM_BROWSE_PATCH
- int minrow = term.scr - term.histn, maxrow = term.scr + term.row - 1;
- /* Fixme: MODE_ALTSCREEN is not defined here, I had to use the magic number 1<<2 */
- if ((term.mode & (1 << 2)) != 0)
- minrow = 0, maxrow = term.row - 1;
- #else
- int minrow = 0, maxrow = term.row - 1;
- #endif // scrollback_patch
- url_maxcol = 0;
-
- /* clear previously underlined url */
- if (draw)
- clearurl();
-
- if (!isvalidurlchar(TLINEURL(row)[col].u))
- return NULL;
-
- /* find the first character of url */
- do {
- x1 = col_start, y1 = row_start;
- url_maxcol = MAX(url_maxcol, x1);
- url[--i] = TLINEURL(row_start)[col_start].u;
- if (--col_start < 0) {
- if (--row_start < minrow || (col_start = findeowl(row_start)) < 0)
- break;
- }
- } while (i > 0 && isvalidurlchar(TLINEURL(row_start)[col_start].u));
-
- /* early detection */
- if (url[i] != 'h')
- return NULL;
-
- /* find the last character of url */
- do {
- x2 = col, y2 = row;
- url_maxcol = MAX(url_maxcol, x2);
- url[j++] = TLINEURL(row)[col].u;
- wrapped = TLINEURL(row)[col].mode & ATTR_WRAP;
- #if VIM_BROWSE_PATCH
- if (++col >= buffCols || wrapped) {
- #elif COLUMNS_PATCH
- if (++col >= term.maxcol || wrapped) {
- #else
- if (++col >= term.col || wrapped) {
- #endif // VIM_BROWSE_PATCH
- col = 0;
- if (++row > maxrow || !wrapped)
- break;
- }
- } while (j < sizeof(url)-1 && isvalidurlchar(TLINEURL(row)[col].u));
-
- url[j] = 0;
-
- if (strncmp("https://", &url[i], 8) && strncmp("http://", &url[i], 7))
- return NULL;
-
- /* underline url (see xdrawglyphfontspecs() in x.c) */
- if (draw) {
- url_x1 = (y1 >= 0) ? x1 : 0;
- url_x2 = (y2 < term.row) ? x2 : url_maxcol;
- url_y1 = MAX(y1, 0);
- url_y2 = MIN(y2, term.row-1);
- url_draw = 1;
- for (y1 = url_y1; y1 <= url_y2; y1++)
- term.dirty[y1] = 1;
- }
-
- return &url[i];
-}
-
-void
-openUrlOnClick(int col, int row, char* url_opener)
-{
- char *url = detecturl(col, row, 1);
- if (url) {
- extern char **environ;
- pid_t junk;
- char *argv[] = { url_opener, url, NULL };
- posix_spawnp(&junk, argv[0], NULL, NULL, argv, environ);
- }
-}
diff --git a/oldresources/st/patch/openurlonclick.h b/oldresources/st/patch/openurlonclick.h
deleted file mode 100644
index 5aa09de..0000000
--- a/oldresources/st/patch/openurlonclick.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <spawn.h>
-
-static inline void restoremousecursor(void) {
- if (!(win.mode & MODE_MOUSE) && xw.pointerisvisible)
- XDefineCursor(xw.dpy, xw.win, xw.vpointer);
-}
-static void clearurl(void);
-static void openUrlOnClick(int col, int row, char* url_opener);
diff --git a/oldresources/st/patch/rightclicktoplumb_st.c b/oldresources/st/patch/rightclicktoplumb_st.c
deleted file mode 100644
index c60b946..0000000
--- a/oldresources/st/patch/rightclicktoplumb_st.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#if defined(__OpenBSD__)
- #include <sys/sysctl.h>
-#endif
-
-int
-subprocwd(char *path)
-{
-#if defined(__linux)
- if (snprintf(path, PATH_MAX, "/proc/%d/cwd", pid) < 0)
- return -1;
- return 0;
-#elif defined(__OpenBSD__)
- size_t sz = PATH_MAX;
- int name[3] = {CTL_KERN, KERN_PROC_CWD, pid};
- if (sysctl(name, 3, path, &sz, 0, 0) == -1)
- return -1;
- return 0;
-#endif
-} \ No newline at end of file
diff --git a/oldresources/st/patch/rightclicktoplumb_st.h b/oldresources/st/patch/rightclicktoplumb_st.h
deleted file mode 100644
index 98e42ab..0000000
--- a/oldresources/st/patch/rightclicktoplumb_st.h
+++ /dev/null
@@ -1 +0,0 @@
-int subprocwd(char *); \ No newline at end of file
diff --git a/oldresources/st/patch/rightclicktoplumb_x.c b/oldresources/st/patch/rightclicktoplumb_x.c
deleted file mode 100644
index 1b9b2bc..0000000
--- a/oldresources/st/patch/rightclicktoplumb_x.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <sys/wait.h>
-
-void
-plumb(char *sel) {
- if (sel == NULL)
- return;
- char cwd[PATH_MAX];
- pid_t child;
- if (subprocwd(cwd) != 0)
- return;
-
- switch(child = fork()) {
- case -1:
- return;
- case 0:
- if (chdir(cwd) != 0)
- exit(1);
- if (execvp(plumb_cmd, (char *const []){plumb_cmd, sel, 0}) == -1)
- exit(1);
- exit(0);
- default:
- waitpid(child, NULL, 0);
- }
-} \ No newline at end of file
diff --git a/oldresources/st/patch/rightclicktoplumb_x.h b/oldresources/st/patch/rightclicktoplumb_x.h
deleted file mode 100644
index d0c8b88..0000000
--- a/oldresources/st/patch/rightclicktoplumb_x.h
+++ /dev/null
@@ -1 +0,0 @@
-void plumb(char *); \ No newline at end of file
diff --git a/oldresources/st/patch/scrollback.c b/oldresources/st/patch/scrollback.c
deleted file mode 100644
index 2644cfe..0000000
--- a/oldresources/st/patch/scrollback.c
+++ /dev/null
@@ -1,55 +0,0 @@
-void
-kscrolldown(const Arg* a)
-{
- int n = a->i;
-
- if (n < 0)
- n = term.row + n;
-
- if (n > term.scr)
- n = term.scr;
-
- if (term.scr > 0) {
- term.scr -= n;
- selscroll(0, -n);
- tfulldirt();
- }
-
- #if SIXEL_PATCH
- scroll_images(-1*n);
- #endif // SIXEL_PATCH
-
- #if OPENURLONCLICK_PATCH
- if (n > 0)
- restoremousecursor();
- #endif // OPENURLONCLICK_PATCH
-}
-
-void
-kscrollup(const Arg* a)
-{
- int n = a->i;
- if (n < 0)
- n = term.row + n;
-
- if (term.scr + n > term.histn)
- n = term.histn - term.scr;
-
- if (!n)
- return;
-
- if (term.scr <= HISTSIZE-n) {
- term.scr += n;
- selscroll(0, n);
- tfulldirt();
- }
-
- #if SIXEL_PATCH
- scroll_images(n);
- #endif // SIXEL_PATCH
-
- #if OPENURLONCLICK_PATCH
- if (n > 0)
- restoremousecursor();
- #endif // OPENURLONCLICK_PATCH
-}
diff --git a/oldresources/st/patch/scrollback.h b/oldresources/st/patch/scrollback.h
deleted file mode 100644
index 08940f0..0000000
--- a/oldresources/st/patch/scrollback.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#define TLINE(y) ((y) < term.scr ? term.hist[((y) + term.histi - \
- term.scr + HISTSIZE + 1) % HISTSIZE] : \
- term.line[(y) - term.scr])
-
-void kscrolldown(const Arg *);
-void kscrollup(const Arg *);
-
-#if SCROLLBACK_MOUSE_PATCH || SCROLLBACK_MOUSE_ALTSCREEN_PATCH
-typedef struct {
- uint b;
- uint mask;
- void (*func)(const Arg *);
- const Arg arg;
-} MouseKey;
-
-extern MouseKey mkeys[];
-#endif // SCROLLBACK_MOUSE_PATCH / SCROLLBACK_MOUSE_ALTSCREEN_PATCH
diff --git a/oldresources/st/patch/sixel_st.c b/oldresources/st/patch/sixel_st.c
deleted file mode 100644
index 13e1062..0000000
--- a/oldresources/st/patch/sixel_st.c
+++ /dev/null
@@ -1,57 +0,0 @@
-sixel_state_t sixel_st;
-
-void
-dcshandle(void)
-{
- int bgcolor;
- unsigned char r, g, b, a = 255;
-
- switch (csiescseq.mode[0]) {
- default:
- fprintf(stderr, "erresc: unknown csi ");
- csidump();
- /* die(""); */
- break;
- case 'q': /* DECSIXEL */
- if (IS_TRUECOL(term.c.attr.bg)) {
- r = term.c.attr.bg >> 16 & 255;
- g = term.c.attr.bg >> 8 & 255;
- b = term.c.attr.bg >> 0 & 255;
- } else {
- xgetcolor(term.c.attr.bg, &r, &g, &b);
- #if ALPHA_PATCH
- if (term.c.attr.bg == defaultbg)
- a = dc.col[defaultbg].pixel >> 24 & 255;
- #endif // ALPHA_PATCH
- }
- bgcolor = a << 24 | b << 16 | g << 8 | r;
- if (sixel_parser_init(&sixel_st, 255 << 24, bgcolor, 1, win.cw, win.ch) != 0)
- perror("sixel_parser_init() failed");
- term.mode |= MODE_SIXEL;
- break;
- }
-}
-
-void
-scroll_images(int n) {
- ImageList *im;
- int tmp;
-
- /* maximum sixel distance in lines from current view before
- * deallocation
- * TODO: should be in config.h */
- int max_sixel_distance = 10000;
-
- for (im = term.images; im; im = im->next) {
- im->y += n;
-
- /* check if the current sixel has exceeded the maximum
- * draw distance, and should therefore be deleted */
- tmp = im->y;
- if (tmp < 0) { tmp = tmp * -1; }
- if (tmp > max_sixel_distance) {
- fprintf(stderr, "im@0x%08x exceeded maximum distance\n");
- im->should_delete = 1;
- }
- }
-}
diff --git a/oldresources/st/patch/sixel_st.h b/oldresources/st/patch/sixel_st.h
deleted file mode 100644
index cf2f0e1..0000000
--- a/oldresources/st/patch/sixel_st.h
+++ /dev/null
@@ -1,2 +0,0 @@
-static void dcshandle(void);
-static void scroll_images(int n); \ No newline at end of file
diff --git a/oldresources/st/patch/sixel_x.c b/oldresources/st/patch/sixel_x.c
deleted file mode 100644
index 0f74f53..0000000
--- a/oldresources/st/patch/sixel_x.c
+++ /dev/null
@@ -1,14 +0,0 @@
-void
-delete_image(ImageList *im)
-{
- if (im->prev)
- im->prev->next = im->next;
- else
- term.images = im->next;
- if (im->next)
- im->next->prev = im->prev;
- if (im->pixmap)
- XFreePixmap(xw.dpy, (Drawable)im->pixmap);
- free(im->pixels);
- free(im);
-} \ No newline at end of file
diff --git a/oldresources/st/patch/st_embedder_x.c b/oldresources/st/patch/st_embedder_x.c
deleted file mode 100644
index c73c389..0000000
--- a/oldresources/st/patch/st_embedder_x.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static Window embed;
-
-void
-createnotify(XEvent *e)
-{
- XWindowChanges wc;
-
- if (embed || e->xcreatewindow.override_redirect)
- return;
-
- embed = e->xcreatewindow.window;
-
- XReparentWindow(xw.dpy, embed, xw.win, 0, 0);
- XSelectInput(xw.dpy, embed, PropertyChangeMask | StructureNotifyMask | EnterWindowMask);
-
- XMapWindow(xw.dpy, embed);
- sendxembed(XEMBED_EMBEDDED_NOTIFY, 0, xw.win, 0);
-
- wc.width = win.w;
- wc.height = win.h;
- XConfigureWindow(xw.dpy, embed, CWWidth | CWHeight, &wc);
-
- XSetInputFocus(xw.dpy, embed, RevertToParent, CurrentTime);
-}
-
-void
-destroynotify(XEvent *e)
-{
- visibility(e);
- if (embed == e->xdestroywindow.window) {
- focus(e);
- }
-}
-
-void
-sendxembed(long msg, long detail, long d1, long d2)
-{
- XEvent e = { 0 };
-
- e.xclient.window = embed;
- e.xclient.type = ClientMessage;
- e.xclient.message_type = xw.xembed;
- e.xclient.format = 32;
- e.xclient.data.l[0] = CurrentTime;
- e.xclient.data.l[1] = msg;
- e.xclient.data.l[2] = detail;
- e.xclient.data.l[3] = d1;
- e.xclient.data.l[4] = d2;
- XSendEvent(xw.dpy, embed, False, NoEventMask, &e);
-}
diff --git a/oldresources/st/patch/st_embedder_x.h b/oldresources/st/patch/st_embedder_x.h
deleted file mode 100644
index 6910fb9..0000000
--- a/oldresources/st/patch/st_embedder_x.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#define XEMBED_EMBEDDED_NOTIFY 0
-#define XEMBED_WINDOW_ACTIVATE 1
-#define XEMBED_FOCUS_CURRENT 0
-
-static void createnotify(XEvent *e);
-static void destroynotify(XEvent *e);
-static void sendxembed(long msg, long detail, long d1, long d2); \ No newline at end of file
diff --git a/oldresources/st/patch/st_include.c b/oldresources/st/patch/st_include.c
deleted file mode 100644
index 6772a6e..0000000
--- a/oldresources/st/patch/st_include.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Patches */
-#if COPYURL_PATCH || COPYURL_HIGHLIGHT_SELECTED_URLS_PATCH
-#include "copyurl.c"
-#endif
-#if EXTERNALPIPE_PATCH
-#include "externalpipe.c"
-#endif
-#if ISO14755_PATCH
-#include "iso14755.c"
-#endif
-#if KEYBOARDSELECT_PATCH
-#include "keyboardselect_st.c"
-#endif
-#if RIGHTCLICKTOPLUMB_PATCH
-#include "rightclicktoplumb_st.c"
-#endif
-#if NEWTERM_PATCH
-#include "newterm.c"
-#endif
-#if SCROLLBACK_PATCH || SCROLLBACK_MOUSE_PATCH || SCROLLBACK_MOUSE_ALTSCREEN_PATCH
-#include "scrollback.c"
-#endif
-#if SIXEL_PATCH
-#include "sixel_st.c"
-#endif
-#if SYNC_PATCH
-#include "sync.c"
-#endif
-#if VIM_BROWSE_PATCH
-#include "normalMode.c"
-#endif \ No newline at end of file
diff --git a/oldresources/st/patch/st_include.h b/oldresources/st/patch/st_include.h
deleted file mode 100644
index c30a752..0000000
--- a/oldresources/st/patch/st_include.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Patches */
-#if COPYURL_PATCH || COPYURL_HIGHLIGHT_SELECTED_URLS_PATCH
-#include "copyurl.h"
-#endif
-#if EXTERNALPIPE_PATCH
-#include "externalpipe.h"
-#endif
-#if ISO14755_PATCH
-#include "iso14755.h"
-#endif
-#if KEYBOARDSELECT_PATCH
-#include "keyboardselect_st.h"
-#endif
-#if OPENURLONCLICK_PATCH
-#include "openurlonclick.h"
-#endif
-#if RIGHTCLICKTOPLUMB_PATCH
-#include "rightclicktoplumb_st.h"
-#endif
-#if NEWTERM_PATCH
-#include "newterm.h"
-#endif
-#if SCROLLBACK_PATCH || SCROLLBACK_MOUSE_PATCH || SCROLLBACK_MOUSE_ALTSCREEN_PATCH
-#include "scrollback.h"
-#endif
-#if SIXEL_PATCH
-#include "sixel_st.h"
-#endif
-#if SYNC_PATCH
-#include "sync.h"
-#endif
-// #if VIM_BROWSE_PATCH
-// #include "normalMode.h"
-// #endif
diff --git a/oldresources/st/patch/sync.c b/oldresources/st/patch/sync.c
deleted file mode 100644
index a0a815c..0000000
--- a/oldresources/st/patch/sync.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <time.h>
-struct timespec sutv;
-
-static void
-tsync_begin()
-{
- clock_gettime(CLOCK_MONOTONIC, &sutv);
- su = 1;
-}
-
-static void
-tsync_end()
-{
- su = 0;
-}
-
-int
-tinsync(uint timeout)
-{
- struct timespec now;
- if (su && !clock_gettime(CLOCK_MONOTONIC, &now)
- && TIMEDIFF(now, sutv) >= timeout)
- su = 0;
- return su;
-}
-
-int
-ttyread_pending()
-{
- return twrite_aborted;
-} \ No newline at end of file
diff --git a/oldresources/st/patch/sync.h b/oldresources/st/patch/sync.h
deleted file mode 100644
index 6c2ebe7..0000000
--- a/oldresources/st/patch/sync.h
+++ /dev/null
@@ -1,7 +0,0 @@
-static int su = 0;
-static int twrite_aborted = 0;
-
-static void tsync_begin();
-static void tsync_end();
-int tinsync(uint timeout);
-int ttyread_pending(); \ No newline at end of file
diff --git a/oldresources/st/patch/utils.h b/oldresources/st/patch/utils.h
deleted file mode 100644
index 5ecea0d..0000000
--- a/oldresources/st/patch/utils.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/// Dynamic memory-chunk, with (1) datatype size, (2/3) initialized / allocated chunk, (4) content
-typedef struct { uint8_t const elSize; uint32_t init, alloc; char* content; } DynamicArray;
-#define UTF8_ARRAY {4, 0, 0, NULL}
-
-static inline int p_alloc(DynamicArray *s, uint32_t amount) {
- uint32_t const diff=s->init+s->elSize*amount-s->alloc, nas=s->alloc+max(diff,15)*s->elSize;
- if (s->alloc < s->init + s->elSize * amount) {
- char* tmp = realloc(s->content, nas);
- if (!tmp) return 0;
- s->alloc = nas, s->content = tmp;
- }
- return 1;
-}
-static inline char *view(DynamicArray * s, uint32_t i) { return s->content + i*s->elSize; }
-static inline char *end(DynamicArray *s, uint32_t i) { return s->content +s->init-(i+1)*s->elSize; }
-static inline uint32_t getU32(DynamicArray* s, uint32_t i, int b) { return *((uint32_t*) (b ?view(s,i) :end(s,i))); }
-static char *expand(DynamicArray *s) { if (!p_alloc(s, 1)) return NULL; s->init += s->elSize; return end(s, 0); }
-static inline void pop(DynamicArray* s) { s->init -= s->elSize; }
-static inline void empty(DynamicArray* s) { s->init = 0; }
-static inline int size(DynamicArray const * s) { return s->init / s->elSize; }
-static inline void assign(DynamicArray* s, DynamicArray const *o) {
- if (p_alloc(s, size(o))) memcpy(s->content, o->content, (s->init=o->init));
-} \ No newline at end of file
diff --git a/oldresources/st/patch/x_include.c b/oldresources/st/patch/x_include.c
deleted file mode 100644
index cbea418..0000000
--- a/oldresources/st/patch/x_include.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Patches */
-#if ALPHA_PATCH
-#include "alpha.c"
-#endif
-#if BACKGROUND_IMAGE_PATCH
-#include "background_image_x.c"
-#endif
-#if BOXDRAW_PATCH
-#include "boxdraw.c"
-#endif
-#if OPENCOPIED_PATCH
-#include "opencopied.c"
-#endif
-#if FIXKEYBOARDINPUT_PATCH
-#include "fixkeyboardinput.c"
-#endif
-#if FONT2_PATCH
-#include "font2.c"
-#endif
-#if FULLSCREEN_PATCH
-#include "fullscreen_x.c"
-#endif
-#if INVERT_PATCH
-#include "invert.c"
-#endif
-#if KEYBOARDSELECT_PATCH
-#include "keyboardselect_x.c"
-#endif
-#if OPENURLONCLICK_PATCH
-#include "openurlonclick.c"
-#endif
-#if RIGHTCLICKTOPLUMB_PATCH
-#include "rightclicktoplumb_x.c"
-#endif
-#if SIXEL_PATCH
-#include "sixel_x.c"
-#endif
-#if ST_EMBEDDER_PATCH
-#include "st_embedder_x.c"
-#endif
-#if XRESOURCES_PATCH
-#include "xresources.c"
-#endif \ No newline at end of file
diff --git a/oldresources/st/patch/x_include.h b/oldresources/st/patch/x_include.h
deleted file mode 100644
index 6505909..0000000
--- a/oldresources/st/patch/x_include.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Patches */
-#if ALPHA_PATCH
-#include "alpha.h"
-#endif
-#if BACKGROUND_IMAGE_PATCH
-#include "background_image_x.h"
-#endif
-#if BOXDRAW_PATCH
-#include "boxdraw.h"
-#endif
-#if OPENCOPIED_PATCH
-#include "opencopied.h"
-#endif
-#if FONT2_PATCH
-#include "font2.h"
-#endif
-#if FULLSCREEN_PATCH
-#include "fullscreen_x.h"
-#endif
-#if INVERT_PATCH
-#include "invert.h"
-#endif
-#if KEYBOARDSELECT_PATCH
-#include "keyboardselect_x.h"
-#endif
-#if NETWMICON_PATCH
-#include "netwmicon.h"
-#endif
-#if RIGHTCLICKTOPLUMB_PATCH
-#include "rightclicktoplumb_x.h"
-#endif
-#if ST_EMBEDDER_PATCH
-#include "st_embedder_x.h"
-#endif
-#if XRESOURCES_PATCH
-#include "xresources.h"
-#endif
-#if VIM_BROWSE_PATCH
-#include "normalMode.h"
-#endif
diff --git a/oldresources/st/patch/xresources.c b/oldresources/st/patch/xresources.c
deleted file mode 100644
index ba3d985..0000000
--- a/oldresources/st/patch/xresources.c
+++ /dev/null
@@ -1,82 +0,0 @@
-int
-resource_load(XrmDatabase db, char *name, enum resource_type rtype, void *dst)
-{
- char **sdst = dst;
- int *idst = dst;
- float *fdst = dst;
-
- char fullname[256];
- char fullclass[256];
- char *type;
- XrmValue ret;
-
- snprintf(fullname, sizeof(fullname), "%s.%s",
- opt_name ? opt_name : "st", name);
- snprintf(fullclass, sizeof(fullclass), "%s.%s",
- opt_class ? opt_class : "St", name);
- fullname[sizeof(fullname) - 1] = fullclass[sizeof(fullclass) - 1] = '\0';
-
- XrmGetResource(db, fullname, fullclass, &type, &ret);
- if (ret.addr == NULL || strncmp("String", type, 64))
- return 1;
-
- switch (rtype) {
- case STRING:
- *sdst = ret.addr;
- break;
- case INTEGER:
- *idst = strtoul(ret.addr, NULL, 10);
- break;
- case FLOAT:
- *fdst = strtof(ret.addr, NULL);
- break;
- }
- return 0;
-}
-
-void
-config_init(Display *dpy)
-{
- char *resm;
- XrmDatabase db;
- ResourcePref *p;
-
- XrmInitialize();
- resm = XResourceManagerString(dpy);
- if (!resm)
- return;
-
- db = XrmGetStringDatabase(resm);
- for (p = resources; p < resources + LEN(resources); p++)
- resource_load(db, p->name, p->type, p->dst);
-}
-
-#if XRESOURCES_RELOAD_PATCH
-void
-reload_config(int sig)
-{
- /* Recreate a Display object to have up to date Xresources entries */
- Display *dpy;
- if (!(dpy = XOpenDisplay(NULL)))
- die("Can't open display\n");
-
- config_init(dpy);
- xloadcols();
-
- /* nearly like zoomabs() */
- xunloadfonts();
- xloadfonts(font, 0); /* font <- config_init() */
- #if FONT2_PATCH
- xloadsparefonts();
- #endif // FONT2_PATCH
- cresize(0, 0);
- redraw();
- xhints();
-
- XCloseDisplay(dpy);
-
- /* from https://st.suckless.org/patches/xresources-with-reload-signal */
- /* triggers re-render if we're visible */
- ttywrite("\033[O", 3, 1);
-}
-#endif // XRESOURCES_RELOAD_PATCH
diff --git a/oldresources/st/patch/xresources.h b/oldresources/st/patch/xresources.h
deleted file mode 100644
index c184852..0000000
--- a/oldresources/st/patch/xresources.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <X11/Xresource.h>
-
-/* Xresources preferences */
-enum resource_type {
- STRING = 0,
- INTEGER = 1,
- FLOAT = 2
-};
-
-typedef struct {
- char *name;
- enum resource_type type;
- void *dst;
-} ResourcePref;
-
-int resource_load(XrmDatabase, char *, enum resource_type, void *);
-void config_init(Display *dpy);