dynamic cursor color patch
This commit is contained in:
parent
0c398500ea
commit
9a71b0161e
52
patches/st-dynamic-cursor-color-0.8.4.diff
Normal file
52
patches/st-dynamic-cursor-color-0.8.4.diff
Normal file
@ -0,0 +1,52 @@
|
||||
From 01e706efbc13194a4a4404e91b93a9638a3c1bea Mon Sep 17 00:00:00 2001
|
||||
From: Kipras Melnikovas <kipras@kipras.org>
|
||||
Date: Thu, 25 Feb 2021 14:31:26 +0200
|
||||
Subject: [PATCH] refactor dynamic-cursor-color patch
|
||||
|
||||
Signed-off-by: Kipras Melnikovas <kipras@kipras.org>
|
||||
---
|
||||
x.c | 19 +++++++++++++++++--
|
||||
1 file changed, 17 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/x.c b/x.c
|
||||
index 120e495..ab66364 100644
|
||||
--- a/x.c
|
||||
+++ b/x.c
|
||||
@@ -1489,6 +1489,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))
|
||||
@@ -1518,10 +1519,24 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
|
||||
g.fg = defaultfg;
|
||||
g.bg = defaultrcs;
|
||||
} else {
|
||||
+ /** this is the main part of the dynamic cursor color patch */
|
||||
+ g.bg = g.fg;
|
||||
g.fg = defaultbg;
|
||||
- g.bg = defaultcs;
|
||||
}
|
||||
- drawcol = dc.col[g.bg];
|
||||
+
|
||||
+ /**
|
||||
+ * and this is the second part of the dynamic cursor color patch.
|
||||
+ * it handles the `drawcol` variable
|
||||
+ */
|
||||
+ 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 {
|
||||
+ drawcol = dc.col[g.bg];
|
||||
+ }
|
||||
}
|
||||
|
||||
/* draw the new one */
|
||||
--
|
||||
2.30.1
|
||||
|
17
x.c
17
x.c
@ -1550,6 +1550,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))
|
||||
@ -1579,11 +1580,25 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
|
||||
g.fg = defaultfg;
|
||||
g.bg = defaultrcs;
|
||||
} else {
|
||||
/** this is the main part of the dynamic cursor color patch */
|
||||
g.bg = g.fg;
|
||||
g.fg = defaultbg;
|
||||
g.bg = defaultcs;
|
||||
}
|
||||
|
||||
/**
|
||||
* and this is the second part of the dynamic cursor color patch.
|
||||
* it handles the `drawcol` variable
|
||||
*/
|
||||
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 {
|
||||
drawcol = dc.col[g.bg];
|
||||
}
|
||||
}
|
||||
|
||||
/* draw the new one */
|
||||
if (IS_SET(MODE_FOCUSED)) {
|
||||
|
Loading…
Reference in New Issue
Block a user