X-Git-Url: https://git.xinqibao.xyz/dmenu.git/blobdiff_plain/b7695fa98cb75c1f2ac342227bbebf4e648f37e7..31ffcd3b9a2beccb8b8830055748e52e07b3b258:/dmenu.c

diff --git a/dmenu.c b/dmenu.c
index f19e798..f5d2bd1 100644
--- a/dmenu.c
+++ b/dmenu.c
@@ -109,6 +109,7 @@ drawmenu(void) {
 	dc->x = 0;
 	dc->y = 0;
 	drawrect(dc, 0, 0, mw, mh, BG(dc, normcol));
+
 	dc->h = dc->font.height + 2;
 	dc->y = topbar ? 0 : mh - dc->h;
 	/* print prompt? */
@@ -118,7 +119,7 @@ drawmenu(void) {
 		dc->x = dc->w;
 	}
 	dc->w = mw - dc->x;
-	/* print input area */
+	/* print input field */
 	if(matches && lines == 0 && textw(dc, text) <= inputw)
 		dc->w = inputw;
 	drawtext(dc, text, normcol);
@@ -135,7 +136,7 @@ drawmenu(void) {
 	else if(curr && (dc->w == inputw || curr->next)) {
 		dc->x += inputw;
 		dc->w = textw(dc, "<");
-		if(prev)
+		if(curr->left)
 			drawtext(dc, "<", normcol);
 		for(item = curr; item != next; item = item->right) {
 			dc->x += dc->w;
@@ -338,7 +339,7 @@ keypress(XKeyEvent *e) {
 
 void
 match(void) {
-	unsigned int len;
+	size_t len;
 	Item *item, *itemend, *lexact, *lprefix, *lsubstr, *exactend, *prefixend, *substrend;
 
 	len = strlen(text);
@@ -453,7 +454,7 @@ setup(void) {
 	selcol[ColBG] = getcolor(dc, selbgcolor);
 	selcol[ColFG] = getcolor(dc, selfgcolor);
 
-	/* input window geometry */
+	/* menu geometry */
 	mh = (dc->font.height + 2) * (lines + 1);
 #ifdef XINERAMA
 	if((info = XineramaQueryScreens(dc->dpy, &n))) {
@@ -477,7 +478,7 @@ setup(void) {
 		y = topbar ? 0 : DisplayHeight(dc->dpy, screen) - mh;
 		mw = DisplayWidth(dc->dpy, screen);
 	}
-	/* input window */
+	/* menu window */
 	wa.override_redirect = True;
 	wa.background_pixmap = ParentRelative;
 	wa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask;
@@ -487,7 +488,7 @@ setup(void) {
 			CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
 
 	grabkeyboard();
-	setcanvas(dc, win, mw, mh);
+	setcanvas(dc, mw, mh);
 	inputw = MIN(inputw, mw/3);
 	promptw = prompt ? MIN(textw(dc, prompt), mw/5) : 0;
 	XMapRaised(dc->dpy, win);
@@ -524,13 +525,12 @@ main(int argc, char *argv[]) {
 		else if(i == argc-1)
 			usage();
 		/* double flags */
-		else if(!strcmp(argv[i], "-l")) {
+		else if(!strcmp(argv[i], "-l"))
 			lines = atoi(argv[++i]);
-		}
 		else if(!strcmp(argv[i], "-p"))
 			prompt = argv[++i];
 		else if(!strcmp(argv[i], "-fn"))
-			initfont(dc, argv[i++]);
+			initfont(dc, argv[++i]);
 		else if(!strcmp(argv[i], "-nb"))
 			normbgcolor = argv[++i];
 		else if(!strcmp(argv[i], "-nf"))