[wiki] [sites] [st][patch][dynamic-cursor-color]: Updated patch for 0.9 || bakkeby
commit 40c063c4c2770ef5f561413a8f02ae8182040253
Author: bakkeby <bakkeby_AT_gmail.com>
Date: Mon Dec 19 10:25:59 2022 +0100
[st][patch][dynamic-cursor-color]: Updated patch for 0.9
diff --git a/st.suckless.org/patches/dynamic-cursor-color/index.md b/st.suckless.org/patches/dynamic-cursor-color/index.md
index dcc9a8fe..9283e44e 100644
--- a/st.suckless.org/patches/dynamic-cursor-color/index.md
+++ b/st.suckless.org/patches/dynamic-cursor-color/index.md
_AT_@ -17,6 +17,7 @@ Might be incomplete - I'm new and improvements are very welcome!
Download
--------
+* [st-dynamic-cursor-color-0.9.diff](st-dynamic-cursor-color-0.9.diff)
* [st-dynamic-cursor-color-0.8.4.diff](st-dynamic-cursor-color-0.8.4.diff)
Authors
diff --git a/st.suckless.org/patches/dynamic-cursor-color/st-dynamic-cursor-color-0.9.diff b/st.suckless.org/patches/dynamic-cursor-color/st-dynamic-cursor-color-0.9.diff
new file mode 100644
index 00000000..1034595d
--- /dev/null
+++ b/st.suckless.org/patches/dynamic-cursor-color/st-dynamic-cursor-color-0.9.diff
_AT_@ -0,0 +1,50 @@
+From 215ec30d6b5fe3319f88f1c9d16a37b6e14e5a53 Mon Sep 17 00:00:00 2001
+From: Bakkeby <bakkeby_AT_gmail.com>
+Date: Mon, 19 Dec 2022 10:20:47 +0100
+Subject: [PATCH] dynamic cursor color: cursor color taken from current
+ character
+
+---
+ x.c | 17 ++++++++++++++---
+ 1 file changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/x.c b/x.c
+index 2a3bd38..21aadce 100644
+--- a/x.c
++++ b/x.c
+_AT_@ -1520,6 +1520,7 @@ void
+ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
+ {
+ Color drawcol;
++ XRenderColor colbg;
+
+ /* remove the old cursor */
+ if (selected(ox, oy))
+_AT_@ -1548,11 +1549,21 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
+ if (selected(cx, cy)) {
+ g.fg = defaultfg;
+ g.bg = defaultrcs;
++ } else if (!(og.mode & ATTR_REVERSE)) {
++ unsigned long col = g.bg;
++ g.bg = g.fg;
++ g.fg = col;
++ }
++
++ if (IS_TRUECOL(g.bg)) {
++ colbg.alpha = 0xffff;
++ colbg.red = TRUERED(g.bg);
++ colbg.green = TRUEGREEN(g.bg);
++ colbg.blue = TRUEBLUE(g.bg);
++ XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colbg, &drawcol);
+ } else {
+- g.fg = defaultbg;
+- g.bg = defaultcs;
++ drawcol = dc.col[g.bg];
+ }
+- drawcol = dc.col[g.bg];
+ }
+
+ /* draw the new one */
+--
+2.38.1
+
Received on Mon Dec 19 2022 - 10:26:10 CET
This archive was generated by hypermail 2.3.0
: Mon Dec 19 2022 - 10:36:40 CET