|
|
@ -109,7 +109,7 @@ drawmenu()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
static void
|
|
|
|
input(char *pattern)
|
|
|
|
match(char *pattern)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
unsigned int plen;
|
|
|
|
unsigned int plen;
|
|
|
|
Item *i, *j;
|
|
|
|
Item *i, *j;
|
|
|
@ -178,7 +178,7 @@ kpress(XKeyEvent * e)
|
|
|
|
case XK_U:
|
|
|
|
case XK_U:
|
|
|
|
case XK_u:
|
|
|
|
case XK_u:
|
|
|
|
text[0] = 0;
|
|
|
|
text[0] = 0;
|
|
|
|
input(text);
|
|
|
|
match(text);
|
|
|
|
drawmenu();
|
|
|
|
drawmenu();
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -201,7 +201,7 @@ kpress(XKeyEvent * e)
|
|
|
|
if(!sel)
|
|
|
|
if(!sel)
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
strncpy(text, sel->text, sizeof(text));
|
|
|
|
strncpy(text, sel->text, sizeof(text));
|
|
|
|
input(text);
|
|
|
|
match(text);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case XK_Right:
|
|
|
|
case XK_Right:
|
|
|
|
if(!(sel && sel->right))
|
|
|
|
if(!(sel && sel->right))
|
|
|
@ -233,9 +233,9 @@ kpress(XKeyEvent * e)
|
|
|
|
prev_nitem = nitem;
|
|
|
|
prev_nitem = nitem;
|
|
|
|
do {
|
|
|
|
do {
|
|
|
|
text[--i] = 0;
|
|
|
|
text[--i] = 0;
|
|
|
|
input(text);
|
|
|
|
match(text);
|
|
|
|
} while(i && nitem && prev_nitem == nitem);
|
|
|
|
} while(i && nitem && prev_nitem == nitem);
|
|
|
|
input(text);
|
|
|
|
match(text);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
@ -245,14 +245,14 @@ kpress(XKeyEvent * e)
|
|
|
|
strncat(text, buf, sizeof(text));
|
|
|
|
strncat(text, buf, sizeof(text));
|
|
|
|
else
|
|
|
|
else
|
|
|
|
strncpy(text, buf, sizeof(text));
|
|
|
|
strncpy(text, buf, sizeof(text));
|
|
|
|
input(text);
|
|
|
|
match(text);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
drawmenu();
|
|
|
|
drawmenu();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static char *
|
|
|
|
static char *
|
|
|
|
readinput()
|
|
|
|
readstdin()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
static char *maxname = NULL;
|
|
|
|
static char *maxname = NULL;
|
|
|
|
char *p, buf[1024];
|
|
|
|
char *p, buf[1024];
|
|
|
@ -309,7 +309,7 @@ main(int argc, char *argv[])
|
|
|
|
screen = DefaultScreen(dpy);
|
|
|
|
screen = DefaultScreen(dpy);
|
|
|
|
root = RootWindow(dpy, screen);
|
|
|
|
root = RootWindow(dpy, screen);
|
|
|
|
|
|
|
|
|
|
|
|
maxname = readinput();
|
|
|
|
maxname = readstdin();
|
|
|
|
|
|
|
|
|
|
|
|
/* grab as early as possible, but after reading all items!!! */
|
|
|
|
/* grab as early as possible, but after reading all items!!! */
|
|
|
|
while(XGrabKeyboard(dpy, root, True, GrabModeAsync,
|
|
|
|
while(XGrabKeyboard(dpy, root, True, GrabModeAsync,
|
|
|
@ -346,7 +346,7 @@ main(int argc, char *argv[])
|
|
|
|
cmdw = mw / 3;
|
|
|
|
cmdw = mw / 3;
|
|
|
|
|
|
|
|
|
|
|
|
text[0] = 0;
|
|
|
|
text[0] = 0;
|
|
|
|
input(text);
|
|
|
|
match(text);
|
|
|
|
XMapRaised(dpy, win);
|
|
|
|
XMapRaised(dpy, win);
|
|
|
|
drawmenu();
|
|
|
|
drawmenu();
|
|
|
|
XSync(dpy, False);
|
|
|
|
XSync(dpy, False);
|
|
|
|