#include "dmenu.h"
#include <ctype.h>
+#include <locale.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/select.h>
#include <sys/time.h>
-#include <X11/cursorfont.h>
#include <X11/Xutil.h>
#include <X11/keysym.h>
len = strlen(text);
buf[0] = 0;
- num = XLookupString(e, buf, sizeof(buf), &ksym, 0);
+ num = XLookupString(e, buf, sizeof buf, &ksym, 0);
if(IsFunctionKey(ksym) || IsKeypadKey(ksym)
|| IsMiscFunctionKey(ksym) || IsPFKey(ksym)
|| IsPrivateKeypadKey(ksym))
case XK_Tab:
if(!sel)
return;
- strncpy(text, sel->text, sizeof(text));
+ strncpy(text, sel->text, sizeof text);
match(text);
break;
case XK_Right:
if(num && !iscntrl((int) buf[0])) {
buf[num] = 0;
if(len > 0)
- strncat(text, buf, sizeof(text));
+ strncat(text, buf, sizeof text);
else
- strncpy(text, buf, sizeof(text));
+ strncpy(text, buf, sizeof text);
match(text);
}
}
Item *i, *new;
i = 0;
- while(fgets(buf, sizeof(buf), stdin)) {
+ while(fgets(buf, sizeof buf, stdin)) {
len = strlen(buf);
if (buf[len - 1] == '\n')
buf[len - 1] = 0;
timeout.tv_sec = 3;
/* command line args */
for(i = 1; i < argc; i++)
- if(!strncmp(argv[i], "-font", 6))
- font = argv[++i];
- else if(!strncmp(argv[i], "-normbg", 8))
- normbg = argv[++i];
- else if(!strncmp(argv[i], "-normfg", 8))
- normfg = argv[++i];
- else if(!strncmp(argv[i], "-selbg", 7))
- selbg = argv[++i];
- else if(!strncmp(argv[i], "-selfg", 7))
- selfg = argv[++i];
- else if(!strncmp(argv[i], "-t", 3))
- timeout.tv_sec = atoi(argv[++i]);
+ if(!strncmp(argv[i], "-font", 6)) {
+ if(++i < argc) font = argv[i];
+ }
+ else if(!strncmp(argv[i], "-normbg", 8)) {
+ if(++i < argc) normbg = argv[i];
+ }
+ else if(!strncmp(argv[i], "-normfg", 8)) {
+ if(++i < argc) normfg = argv[i];
+ }
+ else if(!strncmp(argv[i], "-selbg", 7)) {
+ if(++i < argc) selbg = argv[i];
+ }
+ else if(!strncmp(argv[i], "-selfg", 7)) {
+ if(++i < argc) selfg = argv[i];
+ }
+ else if(!strncmp(argv[i], "-t", 3)) {
+ if(++i < argc) timeout.tv_sec = atoi(argv[i]);
+ }
else if(!strncmp(argv[i], "-v", 3)) {
fputs("dmenu-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout);
exit(EXIT_SUCCESS);
}
else
eprint("usage: dmenu [-font <name>] [-{norm,sel}{bg,fg} <color>] [-t <seconds>] [-v]\n", stdout);
+ setlocale(LC_CTYPE, "");
dpy = XOpenDisplay(0);
if(!dpy)
eprint("dmenu: cannot open display\n");
DefaultDepth(dpy, screen), CopyFromParent,
DefaultVisual(dpy, screen),
CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
- XDefineCursor(dpy, win, XCreateFontCursor(dpy, XC_xterm));
/* pixmap */
dc.drawable = XCreatePixmap(dpy, root, mw, mh, DefaultDepth(dpy, screen));
dc.gc = XCreateGC(dpy, root, 0, 0);