diff options
Diffstat (limited to 'dmenu.c')
| -rw-r--r-- | dmenu.c | 26 |
1 files changed, 21 insertions, 5 deletions
@@ -334,17 +334,17 @@ keypress(XKeyEvent *ev) case XK_g: ksym = XK_Escape; break; case XK_h: ksym = XK_BackSpace; break; case XK_i: ksym = XK_Tab; break; - case XK_j: /* fallthrough */ + /* case XK_j: #<{(| fallthrough |)}># */ case XK_J: /* fallthrough */ case XK_m: /* fallthrough */ case XK_M: ksym = XK_Return; ev->state &= ~ControlMask; break; case XK_n: ksym = XK_Down; break; case XK_p: ksym = XK_Up; break; - case XK_k: /* delete right */ - text[cursor] = '\0'; - match(); - break; + /* case XK_k: #<{(| delete right |)}># */ + /* text[cursor] = '\0'; */ + /* match(); */ + /* break; */ case XK_u: /* delete left */ insert(NULL, 0 - cursor); break; @@ -371,6 +371,22 @@ keypress(XKeyEvent *ev) case XK_bracketleft: cleanup(); exit(1); + + // ADDED Ctrl-j/k for selection + case XK_j: + /* case XK_Down: */ + if (sel && sel->right && (sel = sel->right) == next) { + curr = next; + calcoffsets(); + } + break; + case XK_k: + if (sel && sel->left && (sel = sel->left)->right == curr) { + curr = prev; + calcoffsets(); + } + break; + default: return; } |
