sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit f284393b0c4215abfbf7604bf900af4f5d359edb
parent 5f3cde85330631d5740147a4d2a4fad7562cf859
Author: Miles Alan <m@milesalan.com>
Date:   Sat,  4 Jul 2020 11:56:04 -0500

[dmenu][patch] highlight: Modify to only render highlights in width bounds

This prevents unecessary rendering and improves compatibility with the
grid patch.

Diffstat:
Mtools.suckless.org/dmenu/patches/highlight/dmenu-highlight-4.9.diff | 29+++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/tools.suckless.org/dmenu/patches/highlight/dmenu-highlight-4.9.diff b/tools.suckless.org/dmenu/patches/highlight/dmenu-highlight-4.9.diff @@ -1,12 +1,12 @@ -From 16abaf4bbea01234abab27fbfdfc921aad2fc364 Mon Sep 17 00:00:00 2001 +From a06d0d3d7bbb3c0f5bad44934dbbf1e88e7d9558 Mon Sep 17 00:00:00 2001 From: Miles Alan <m@milesalan.com> -Date: Tue, 14 Jan 2020 21:50:04 -0600 +Date: Sat, 4 Jul 2020 11:49:04 -0500 Subject: [PATCH] Highlight matched text in a different color scheme --- config.def.h | 2 ++ - dmenu.c | 42 ++++++++++++++++++++++++++++++++++++++++-- - 2 files changed, 42 insertions(+), 2 deletions(-) + dmenu.c | 43 +++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h index 1edb647..64eab2a 100644 @@ -22,7 +22,7 @@ index 1edb647..64eab2a 100644 }; /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ diff --git a/dmenu.c b/dmenu.c -index 6b8f51b..c82bb6d 100644 +index 6b8f51b..d5e1991 100644 --- a/dmenu.c +++ b/dmenu.c @@ -26,7 +26,7 @@ @@ -34,7 +34,7 @@ index 6b8f51b..c82bb6d 100644 struct item { char *text; -@@ -113,6 +113,42 @@ cistrstr(const char *s, const char *sub) +@@ -113,6 +113,43 @@ cistrstr(const char *s, const char *sub) return NULL; } @@ -59,13 +59,14 @@ index 6b8f51b..c82bb6d 100644 + // Move highlight str end, draw highlight, & restore + restorechar = highlight[strlen(token)]; + highlight[strlen(token)] = '\0'; -+ drw_text( -+ drw, -+ x + indentx - (lrpad / 2) - 1, -+ y, -+ MIN(maxw - indentx, TEXTW(highlight) - lrpad), -+ bh, 0, highlight, 0 -+ ); ++ if (indentx - (lrpad / 2) - 1 < maxw) ++ drw_text( ++ drw, ++ x + indentx - (lrpad / 2) - 1, ++ y, ++ MIN(maxw - indentx, TEXTW(highlight) - lrpad), ++ bh, 0, highlight, 0 ++ ); + highlight[strlen(token)] = restorechar; + + if (strlen(highlight) - strlen(token) < strlen(token)) break; @@ -77,7 +78,7 @@ index 6b8f51b..c82bb6d 100644 static int drawitem(struct item *item, int x, int y, int w) { -@@ -123,7 +159,9 @@ drawitem(struct item *item, int x, int y, int w) +@@ -123,7 +160,9 @@ drawitem(struct item *item, int x, int y, int w) else drw_setscheme(drw, scheme[SchemeNorm]);