# HG changeset patch # User Michal Janeczek # Date 1190474662 -7200 # Node ID 369d38efccdd8942bec39f5bc5edf364600d908b # Parent c4b6b3824c0000e68629453d5b602cd3ec3a476c Added Emacs-like bindings (C-g - abort, M-p - prev item, M-n - next item) diff -r c4b6b3824c00 -r 369d38efccdd dmenu.1 --- a/dmenu.1 Sat Sep 22 17:21:30 2007 +0200 +++ b/dmenu.1 Sat Sep 22 17:24:22 2007 +0200 @@ -57,7 +57,7 @@ Appends the character to the text in the Appends the character to the text in the input field. This works as a filter: only items containing this text will be displayed. .TP -.B Left/Right (Mod1\-h/Mod1\-l) +.B Left/Right (Mod1\-h/Mod1\-l, Mod1\-p/Mod1\-n) Select the previous/next item. .TP .B PageUp/PageDown (Mod1\-k/Mod1\-j) @@ -80,7 +80,7 @@ Returns .B 0 on termination. .TP -.B Escape (Control\-bracketleft, Control\-c) +.B Escape (Control\-bracketleft, Control\-c, Control\-g) Quit without selecting an item. Returns .B 1 on termination. diff -r c4b6b3824c00 -r 369d38efccdd dmenu.c --- a/dmenu.c Sat Sep 22 17:21:30 2007 +0200 +++ b/dmenu.c Sat Sep 22 17:24:22 2007 +0200 @@ -336,6 +336,8 @@ kpress(XKeyEvent * e) { return; case XK_c: case XK_C: + case XK_g: + case XK_G: case XK_bracketleft: ksym = XK_Escape; break; @@ -377,9 +379,11 @@ kpress(XKeyEvent * e) { switch(ksym) { default: return; case XK_h: + case XK_p: ksym = XK_Left; break; case XK_l: + case XK_n: ksym = XK_Right; break; case XK_j: