sites

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

commit 930622baae182a58f4d595bb06c8ec1c615c8404
parent 74c54948322f403ed7c38230280444ee0d46f1de
Author: Miles Alan <m@milesalan.com>
Date:   Wed, 15 Jan 2020 09:53:40 -0600

[dmenu][patch] highlight: Simplify patch for better compatibility

Diffstat:
Mtools.suckless.org/dmenu/patches/highlight/dmenu-highlight-4.9.diff | 49+++++++++++++------------------------------------
1 file changed, 13 insertions(+), 36 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 14e68d5d546830714e37e99667a455162dcd0e04 Mon Sep 17 00:00:00 2001 +From 16abaf4bbea01234abab27fbfdfc921aad2fc364 Mon Sep 17 00:00:00 2001 From: Miles Alan <m@milesalan.com> Date: Tue, 14 Jan 2020 21:50:04 -0600 Subject: [PATCH] Highlight matched text in a different color scheme --- config.def.h | 2 ++ - dmenu.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- - 2 files changed, 48 insertions(+), 4 deletions(-) + dmenu.c | 42 ++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 42 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..84c902b 100644 +index 6b8f51b..c82bb6d 100644 --- a/dmenu.c +++ b/dmenu.c @@ -26,7 +26,7 @@ @@ -77,40 +77,17 @@ index 6b8f51b..84c902b 100644 static int drawitem(struct item *item, int x, int y, int w) { -@@ -132,6 +168,7 @@ drawmenu(void) - unsigned int curpos; - struct item *item; - int x = 0, y = 0, w; -+ int savedx; +@@ -123,7 +159,9 @@ drawitem(struct item *item, int x, int y, int w) + else + drw_setscheme(drw, scheme[SchemeNorm]); - drw_setscheme(drw, scheme[SchemeNorm]); - drw_rect(drw, 0, 0, mw, mh, 1, 1); -@@ -153,8 +190,10 @@ drawmenu(void) +- return drw_text(drw, x, y, w, bh, lrpad / 2, item->text, 0); ++ int r = drw_text(drw, x, y, w, bh, lrpad / 2, item->text, 0); ++ drawhighlights(item, x, y, w); ++ return r; + } - if (lines > 0) { - /* draw vertical list */ -- for (item = curr; item != next; item = item->right) -+ for (item = curr; item != next; item = item->right) { - drawitem(item, x, y += bh, mw - x); -+ drawhighlights(item, x, y, mw - x); -+ } - } else if (matches) { - /* draw horizontal list */ - x += inputw; -@@ -164,8 +203,11 @@ drawmenu(void) - drw_text(drw, x, 0, w, bh, lrpad / 2, "<", 0); - } - x += w; -- for (item = curr; item != next; item = item->right) -- x = drawitem(item, x, 0, MIN(TEXTW(item->text), mw - x - TEXTW(">"))); -+ for (item = curr; item != next; item = item->right) { -+ savedx = drawitem(item, x, 0, MIN(TEXTW(item->text), mw - x - TEXTW(">"))); -+ drawhighlights(item, x, 0, MIN(TEXTW(item->text), mw - x - TEXTW(">"))); -+ x = savedx; -+ } - if (next) { - w = TEXTW(">"); - drw_setscheme(drw, scheme[SchemeNorm]); + static void -- 2.23.1