applied anydot's dmenu_path caching patch, thank you!
[dmenu.git] / main.c
diff --git a/main.c b/main.c
index fa03ec8..e4c4903 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,7 +1,6 @@
-/* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com>
- * (C)opyright MMVI-MMVII Sander van Dijk <a dot h dot vandijk at gmail dot com>
- * See LICENSE file for license details.
- */
+/* © 2006-2007 Anselm R. Garbe <garbeam at gmail dot com>
+ * © 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
+ * See LICENSE file for license details. */
 #include "dmenu.h"
 #include <ctype.h>
 #include <locale.h>
@@ -136,6 +135,8 @@ initfont(const char *fontstr) {
        char *def, **missing;
        int i, n;
 
+       if(!fontstr || fontstr[0] == '\0')
+               eprint("error, cannot load font: '%s'\n", fontstr);
        missing = NULL;
        if(dc.font.set)
                XFreeFontSet(dpy, dc.font.set);
@@ -216,6 +217,13 @@ kpress(XKeyEvent * e) {
        len = strlen(text);
        buf[0] = 0;
        num = XLookupString(e, buf, sizeof buf, &ksym, 0);
+       if(IsKeypadKey(ksym)) { 
+               if(ksym == XK_KP_Enter) {
+                       ksym = XK_Return;
+               } else if(ksym >= XK_KP_0 && ksym <= XK_KP_9) {
+                       ksym = (ksym - XK_KP_0) + XK_0;
+               }
+       }
        if(IsFunctionKey(ksym) || IsKeypadKey(ksym)
                        || IsMiscFunctionKey(ksym) || IsPFKey(ksym)
                        || IsPrivateKeypadKey(ksym))
@@ -451,7 +459,7 @@ main(int argc, char *argv[]) {
                        if(++i < argc) selfg = argv[i];
                }
                else if(!strncmp(argv[i], "-v", 3))
-                       eprint("dmenu-"VERSION", (C)opyright MMVI-MMVII Anselm R. Garbe\n");
+                       eprint("dmenu-"VERSION", © 2006-2007 Anselm R. Garbe, Sander van Dijk\n");
                else
                        usage();
        setlocale(LC_CTYPE, "");