st-lesscases-customcursor-20250405-98610fc.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
st-lesscases-customcursor-20250405-98610fc.diff (2188B)
---
1 From 826f4841b27fba77b2fce753c2ec6b44c910afe5 Mon Sep 17 00:00:00 2001
2 From: Mertoalex Ashley <mertoalex+git@disroot.org>
3 Date: Sat, 5 Apr 2025 00:33:59 +0300
4 Subject: [PATCH] lesscases patch and customcursor together
5
6 ---
7 config.def.h | 11 ++++++-----
8 x.c | 16 ++++++++--------
9 2 files changed, 14 insertions(+), 13 deletions(-)
10
11 diff --git a/config.def.h b/config.def.h
12 index 2cd740a..501523d 100644
13 --- a/config.def.h
14 +++ b/config.def.h
15 @@ -136,12 +136,13 @@ static unsigned int defaultrcs = 257;
16
17 /*
18 * Default shape of cursor
19 - * 2: Block ("█")
20 - * 4: Underline ("_")
21 - * 6: Bar ("|")
22 - * 7: Snowman ("☃")
23 + * 0: Block ("█")
24 + * 1: Underline ("_")
25 + * 2: Bar ("|")
26 + * 3: Custom (Default: "☃")
27 */
28 -static unsigned int cursorshape = 2;
29 +static unsigned int cursorshape = 0;
30 +#define CUSTOM_BLOCK 0x2603 /* snowman (U+2603) */
31
32 /*
33 * Default columns and rows numbers
34 diff --git a/x.c b/x.c
35 index d73152b..bdd74a1 100644
36 --- a/x.c
37 +++ b/x.c
38 @@ -1561,24 +1561,24 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
39 /* draw the new one */
40 if (IS_SET(MODE_FOCUSED)) {
41 switch (win.cursor) {
42 - case 7: /* st extension */
43 + case 3: /* st extension */
44 + #ifdef CUSTOM_BLOCK
45 + g.u = CUSTOM_BLOCK;
46 + #else
47 g.u = 0x2603; /* snowman (U+2603) */
48 + #endif
49 /* FALLTHROUGH */
50 case 0: /* Blinking Block */
51 - case 1: /* Blinking Block (Default) */
52 - case 2: /* Steady Block */
53 xdrawglyph(g, cx, cy);
54 break;
55 - case 3: /* Blinking Underline */
56 - case 4: /* Steady Underline */
57 + case 1: /* Blinking Underline */
58 XftDrawRect(xw.draw, &drawcol,
59 borderpx + cx * win.cw,
60 borderpx + (cy + 1) * win.ch - \
61 cursorthickness,
62 win.cw, cursorthickness);
63 break;
64 - case 5: /* Blinking bar */
65 - case 6: /* Steady bar */
66 + case 2: /* Blinking bar */
67 XftDrawRect(xw.draw, &drawcol,
68 borderpx + cx * win.cw,
69 borderpx + cy * win.ch,
70 @@ -1746,7 +1746,7 @@ xsetmode(int set, unsigned int flags)
71 int
72 xsetcursor(int cursor)
73 {
74 - if (!BETWEEN(cursor, 0, 7)) /* 7: st extension */
75 + if (!BETWEEN(cursor, 0, 3)) /* 3: st extension */
76 return 1;
77 win.cursor = cursor;
78 return 0;
79 --
80 2.48.1
81