diff options
| author | stkhan <personal@slickd.xyz> | 2023-03-11 16:55:14 -0600 |
|---|---|---|
| committer | stkhan <personal@slickd.xyz> | 2023-03-11 16:55:14 -0600 |
| commit | 3def1d47a889c8ea2c271937148d2024d72b30ab (patch) | |
| tree | e7dcebac2a5b2cdb8ead59931886f37933191270 /utils/st-0.8.5/patches/st-blinking_cursor-20211116-2f6e597.diff | |
| parent | 0f9b13f65f2a9f10a7963c84e7399697c3db5f66 (diff) | |
Update st to 0.9
Diffstat (limited to 'utils/st-0.8.5/patches/st-blinking_cursor-20211116-2f6e597.diff')
| -rw-r--r-- | utils/st-0.8.5/patches/st-blinking_cursor-20211116-2f6e597.diff | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/utils/st-0.8.5/patches/st-blinking_cursor-20211116-2f6e597.diff b/utils/st-0.8.5/patches/st-blinking_cursor-20211116-2f6e597.diff deleted file mode 100644 index 91c871a..0000000 --- a/utils/st-0.8.5/patches/st-blinking_cursor-20211116-2f6e597.diff +++ /dev/null @@ -1,153 +0,0 @@ -From a3cdd0753bf578cd4e6db7c6507481f3b5c38aea Mon Sep 17 00:00:00 2001 -From: Steve Ward <planet36@gmail.com> -Date: Tue, 16 Nov 2021 14:15:06 -0500 -Subject: [PATCH] Allow blinking cursor - ---- - config.def.h | 19 +++++++++++++------ - x.c | 47 +++++++++++++++++++++++++++++++++++------------ - 2 files changed, 48 insertions(+), 18 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 6f05dce..1a5fed0 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -133,13 +133,20 @@ static unsigned int defaultcs = 256; - static unsigned int defaultrcs = 257; - - /* -- * Default shape of cursor -- * 2: Block ("█") -- * 4: Underline ("_") -- * 6: Bar ("|") -- * 7: Snowman ("☃") -+ * 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: blinking st cursor -+ * 8: steady st cursor - */ --static unsigned int cursorshape = 2; -+static unsigned int cursorstyle = 1; -+static Rune stcursor = 0x2603; /* snowman ("☃") */ - - /* - * Default columns and rows numbers -diff --git a/x.c b/x.c -index 89786b8..7d2447d 100644 ---- a/x.c -+++ b/x.c -@@ -253,6 +253,7 @@ static char *opt_name = NULL; - static char *opt_title = NULL; - - static int oldbutton = 3; /* button event on startup: 3 = release */ -+static int cursorblinks = 0; - - void - clipcopy(const Arg *dummy) -@@ -1529,29 +1530,44 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) - /* draw the new one */ - if (IS_SET(MODE_FOCUSED)) { - switch (win.cursor) { -- case 7: /* st extension */ -- g.u = 0x2603; /* snowman (U+2603) */ -+ default: -+ case 0: /* blinking block */ -+ case 1: /* blinking block (default) */ -+ if (IS_SET(MODE_BLINK)) -+ break; - /* FALLTHROUGH */ -- case 0: /* Blinking Block */ -- case 1: /* Blinking Block (Default) */ -- case 2: /* Steady Block */ -+ case 2: /* steady block */ - xdrawglyph(g, cx, cy); - break; -- case 3: /* Blinking Underline */ -- case 4: /* Steady Underline */ -+ case 3: /* blinking underline */ -+ if (IS_SET(MODE_BLINK)) -+ break; -+ /* FALLTHROUGH */ -+ case 4: /* steady underline */ - XftDrawRect(xw.draw, &drawcol, - borderpx + cx * win.cw, - borderpx + (cy + 1) * win.ch - \ - cursorthickness, - win.cw, cursorthickness); - break; -- case 5: /* Blinking bar */ -- case 6: /* Steady bar */ -+ case 5: /* blinking bar */ -+ if (IS_SET(MODE_BLINK)) -+ break; -+ /* FALLTHROUGH */ -+ case 6: /* steady bar */ - XftDrawRect(xw.draw, &drawcol, - borderpx + cx * win.cw, - borderpx + cy * win.ch, - cursorthickness, win.ch); - break; -+ case 7: /* blinking st cursor */ -+ if (IS_SET(MODE_BLINK)) -+ break; -+ /* FALLTHROUGH */ -+ case 8: /* steady st cursor */ -+ g.u = stcursor; -+ xdrawglyph(g, cx, cy); -+ break; - } - } else { - XftDrawRect(xw.draw, &drawcol, -@@ -1708,9 +1724,12 @@ xsetmode(int set, unsigned int flags) - int - xsetcursor(int cursor) - { -- if (!BETWEEN(cursor, 0, 7)) /* 7: st extension */ -+ if (!BETWEEN(cursor, 0, 8)) /* 7-8: st extensions */ - return 1; - win.cursor = cursor; -+ cursorblinks = win.cursor == 0 || win.cursor == 1 || -+ win.cursor == 3 || win.cursor == 5 || -+ win.cursor == 7; - return 0; - } - -@@ -1954,6 +1973,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)) \ -@@ -1964,7 +1987,7 @@ run(void) - - /* idle detected or maxlatency exhausted -> draw */ - timeout = -1; -- if (blinktimeout && tattrset(ATTR_BLINK)) { -+ if (blinktimeout && (cursorblinks || tattrset(ATTR_BLINK))) { - timeout = blinktimeout - TIMEDIFF(now, lastblink); - if (timeout <= 0) { - if (-timeout > blinktimeout) /* start visible */ -@@ -2000,7 +2023,7 @@ main(int argc, char *argv[]) - { - xw.l = xw.t = 0; - xw.isfixed = False; -- xsetcursor(cursorshape); -+ xsetcursor(cursorstyle); - - ARGBEGIN { - case 'a': --- -2.34.0 - |