I believe you may have submitted the wrong patch, as I don't see my changes in 
this patch, or any change that would inhibit the blinking behavior.
Also, feel free to include my email, [email protected], in the authors section.

Thanks for submitting my patch regardless.

On Sat, 16 May 2020 05:04:13 +0200
[email protected] wrote:

> commit 80c5f5f90bc3ab530fc847de1b0082ff1baaa1aa
> Author: Steve Ward <[email protected]>
> Date:   Fri May 15 23:03:52 2020 -0400
> 
>     Add updated patch
> 
> diff --git a/st.suckless.org/patches/blinking_cursor/index.md 
> b/st.suckless.org/patches/blinking_cursor/index.md
> index ad042a5c..d828e034 100644
> --- a/st.suckless.org/patches/blinking_cursor/index.md
> +++ b/st.suckless.org/patches/blinking_cursor/index.md
> @@ -14,6 +14,8 @@ To demonstrate the available cursor styles, try these 
> commands:
>       echo -e -n "\x1b[\x35 q" # blinking bar
>       echo -e -n "\x1b[\x36 q" # steady bar
>  
> +When drawing is triggered, the cursor does not blink.
> +
>  Notes
>  -----
>  * Only cursor styles 0, 1, 3, and 5 blink.  Set `cursorstyle` accordingly.
> @@ -22,8 +24,10 @@ Notes
>  Download
>  --------
>  * 
> [st-blinking\_cursor-20200511-914fb82.diff](st-blinking_cursor-20200511-914fb82.diff)
> +* 
> [st-blinking\_cursor-20200515-045a0fa.diff](st-blinking_cursor-20200515-045a0fa.diff)
>  
>  Authors
>  -------
>  * Genki Sky - <https://lists.suckless.org/hackers/1708/15376.html>
> -* Steve Ward - <[email protected]> (914fb82 change)
> +* Steve Ward - <[email protected]>
> +* jvyden
> diff --git 
> a/st.suckless.org/patches/blinking_cursor/st-blinking_cursor-20200515-045a0fa.diff
>  
> b/st.suckless.org/patches/blinking_cursor/st-blinking_cursor-20200515-045a0fa.diff
> new file mode 100644
> index 00000000..bb57950e
> --- /dev/null
> +++ 
> b/st.suckless.org/patches/blinking_cursor/st-blinking_cursor-20200515-045a0fa.diff
> @@ -0,0 +1,123 @@
> +From 7b2ee699f5e5759ac034765d82cbe9ebab65f30a Mon Sep 17 00:00:00 2001
> +From: Steve Ward <[email protected]>
> +Date: Fri, 15 May 2020 22:50:00 -0400
> +Subject: [PATCH] Enable blinking cursor
> +
> +Adapted from this patch
> +https://lists.suckless.org/hackers/1708/15376.html
> +
> +Idea to inhibit blinking cursor during drawing inspired by this patch
> +https://lists.suckless.org/hackers/2005/17339.html
> +
> +Rename cursorshape to cursorstyle
> +---
> + config.def.h | 15 ++++++++++-----
> + x.c          | 23 ++++++++++++++++++++---
> + 2 files changed, 30 insertions(+), 8 deletions(-)
> +
> +diff --git a/config.def.h b/config.def.h
> +index fdbacfd..f404201 100644
> +--- a/config.def.h
> ++++ b/config.def.h
> +@@ -129,13 +129,18 @@ static unsigned int defaultcs = 256;
> + static unsigned int defaultrcs = 257;
> + 
> + /*
> +- * Default shape of cursor
> +- * 2: Block ("█")
> +- * 4: Underline ("_")
> +- * 6: Bar ("|")
> ++ * 
> https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h4-Functions-using-CSI-_-ordered-by-the-final-character-lparen-s-rparen:CSI-Ps-SP-q.1D81
> ++ * Default style of cursor
> ++ * 0: blinking block
> ++ * 1: blinking block (default)
> ++ * 2: steady block ("█")
> ++ * 3: blinking underline
> ++ * 4: steady underline ("_")
> ++ * 5: blinking bar
> ++ * 6: steady bar ("|")
> +  * 7: Snowman ("☃")
> +  */
> +-static unsigned int cursorshape = 2;
> ++static unsigned int cursorstyle = 1;
> + 
> + /*
> +  * Default columns and rows numbers
> +diff --git a/x.c b/x.c
> +index 1dc44d6..bf280fe 100644
> +--- a/x.c
> ++++ b/x.c
> +@@ -1528,13 +1528,20 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, 
> Glyph og)
> +             switch (win.cursor) {
> +             case 7: /* st extension: snowman (U+2603) */
> +                     g.u = 0x2603;
> +-                    /* FALLTHROUGH */
> ++                    xdrawglyph(g, cx, cy);
> ++                    break;
> +             case 0: /* Blinking Block */
> +             case 1: /* Blinking Block (Default) */
> ++                    if (IS_SET(MODE_BLINK))
> ++                            break;
> ++                    /* FALLTHROUGH */
> +             case 2: /* Steady Block */
> +                     xdrawglyph(g, cx, cy);
> +                     break;
> +             case 3: /* Blinking Underline */
> ++                    if (IS_SET(MODE_BLINK))
> ++                            break;
> ++                    /* FALLTHROUGH */
> +             case 4: /* Steady Underline */
> +                     XftDrawRect(xw.draw, &drawcol,
> +                                     borderpx + cx * win.cw,
> +@@ -1543,6 +1550,9 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, 
> Glyph og)
> +                                     win.cw, cursorthickness);
> +                     break;
> +             case 5: /* Blinking bar */
> ++                    if (IS_SET(MODE_BLINK))
> ++                            break;
> ++                    /* FALLTHROUGH */
> +             case 6: /* Steady bar */
> +                     XftDrawRect(xw.draw, &drawcol,
> +                                     borderpx + cx * win.cw,
> +@@ -1871,6 +1881,7 @@ run(void)
> +     int xfd = XConnectionNumber(xw.dpy), ttyfd, xev, drawing;
> +     struct timespec seltv, *tv, now, lastblink, trigger;
> +     double timeout;
> ++    int blinkcursor;
> + 
> +     /* Waiting for window mapping */
> +     do {
> +@@ -1937,6 +1948,10 @@ run(void)
> +             if (FD_ISSET(ttyfd, &rfd) || xev) {
> +                     if (!drawing) {
> +                             trigger = now;
> ++                            if (IS_SET(MODE_BLINK)) {
> ++                                    win.mode ^= MODE_BLINK;
> ++                            }
> ++                            lastblink = now;
> +                             drawing = 1;
> +                     }
> +                     timeout = (maxlatency - TIMEDIFF(now, trigger)) \
> +@@ -1947,7 +1962,9 @@ run(void)
> + 
> +             /* idle detected or maxlatency exhausted -> draw */
> +             timeout = -1;
> +-            if (blinktimeout && tattrset(ATTR_BLINK)) {
> ++            blinkcursor = win.cursor == 0 || win.cursor == 1 ||
> ++                          win.cursor == 3 || win.cursor == 5;
> ++            if (blinktimeout && (blinkcursor || tattrset(ATTR_BLINK))) {
> +                     timeout = blinktimeout - TIMEDIFF(now, lastblink);
> +                     if (timeout <= 0) {
> +                             if (-timeout > blinktimeout) /* start visible */
> +@@ -1983,7 +2000,7 @@ main(int argc, char *argv[])
> + {
> +     xw.l = xw.t = 0;
> +     xw.isfixed = False;
> +-    win.cursor = cursorshape;
> ++    win.cursor = cursorstyle;
> + 
> +     ARGBEGIN {
> +     case 'a':
> +-- 
> +2.20.1
> +
> 
> 


Reply via email to