it* st + patches and config Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/st-sdk URL:git://git.codevoid.de/st-sdk codevoid.de 70 1Log /git/st-sdk/log.gph codevoid.de 70 1Files /git/st-sdk/files.gph codevoid.de 70 1Refs /git/st-sdk/refs.gph codevoid.de 70 1README /git/st-sdk/file/README.gph codevoid.de 70 1LICENSE /git/st-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 6353900e901d8e6ee4c28fb5d4d9d5418283af58 /git/st-sdk/commit/6353900e901d8e6ee4c28fb5d4d9d5418283af58.gph codevoid.de 70 1parent 2f52ba952674aeb5125a09f658fab05d35ad59ef /git/st-sdk/commit/2f52ba952674aeb5125a09f658fab05d35ad59ef.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Wed, 27 May 2020 10:02:16 +0200 Err codevoid.de 70 i Err codevoid.de 70 iupdate Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M config.h | 10 +++++----- Err codevoid.de 70 i M config.mk | 25 ++++++++++++++++--------- Err codevoid.de 70 i A patches/st-anysize-0.8.1.diff | 152 +++++++++++++++++++++++++++++++ Err codevoid.de 70 i M st.info | 4 ++-- Err codevoid.de 70 i Err codevoid.de 70 i4 files changed, 175 insertions(+), 16 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/config.h b/config.h /git/st-sdk/file/config.h.gph codevoid.de 70 it@@ -5,7 +5,7 @@ Err codevoid.de 70 i * Err codevoid.de 70 i * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html Err codevoid.de 70 i */ Err codevoid.de 70 i-static char *font = "peep-12"; Err codevoid.de 70 i+static char *font = "AnonymiceNerdFont-11"; Err codevoid.de 70 i static int borderpx = 2; Err codevoid.de 70 i static int borderperc = 20; Err codevoid.de 70 i Err codevoid.de 70 it@@ -31,8 +31,8 @@ char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; Err codevoid.de 70 i char *vtiden = "\033[?6c"; Err codevoid.de 70 i Err codevoid.de 70 i /* Kerning / character bounding-box multipliers */ Err codevoid.de 70 i-static float cwscale = 1; Err codevoid.de 70 i-static float chscale = 1; Err codevoid.de 70 i+static float cwscale = 1.1; Err codevoid.de 70 i+static float chscale = 1.1; Err codevoid.de 70 i Err codevoid.de 70 i /* Err codevoid.de 70 i * word delimiter string Err codevoid.de 70 it@@ -84,7 +84,7 @@ static int bellvolume = 0; Err codevoid.de 70 i Err codevoid.de 70 i /* default TERM value */ Err codevoid.de 70 i // sorry, but this works perfectly compared to st-256color :( Err codevoid.de 70 i-char *termname = "st-256color"; Err codevoid.de 70 i+char *termname = "xterm-256color"; Err codevoid.de 70 i Err codevoid.de 70 i /* Err codevoid.de 70 i * spaces per tab Err codevoid.de 70 it@@ -127,7 +127,7 @@ static const char *colorname[] = { Err codevoid.de 70 i Err codevoid.de 70 i /* more colors can be added after 255 to use with DefaultXX */ Err codevoid.de 70 i "#990000", Err codevoid.de 70 i- "#181818", Err codevoid.de 70 i+ "#000000", Err codevoid.de 70 i }; Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 1diff --git a/config.mk b/config.mk /git/st-sdk/file/config.mk.gph codevoid.de 70 it@@ -1,5 +1,5 @@ Err codevoid.de 70 i # st version Err codevoid.de 70 i-VERSION = 0.8.1 Err codevoid.de 70 i+VERSION = 0.8.2 Err codevoid.de 70 i Err codevoid.de 70 i # Customize below to fit your system Err codevoid.de 70 i Err codevoid.de 70 it@@ -10,19 +10,26 @@ MANPREFIX = $(PREFIX)/share/man Err codevoid.de 70 i X11INC = /usr/X11R6/include Err codevoid.de 70 i X11LIB = /usr/X11R6/lib Err codevoid.de 70 i Err codevoid.de 70 i+PKG_CONFIG = pkg-config Err codevoid.de 70 i+ Err codevoid.de 70 i # includes and libs Err codevoid.de 70 i INCS = -I$(X11INC) \ Err codevoid.de 70 i- `pkg-config --cflags fontconfig` \ Err codevoid.de 70 i- `pkg-config --cflags freetype2` Err codevoid.de 70 i-LIBS = -L$(X11LIB) -lm -lX11 -lutil -lXft \ Err codevoid.de 70 i- `pkg-config --libs fontconfig` \ Err codevoid.de 70 i- `pkg-config --libs freetype2` Err codevoid.de 70 i+ `$(PKG_CONFIG) --cflags fontconfig` \ Err codevoid.de 70 i+ `$(PKG_CONFIG) --cflags freetype2` Err codevoid.de 70 i+LIBS = -L$(X11LIB) -lm -lrt -lX11 -lutil -lXft \ Err codevoid.de 70 i+ `$(PKG_CONFIG) --libs fontconfig` \ Err codevoid.de 70 i+ `$(PKG_CONFIG) --libs freetype2` Err codevoid.de 70 i Err codevoid.de 70 i # flags Err codevoid.de 70 i-CPPFLAGS = -g -DVERSION=\"$(VERSION)\" -D_XOPEN_SOURCE=600 Err codevoid.de 70 i-STCFLAGS = $(INCS) $(CPPFLAGS) $(CFLAGS) Err codevoid.de 70 i+STCPPFLAGS = -DVERSION=\"$(VERSION)\" -D_XOPEN_SOURCE=600 Err codevoid.de 70 i+STCFLAGS = $(INCS) $(STCPPFLAGS) $(CPPFLAGS) $(CFLAGS) Err codevoid.de 70 i STLDFLAGS = $(LIBS) $(LDFLAGS) Err codevoid.de 70 i Err codevoid.de 70 i+# OpenBSD: Err codevoid.de 70 i+CPPFLAGS = -DVERSION=\"$(VERSION)\" -D_XOPEN_SOURCE=600 -D_BSD_SOURCE Err codevoid.de 70 i+LIBS = -L$(X11LIB) -lm -lX11 -lutil -lXft \ Err codevoid.de 70 i+ `pkg-config --libs fontconfig` \ Err codevoid.de 70 i+ `pkg-config --libs freetype2` Err codevoid.de 70 i+ Err codevoid.de 70 i # compiler and linker Err codevoid.de 70 i # CC = c99 Err codevoid.de 70 i- Err codevoid.de 70 1diff --git a/patches/st-anysize-0.8.1.diff b/patches/st-anysize-0.8.1.diff /git/st-sdk/file/patches/st-anysize-0.8.1.diff.gph codevoid.de 70 it@@ -0,0 +1,152 @@ Err codevoid.de 70 i+diff --git a/x.c b/x.c Err codevoid.de 70 i+index 00cb6b1..8f87c0f 100644 Err codevoid.de 70 i+--- a/x.c Err codevoid.de 70 i++++ b/x.c Err codevoid.de 70 i+@@ -78,6 +78,7 @@ typedef XftGlyphFontSpec GlyphFontSpec; Err codevoid.de 70 i+ typedef struct { Err codevoid.de 70 i+ int tw, th; /* tty width and height */ Err codevoid.de 70 i+ int w, h; /* window width and height */ Err codevoid.de 70 i++ int hborderpx, vborderpx; Err codevoid.de 70 i+ int ch; /* char height */ Err codevoid.de 70 i+ int cw; /* char width */ Err codevoid.de 70 i+ int mode; /* window state/mode flags */ Err codevoid.de 70 i+@@ -311,7 +312,7 @@ zoomreset(const Arg *arg) Err codevoid.de 70 i+ int Err codevoid.de 70 i+ evcol(XEvent *e) Err codevoid.de 70 i+ { Err codevoid.de 70 i+- int x = e->xbutton.x - borderpx; Err codevoid.de 70 i++ int x = e->xbutton.x - win.hborderpx; Err codevoid.de 70 i+ LIMIT(x, 0, win.tw - 1); Err codevoid.de 70 i+ return x / win.cw; Err codevoid.de 70 i+ } Err codevoid.de 70 i+@@ -319,7 +320,7 @@ evcol(XEvent *e) Err codevoid.de 70 i+ int Err codevoid.de 70 i+ evrow(XEvent *e) Err codevoid.de 70 i+ { Err codevoid.de 70 i+- int y = e->xbutton.y - borderpx; Err codevoid.de 70 i++ int y = e->xbutton.y - win.vborderpx; Err codevoid.de 70 i+ LIMIT(y, 0, win.th - 1); Err codevoid.de 70 i+ return y / win.ch; Err codevoid.de 70 i+ } Err codevoid.de 70 i+@@ -675,6 +676,9 @@ cresize(int width, int height) Err codevoid.de 70 i+ col = MAX(1, col); Err codevoid.de 70 i+ row = MAX(1, row); Err codevoid.de 70 i+ Err codevoid.de 70 i++ win.hborderpx = (win.w - col * win.cw) / 2; Err codevoid.de 70 i++ win.vborderpx = (win.h - row * win.ch) / 2; Err codevoid.de 70 i++ Err codevoid.de 70 i+ tresize(col, row); Err codevoid.de 70 i+ xresize(col, row); Err codevoid.de 70 i+ ttyresize(win.tw, win.th); Err codevoid.de 70 i+@@ -793,8 +797,8 @@ xhints(void) Err codevoid.de 70 i+ sizeh->flags = PSize | PResizeInc | PBaseSize | PMinSize; Err codevoid.de 70 i+ sizeh->height = win.h; Err codevoid.de 70 i+ sizeh->width = win.w; Err codevoid.de 70 i+- sizeh->height_inc = win.ch; Err codevoid.de 70 i+- sizeh->width_inc = win.cw; Err codevoid.de 70 i++ sizeh->height_inc = 1; Err codevoid.de 70 i++ sizeh->width_inc = 1; Err codevoid.de 70 i+ sizeh->base_height = 2 * borderpx; Err codevoid.de 70 i+ sizeh->base_width = 2 * borderpx; Err codevoid.de 70 i+ sizeh->min_height = win.ch + 2 * borderpx; Err codevoid.de 70 i+@@ -1022,8 +1026,8 @@ xinit(int cols, int rows) Err codevoid.de 70 i+ xloadcols(); Err codevoid.de 70 i+ Err codevoid.de 70 i+ /* adjust fixed window geometry */ Err codevoid.de 70 i+- win.w = 2 * borderpx + cols * win.cw; Err codevoid.de 70 i+- win.h = 2 * borderpx + rows * win.ch; Err codevoid.de 70 i++ win.w = 2 * win.hborderpx + cols * win.cw; Err codevoid.de 70 i++ win.h = 2 * win.vborderpx + rows * win.ch; Err codevoid.de 70 i+ if (xw.gm & XNegative) Err codevoid.de 70 i+ xw.l += DisplayWidth(xw.dpy, xw.scr) - win.w - 2; Err codevoid.de 70 i+ if (xw.gm & YNegative) Err codevoid.de 70 i+@@ -1123,7 +1127,7 @@ xinit(int cols, int rows) Err codevoid.de 70 i+ int Err codevoid.de 70 i+ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x, int y) Err codevoid.de 70 i+ { Err codevoid.de 70 i+- float winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, xp, yp; Err codevoid.de 70 i++ float winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, xp, yp; Err codevoid.de 70 i+ ushort mode, prevmode = USHRT_MAX; Err codevoid.de 70 i+ Font *font = &dc.font; Err codevoid.de 70 i+ int frcflags = FRC_NORMAL; Err codevoid.de 70 i+@@ -1259,7 +1263,7 @@ void Err codevoid.de 70 i+ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) Err codevoid.de 70 i+ { Err codevoid.de 70 i+ int charlen = len * ((base.mode & ATTR_WIDE) ? 2 : 1); Err codevoid.de 70 i+- int winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, Err codevoid.de 70 i++ int winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, Err codevoid.de 70 i+ width = charlen * win.cw; Err codevoid.de 70 i+ Color *fg, *bg, *temp, revfg, revbg, truefg, truebg; Err codevoid.de 70 i+ XRenderColor colfg, colbg; Err codevoid.de 70 i+@@ -1349,17 +1353,17 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i Err codevoid.de 70 i+ Err codevoid.de 70 i+ /* Intelligent cleaning up of the borders. */ Err codevoid.de 70 i+ if (x == 0) { Err codevoid.de 70 i+- xclear(0, (y == 0)? 0 : winy, borderpx, Err codevoid.de 70 i++ xclear(0, (y == 0)? 0 : winy, win.vborderpx, Err codevoid.de 70 i+ winy + win.ch + Err codevoid.de 70 i+- ((winy + win.ch >= borderpx + win.th)? win.h : 0)); Err codevoid.de 70 i++ ((winy + win.ch >= win.vborderpx + win.th)? win.h : 0)); Err codevoid.de 70 i+ } Err codevoid.de 70 i+- if (winx + width >= borderpx + win.tw) { Err codevoid.de 70 i++ if (winx + width >= win.hborderpx + win.tw) { Err codevoid.de 70 i+ xclear(winx + width, (y == 0)? 0 : winy, win.w, Err codevoid.de 70 i+- ((winy + win.ch >= borderpx + win.th)? win.h : (winy + win.ch))); Err codevoid.de 70 i++ ((winy + win.ch >= win.vborderpx + win.th)? win.h : (winy + win.ch))); Err codevoid.de 70 i+ } Err codevoid.de 70 i+ if (y == 0) Err codevoid.de 70 i+- xclear(winx, 0, winx + width, borderpx); Err codevoid.de 70 i+- if (winy + win.ch >= borderpx + win.th) Err codevoid.de 70 i++ xclear(winx, 0, winx + width, win.hborderpx); Err codevoid.de 70 i++ if (winy + win.ch >= win.vborderpx + win.th) Err codevoid.de 70 i+ xclear(winx, winy + win.ch, winx + width, win.h); Err codevoid.de 70 i+ Err codevoid.de 70 i+ /* Clean up the region we want to draw to. */ Err codevoid.de 70 i+@@ -1452,35 +1456,35 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) Err codevoid.de 70 i+ case 3: /* Blinking Underline */ Err codevoid.de 70 i+ case 4: /* Steady Underline */ Err codevoid.de 70 i+ XftDrawRect(xw.draw, &drawcol, Err codevoid.de 70 i+- borderpx + cx * win.cw, Err codevoid.de 70 i+- borderpx + (cy + 1) * win.ch - \ Err codevoid.de 70 i++ win.hborderpx + cx * win.cw, Err codevoid.de 70 i++ win.vborderpx + (cy + 1) * win.ch - \ Err codevoid.de 70 i+ cursorthickness, Err codevoid.de 70 i+ win.cw, cursorthickness); Err codevoid.de 70 i+ break; Err codevoid.de 70 i+ case 5: /* Blinking bar */ Err codevoid.de 70 i+ case 6: /* Steady bar */ Err codevoid.de 70 i+ XftDrawRect(xw.draw, &drawcol, Err codevoid.de 70 i+- borderpx + cx * win.cw, Err codevoid.de 70 i+- borderpx + cy * win.ch, Err codevoid.de 70 i++ win.hborderpx + cx * win.cw, Err codevoid.de 70 i++ win.vborderpx + cy * win.ch, Err codevoid.de 70 i+ cursorthickness, win.ch); Err codevoid.de 70 i+ break; Err codevoid.de 70 i+ } Err codevoid.de 70 i+ } else { Err codevoid.de 70 i+ XftDrawRect(xw.draw, &drawcol, Err codevoid.de 70 i+- borderpx + cx * win.cw, Err codevoid.de 70 i+- borderpx + cy * win.ch, Err codevoid.de 70 i++ win.hborderpx + cx * win.cw, Err codevoid.de 70 i++ win.vborderpx + cy * win.ch, Err codevoid.de 70 i+ win.cw - 1, 1); Err codevoid.de 70 i+ XftDrawRect(xw.draw, &drawcol, Err codevoid.de 70 i+- borderpx + cx * win.cw, Err codevoid.de 70 i+- borderpx + cy * win.ch, Err codevoid.de 70 i++ win.hborderpx + cx * win.cw, Err codevoid.de 70 i++ win.vborderpx + cy * win.ch, Err codevoid.de 70 i+ 1, win.ch - 1); Err codevoid.de 70 i+ XftDrawRect(xw.draw, &drawcol, Err codevoid.de 70 i+- borderpx + (cx + 1) * win.cw - 1, Err codevoid.de 70 i+- borderpx + cy * win.ch, Err codevoid.de 70 i++ win.hborderpx + (cx + 1) * win.cw - 1, Err codevoid.de 70 i++ win.vborderpx + cy * win.ch, Err codevoid.de 70 i+ 1, win.ch - 1); Err codevoid.de 70 i+ XftDrawRect(xw.draw, &drawcol, Err codevoid.de 70 i+- borderpx + cx * win.cw, Err codevoid.de 70 i+- borderpx + (cy + 1) * win.ch - 1, Err codevoid.de 70 i++ win.hborderpx + cx * win.cw, Err codevoid.de 70 i++ win.vborderpx + (cy + 1) * win.ch - 1, Err codevoid.de 70 i+ win.cw, 1); Err codevoid.de 70 i+ } Err codevoid.de 70 i+ } Err codevoid.de 70 1diff --git a/st.info b/st.info /git/st-sdk/file/st.info.gph codevoid.de 70 it@@ -189,10 +189,10 @@ st| simpleterm, Err codevoid.de 70 i rmxx=\E[29m, Err codevoid.de 70 i smxx=\E[9m, Err codevoid.de 70 i # tmux extensions, see TERMINFO EXTENSIONS in tmux(1) Err codevoid.de 70 i- Se, Err codevoid.de 70 i- Ss, Err codevoid.de 70 i Tc, Err codevoid.de 70 i Ms=\E]52;%p1%s;%p2%s\007, Err codevoid.de 70 i+ Se=\E[2 q, Err codevoid.de 70 i+ Ss=\E[%p1%d q, Err codevoid.de 70 i Err codevoid.de 70 i st-256color| simpleterm with 256 colors, Err codevoid.de 70 i use=st, Err codevoid.de 70 .