X-Git-Url: https://git.xinqibao.xyz/dmenu.git/blobdiff_plain/c01f36a1f30c9a8846b75269522219b8f5ff6821..a02a1a662362a1e74f627c7f47335b5aeda79c67:/dmenu.c diff --git a/dmenu.c b/dmenu.c index f71b056..a5af9d5 100644 --- a/dmenu.c +++ b/dmenu.c @@ -117,7 +117,7 @@ main(int argc, char *argv[]) { setup(); run(); - return EXIT_FAILURE; /* unreachable */ + return 1; /* unreachable */ } void @@ -258,8 +258,8 @@ keypress(XKeyEvent *ev) { case XK_i: ksym = XK_Tab; break; case XK_j: ksym = XK_Return; break; case XK_m: ksym = XK_Return; break; - case XK_n: ksym = XK_Up; break; - case XK_p: ksym = XK_Down; break; + case XK_n: ksym = XK_Down; break; + case XK_p: ksym = XK_Up; break; case XK_k: /* delete right */ text[cursor] = '\0'; @@ -328,6 +328,8 @@ keypress(XKeyEvent *ev) { cursor = nextrune(-1); break; } + if(lines > 0) + return; /* fallthrough */ case XK_Up: if(sel && sel->left && (sel = sel->left)->right == curr) { @@ -356,6 +358,8 @@ keypress(XKeyEvent *ev) { cursor = nextrune(+1); break; } + if(lines > 0) + return; /* fallthrough */ case XK_Down: if(sel && sel->right && (sel = sel->right) == next) {