Xinqi Bao's Git
projects
/
dmenu.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
bugfix of the -0 case in dmenu (thanks to Sander for his hint)
[dmenu.git]
/
dmenu.c
diff --git
a/dmenu.c
b/dmenu.c
index
b07671c
..
78c5a75
100644
(file)
--- a/
dmenu.c
+++ b/
dmenu.c
@@
-295,7
+295,7
@@
grabkeyboard(void) {
for(len = 1000; len; len--) {
if(XGrabKeyboard(dpy, root, True, GrabModeAsync, GrabModeAsync, CurrentTime)
for(len = 1000; len; len--) {
if(XGrabKeyboard(dpy, root, True, GrabModeAsync, GrabModeAsync, CurrentTime)
-
== GrabSuccess)
+ == GrabSuccess)
break;
usleep(1000);
}
break;
usleep(1000);
}
@@
-353,16
+353,14
@@
kpress(XKeyEvent * e) {
len = strlen(text);
buf[0] = 0;
num = XLookupString(e, buf, sizeof buf, &ksym, 0);
len = strlen(text);
buf[0] = 0;
num = XLookupString(e, buf, sizeof buf, &ksym, 0);
- if(IsKeypadKey(ksym))
{
- if(ksym == XK_KP_Enter)
{
+ if(IsKeypadKey(ksym))
+ if(ksym == XK_KP_Enter)
ksym = XK_Return;
ksym = XK_Return;
- } else if(ksym >= XK_KP_0 && ksym <= XK_KP_9) {
+ else if(ksym >= XK_KP_0 && ksym <= XK_KP_9)
ksym = (ksym - XK_KP_0) + XK_0;
ksym = (ksym - XK_KP_0) + XK_0;
- }
- }
if(IsFunctionKey(ksym) || IsKeypadKey(ksym)
if(IsFunctionKey(ksym) || IsKeypadKey(ksym)
-
|| IsMiscFunctionKey(ksym) || IsPFKey(ksym)
-
|| IsPrivateKeypadKey(ksym))
+ || IsMiscFunctionKey(ksym) || IsPFKey(ksym)
+ || IsPrivateKeypadKey(ksym))
return;
/* first check if a control mask is omitted */
if(e->state & ControlMask) {
return;
/* first check if a control mask is omitted */
if(e->state & ControlMask) {
@@
-536,7
+534,7
@@
match(char *pattern) {
}
if(lprefix) {
if(itemend) {
}
if(lprefix) {
if(itemend) {
- itemend->right
-
lprefix;
+ itemend->right
=
lprefix;
lprefix->left = itemend;
}
else
lprefix->left = itemend;
}
else
@@
-631,7
+629,7
@@
setup(int x, int y, int w) {
mw = w ? w : DisplayWidth(dpy, screen);
mh = dc.font.height + 2;
if(y < 0) {
mw = w ? w : DisplayWidth(dpy, screen);
mh = dc.font.height + 2;
if(y < 0) {
- if(y == (
int)(unsigned int)-
1)
+ if(y == (
(~(unsigned int)0)/2)+
1)
y = DisplayHeight(dpy, screen) - mh;
else
y = (-1 * y) - mh;
y = DisplayHeight(dpy, screen) - mh;
else
y = (-1 * y) - mh;
@@
-709,12
+707,11
@@
main(int argc, char *argv[]) {
if(++i < argc) x = atoi(argv[i]);
}
else if(!strcmp(argv[i], "-y")) {
if(++i < argc) x = atoi(argv[i]);
}
else if(!strcmp(argv[i], "-y")) {
- if(++i < argc)
{
+ if(++i < argc)
if(!strcmp(argv[i], "-0"))
if(!strcmp(argv[i], "-0"))
- y = (
int)(unsigned int)-
1;
+ y = (
(~(unsigned int)0)/2)+
1;
else
y = atoi(argv[i]);
else
y = atoi(argv[i]);
- }
}
else if(!strcmp(argv[i], "-w")) {
if(++i < argc) w = atoi(argv[i]);
}
else if(!strcmp(argv[i], "-w")) {
if(++i < argc) w = atoi(argv[i]);