[CONTACT]

[ABOUT]

[POLICY]

git clone dmenu dmenu Log gph

Found at: gopher.r-36.net:70/scm/dmenu/commit/11cb2e7dcc341e8c7409b26420a18de3fea99323.gph

tapplied ido-matching to dmenu - dmenu - Dmenu fork with xft fonts.

git clone git://r-36.net/dmenu

Log

Files

Refs

README

LICENSE

---

commit 11cb2e7dcc341e8c7409b26420a18de3fea99323

parent 07239bbddd22a6333495e3fab4e0a1e4878b0ca9

Author: arg@f00b4r

Date:   Tue, 24 Jul 2007 18:19:09 +0200
applied ido-matching to dmenu
Diffstat:
  main.c                              |      21 +++++++++++++++++++++
1 file changed, 21 insertions(+), 0 deletions(-)
---

diff --git a/main.c b/main.c

t@@ -168,6 +168,14 @@ initfont(const char *fontstr) {
         dc.font.height = dc.font.ascent + dc.font.descent;
 }
+static int
+strido(const char *text, const char *pattern) {
+        for(; *text && *pattern; text++)
+                if (*text == *pattern)
+                        pattern++;
+        return !*pattern;
+}
+
 static void
 match(char *pattern) {
         unsigned int plen;
t@@ -192,6 +200,19 @@ match(char *pattern) {
         for(i = allitems; i; i=i->next)
                 if(plen && strncmp(pattern, i->text, plen)
                                 && strstr(i->text, pattern)) {
+                        if(!j)
+                                item = i;
+                        else
+                                j->right = i;
+                        i->left = j;
+                        i->right = NULL;
+                        j = i;
+                        nitem++;
+                }
+        for(i = allitems; i; i=i->next)
+                if(plen && strncmp(pattern, i->text, plen)
+                                && !strstr(i->text, pattern)
+                                && strido(i->text,pattern)) {
                         if(!j)
                                 item = i;
                         else
.


AD: