st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit 343dfc629dde00bade3a35716ef14552699322c1
parent c5e92375a9d5f66bbd986c4bd23d10cc7b31bf0c
Author: Martin J. Kloeckner <martin.cachari@gmail.com>
Date:   Sun,  2 Oct 2022 16:38:12 -0300

Update before applying anysize patch

Diffstat:
Mconfig.def.h | 47++++++++++++++++++++---------------------------
Apatches/st-anysize-20220718-baa9357.diff | 164+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 184 insertions(+), 27 deletions(-)
diff --git a/config.def.h b/config.def.h
@@ -97,35 +97,28 @@ unsigned int tabspaces = 8;
 /* bg opacity */
 float alpha = 0.92;
 
+/* #1d2021 */
 /* Terminal colors (16 first used in escape sequence) */
 static const char *colorname[] = {
     /* 8 normal colors */
-    "black",
-    "red3",
-    "green3",
-    "yellow3",
-    "blue2",
-    "magenta3",
-    "cyan3",
-    "gray90",
+    [0] = "#0c1010", /* hard contrast: #1d2021 / soft contrast: #32302f */
+    [1] = "#cc241d", /* red     */
+    [2] = "#98971a", /* green   */
+    [3] = "#d79921", /* yellow  */
+    [4] = "#458588", /* blue    */
+    [5] = "#b16286", /* magenta */
+    [6] = "#689d6a", /* cyan    */
+    [7] = "#a89984", /* white   */
 
     /* 8 bright colors */
-    "gray50",
-    "red",
-    "green",
-    "yellow",
-    "#5c5cff",
-    "magenta",
-    "cyan",
-    "white",
-
-    [255] = 0,
-
-    /* more colors can be added after 255 to use with DefaultXX */
-    "#cccccc",
-    "#555555",
-    "gray90", /* default foreground colour */
-    "black", /* default background colour */
+    [8]  = "#928374", /* black   */
+    [9]  = "#fb4934", /* red     */
+    [10] = "#b8bb26", /* green   */
+    [11] = "#fabd2f", /* yellow  */
+    [12] = "#83a598", /* blue    */
+    [13] = "#d3869b", /* magenta */
+    [14] = "#8ec07c", /* cyan    */
+    [15] = "#ebdbb2", /* white   */
 };
 
 
@@ -133,9 +126,9 @@ static const char *colorname[] = {
  * Default colors (colorname index)
  * foreground, background, cursor, reverse cursor
  */
-unsigned int defaultfg = 258;
-unsigned int defaultbg = 259;
-unsigned int defaultcs = 256;
+unsigned int defaultfg = 15;
+unsigned int defaultbg = 0;
+unsigned int defaultcs = 15;
 static unsigned int defaultrcs = 257;
 
 /*
diff --git a/patches/st-anysize-20220718-baa9357.diff b/patches/st-anysize-20220718-baa9357.diff
@@ -0,0 +1,164 @@
+From 8dcdc4b21a73268e167d98aa30f24315c7f3b7ff Mon Sep 17 00:00:00 2001
+From: Bakkeby <bakkeby@gmail.com>
+Date: Mon, 18 Jul 2022 16:52:03 +0200
+Subject: [PATCH] Adding anysize patch
+
+---
+ x.c | 56 ++++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 30 insertions(+), 26 deletions(-)
+
+diff --git a/x.c b/x.c
+index 2a3bd38..f534347 100644
+--- a/x.c
++++ b/x.c
+@@ -81,6 +81,7 @@ typedef XftGlyphFontSpec GlyphFontSpec;
+ typedef struct {
+     int tw, th; /* tty width and height */
+     int w, h; /* window width and height */
++    int hborderpx, vborderpx;
+     int ch; /* char height */
+     int cw; /* char width  */
+     int mode; /* window state/mode flags */
+@@ -331,7 +332,7 @@ ttysend(const Arg *arg)
+ int
+ evcol(XEvent *e)
+ {
+-    int x = e->xbutton.x - borderpx;
++    int x = e->xbutton.x - win.hborderpx;
+     LIMIT(x, 0, win.tw - 1);
+     return x / win.cw;
+ }
+@@ -339,7 +340,7 @@ evcol(XEvent *e)
+ int
+ evrow(XEvent *e)
+ {
+-    int y = e->xbutton.y - borderpx;
++    int y = e->xbutton.y - win.vborderpx;
+     LIMIT(y, 0, win.th - 1);
+     return y / win.ch;
+ }
+@@ -739,6 +740,9 @@ cresize(int width, int height)
+     col = MAX(1, col);
+     row = MAX(1, row);
+ 
++    win.hborderpx = (win.w - col * win.cw) / 2;
++    win.vborderpx = (win.h - row * win.ch) / 2;
++
+     tresize(col, row);
+     xresize(col, row);
+     ttyresize(win.tw, win.th);
+@@ -869,8 +873,8 @@ xhints(void)
+     sizeh->flags = PSize | PResizeInc | PBaseSize | PMinSize;
+     sizeh->height = win.h;
+     sizeh->width = win.w;
+-    sizeh->height_inc = win.ch;
+-    sizeh->width_inc = win.cw;
++    sizeh->height_inc = 1;
++    sizeh->width_inc = 1;
+     sizeh->base_height = 2 * borderpx;
+     sizeh->base_width = 2 * borderpx;
+     sizeh->min_height = win.ch + 2 * borderpx;
+@@ -1152,8 +1156,8 @@ xinit(int cols, int rows)
+     xloadcols();
+ 
+     /* adjust fixed window geometry */
+-    win.w = 2 * borderpx + cols * win.cw;
+-    win.h = 2 * borderpx + rows * win.ch;
++    win.w = 2 * win.hborderpx + 2 * borderpx + cols * win.cw;
++    win.h = 2 * win.vborderpx + 2 * borderpx + rows * win.ch;
+     if (xw.gm & XNegative)
+         xw.l += DisplayWidth(xw.dpy, xw.scr) - win.w - 2;
+     if (xw.gm & YNegative)
+@@ -1242,7 +1246,7 @@ xinit(int cols, int rows)
+ int
+ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x, int y)
+ {
+-    float winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, xp, yp;
++    float winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, xp, yp;
+     ushort mode, prevmode = USHRT_MAX;
+     Font *font = &dc.font;
+     int frcflags = FRC_NORMAL;
+@@ -1375,7 +1379,7 @@ void
+ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y)
+ {
+     int charlen = len * ((base.mode & ATTR_WIDE) ? 2 : 1);
+-    int winx = borderpx + x * win.cw, winy = borderpx + y * win.ch,
++    int winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch,
+         width = charlen * win.cw;
+     Color *fg, *bg, *temp, revfg, revbg, truefg, truebg;
+     XRenderColor colfg, colbg;
+@@ -1465,17 +1469,17 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i
+ 
+     /* Intelligent cleaning up of the borders. */
+     if (x == 0) {
+-        xclear(0, (y == 0)? 0 : winy, borderpx,
++        xclear(0, (y == 0)? 0 : winy, win.hborderpx,
+             winy + win.ch +
+-            ((winy + win.ch >= borderpx + win.th)? win.h : 0));
++            ((winy + win.ch >= win.vborderpx + win.th)? win.h : 0));
+     }
+-    if (winx + width >= borderpx + win.tw) {
++    if (winx + width >= win.hborderpx + win.tw) {
+         xclear(winx + width, (y == 0)? 0 : winy, win.w,
+-            ((winy + win.ch >= borderpx + win.th)? win.h : (winy + win.ch)));
++            ((winy + win.ch >= win.vborderpx + win.th)? win.h : (winy + win.ch)));
+     }
+     if (y == 0)
+-        xclear(winx, 0, winx + width, borderpx);
+-    if (winy + win.ch >= borderpx + win.th)
++        xclear(winx, 0, winx + width, win.vborderpx);
++    if (winy + win.ch >= win.vborderpx + win.th)
+         xclear(winx, winy + win.ch, winx + width, win.h);
+ 
+     /* Clean up the region we want to draw to. */
+@@ -1569,35 +1573,35 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
+         case 3: /* Blinking Underline */
+         case 4: /* Steady Underline */
+             XftDrawRect(xw.draw, &drawcol,
+-                    borderpx + cx * win.cw,
+-                    borderpx + (cy + 1) * win.ch - \
++                    win.hborderpx + cx * win.cw,
++                    win.vborderpx + (cy + 1) * win.ch - \
+                         cursorthickness,
+                     win.cw, cursorthickness);
+             break;
+         case 5: /* Blinking bar */
+         case 6: /* Steady bar */
+             XftDrawRect(xw.draw, &drawcol,
+-                    borderpx + cx * win.cw,
+-                    borderpx + cy * win.ch,
++                    win.hborderpx + cx * win.cw,
++                    win.vborderpx + cy * win.ch,
+                     cursorthickness, win.ch);
+             break;
+         }
+     } else {
+         XftDrawRect(xw.draw, &drawcol,
+-                borderpx + cx * win.cw,
+-                borderpx + cy * win.ch,
++                win.hborderpx + cx * win.cw,
++                win.vborderpx + cy * win.ch,
+                 win.cw - 1, 1);
+         XftDrawRect(xw.draw, &drawcol,
+-                borderpx + cx * win.cw,
+-                borderpx + cy * win.ch,
++                win.hborderpx + cx * win.cw,
++                win.vborderpx + cy * win.ch,
+                 1, win.ch - 1);
+         XftDrawRect(xw.draw, &drawcol,
+-                borderpx + (cx + 1) * win.cw - 1,
+-                borderpx + cy * win.ch,
++                win.hborderpx + (cx + 1) * win.cw - 1,
++                win.vborderpx + cy * win.ch,
+                 1, win.ch - 1);
+         XftDrawRect(xw.draw, &drawcol,
+-                borderpx + cx * win.cw,
+-                borderpx + (cy + 1) * win.ch - 1,
++                win.hborderpx + cx * win.cw,
++                win.vborderpx + (cy + 1) * win.ch - 1,
+                 win.cw, 1);
+     }
+ }
+-- 
+2.37.1
+