X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=main.c;h=06b2ca9dc866a592ad15099c9247032bc0f38529;hb=3dcdbe2a57a19bf727113eca6aa35b1c7cb0ef28;hp=3ea9d89ade12df95f4b5e76075ef752bb127ef94;hpb=225cd764c321b3c33f6da892a7599e4e8d86ab85;p=dmenu.git diff --git a/main.c b/main.c index 3ea9d89..06b2ca9 100644 --- a/main.c +++ b/main.c @@ -178,6 +178,29 @@ kpress(XKeyEvent * e) { break; } } + if(e->state & Mod1Mask) { + switch(ksym) { + default: return; + case XK_h: + ksym = XK_Left; + break; + case XK_l: + ksym = XK_Right; + break; + case XK_j: + ksym = XK_Next; + break; + case XK_l: + ksym = XK_Prior; + break; + case XK_g: + ksym = XK_Home; + break; + case XK_G: + ksym = XK_End; + break; + } + } switch(ksym) { default: if(num && !iscntrl((int) buf[0])) { @@ -200,7 +223,7 @@ kpress(XKeyEvent * e) { } break; case XK_End: - if(!sel) + if(!item) return; while(next) { sel = curr = next;