mirror of git://git.suckless.org/dmenu
fixed 3 bugs and some inconsistency
This commit is contained in:
parent
0ba3bae981
commit
e3623cd7f2
15
dmenu.c
15
dmenu.c
|
@ -159,12 +159,12 @@ cistrstr(const char *s, const char *sub) {
|
||||||
|
|
||||||
if(!sub)
|
if(!sub)
|
||||||
return (char *)s;
|
return (char *)s;
|
||||||
if((c = *sub++) != 0) {
|
if((c = *sub++) != '\0') {
|
||||||
c = tolower(c);
|
c = tolower(c);
|
||||||
len = strlen(sub);
|
len = strlen(sub);
|
||||||
do {
|
do {
|
||||||
do {
|
do {
|
||||||
if((csub = *s++) == 0)
|
if((csub = *s++) == '\0')
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
while(tolower(csub) != c);
|
while(tolower(csub) != c);
|
||||||
|
@ -220,7 +220,7 @@ drawmenu(void) {
|
||||||
dc.x += promptw;
|
dc.x += promptw;
|
||||||
dc.w = mw - promptw;
|
dc.w = mw - promptw;
|
||||||
/* print command */
|
/* print command */
|
||||||
if(cmdw && item)
|
if(cmdw && item && !vlist)
|
||||||
dc.w = cmdw;
|
dc.w = cmdw;
|
||||||
drawtext(text[0] ? text : NULL, dc.norm);
|
drawtext(text[0] ? text : NULL, dc.norm);
|
||||||
drawcursor();
|
drawcursor();
|
||||||
|
@ -371,7 +371,7 @@ kpress(XKeyEvent * e) {
|
||||||
KeySym ksym;
|
KeySym ksym;
|
||||||
|
|
||||||
len = strlen(text);
|
len = strlen(text);
|
||||||
buf[0] = 0;
|
buf[0] = '\0';
|
||||||
num = XLookupString(e, buf, sizeof buf, &ksym, NULL);
|
num = XLookupString(e, buf, sizeof buf, &ksym, NULL);
|
||||||
if(IsKeypadKey(ksym)) {
|
if(IsKeypadKey(ksym)) {
|
||||||
if(ksym == XK_KP_Enter)
|
if(ksym == XK_KP_Enter)
|
||||||
|
@ -414,7 +414,8 @@ kpress(XKeyEvent * e) {
|
||||||
break;
|
break;
|
||||||
case XK_u:
|
case XK_u:
|
||||||
case XK_U:
|
case XK_U:
|
||||||
text[0] = 0;
|
cursor = 0;
|
||||||
|
text[0] = '\0';
|
||||||
match(text);
|
match(text);
|
||||||
break;
|
break;
|
||||||
case XK_w:
|
case XK_w:
|
||||||
|
@ -626,7 +627,7 @@ readstdin(void) {
|
||||||
buf[--len] = '\0';
|
buf[--len] = '\0';
|
||||||
if(!(p = strdup(buf)))
|
if(!(p = strdup(buf)))
|
||||||
eprint("fatal: could not strdup() %u bytes\n", len);
|
eprint("fatal: could not strdup() %u bytes\n", len);
|
||||||
if(max < len) {
|
if(max < len || !maxname) {
|
||||||
maxname = p;
|
maxname = p;
|
||||||
max = len;
|
max = len;
|
||||||
}
|
}
|
||||||
|
@ -740,7 +741,7 @@ setup(Bool topbar) {
|
||||||
cmdw = MIN(textw(maxname), mw / 3);
|
cmdw = MIN(textw(maxname), mw / 3);
|
||||||
if(prompt)
|
if(prompt)
|
||||||
promptw = MIN(textw(prompt), mw / 5);
|
promptw = MIN(textw(prompt), mw / 5);
|
||||||
text[0] = 0;
|
text[0] = '\0';
|
||||||
match(text);
|
match(text);
|
||||||
XMapRaised(dpy, win);
|
XMapRaised(dpy, win);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue