summaryrefslogtreecommitdiff
path: root/st-0.8.4/patches/st-blinking_cursor-20200531-a2a7044.diff
diff options
context:
space:
mode:
authorstkhan <personal@slickd.xyz>2022-05-22 10:30:20 +0000
committerstkhan <personal@slickd.xyz>2022-05-22 10:30:20 +0000
commitbac5029e9cca6460451fb06d1b8dd756cae0c3f9 (patch)
treedd775a0ed1cf5dcecb561fb6526b632b26b0e037 /st-0.8.4/patches/st-blinking_cursor-20200531-a2a7044.diff
parent86ddffe08d938c555013f7d9bc0a926f5a0e7421 (diff)
Removed old st, updated new one
Diffstat (limited to 'st-0.8.4/patches/st-blinking_cursor-20200531-a2a7044.diff')
-rw-r--r--st-0.8.4/patches/st-blinking_cursor-20200531-a2a7044.diff150
1 files changed, 0 insertions, 150 deletions
diff --git a/st-0.8.4/patches/st-blinking_cursor-20200531-a2a7044.diff b/st-0.8.4/patches/st-blinking_cursor-20200531-a2a7044.diff
deleted file mode 100644
index d544f74..0000000
--- a/st-0.8.4/patches/st-blinking_cursor-20200531-a2a7044.diff
+++ /dev/null
@@ -1,150 +0,0 @@
-From bff176133618854676bbdc74c0099f184d3da365 Mon Sep 17 00:00:00 2001
-From: Steve Ward <planet36@gmail.com>
-Date: Sun, 31 May 2020 22:48:25 -0400
-Subject: [PATCH] Allow blinking cursor
-
----
- config.def.h | 19 +++++++++++++------
- x.c | 42 ++++++++++++++++++++++++++++++++----------
- 2 files changed, 45 insertions(+), 16 deletions(-)
-
-diff --git a/config.def.h b/config.def.h
-index 6f05dce..3dbe915 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 (U+2603) */
-
- /*
- * Default columns and rows numbers
-diff --git a/x.c b/x.c
-index 210f184..bd80a5e 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)
-@@ -1526,16 +1527,19 @@ 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) */
-+ 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 - \
-@@ -1543,12 +1547,23 @@ 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,
- 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,
-@@ -1690,9 +1705,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;
- }
-
-@@ -1936,6 +1954,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)) \
-@@ -1946,7 +1968,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 */
-@@ -1982,7 +2004,7 @@ main(int argc, char *argv[])
- {
- xw.l = xw.t = 0;
- xw.isfixed = False;
-- xsetcursor(cursorshape);
-+ xsetcursor(cursorstyle);
-
- ARGBEGIN {
- case 'a':
---
-2.20.1
-