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)
|
xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
|
||||||
{
|
{
|
||||||
Color drawcol;
|
Color drawcol;
|
||||||
|
XRenderColor colbg;
|
||||||
|
|
||||||
/* remove the old cursor */
|
/* remove the old cursor */
|
||||||
if (selected(ox, oy))
|
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.fg = defaultfg;
|
||||||
g.bg = defaultrcs;
|
g.bg = defaultrcs;
|
||||||
} else {
|
} else {
|
||||||
|
/** this is the main part of the dynamic cursor color patch */
|
||||||
|
g.bg = g.fg;
|
||||||
g.fg = defaultbg;
|
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];
|
drawcol = dc.col[g.bg];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* draw the new one */
|
/* draw the new one */
|
||||||
if (IS_SET(MODE_FOCUSED)) {
|
if (IS_SET(MODE_FOCUSED)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user