Martti,
Thanks for the feedback on the diff format, I was using the normal old diff 
tool for the original diff file.  I created and attached a new one using hg 
diff  which looks like it would fit the format you mentioned.  The patch is 
built from the mercurial tip from about 2 days ago.
Thanks~Josh                                       
diff -r 178b077493cf dmenu.1
--- a/dmenu.1	Fri Feb 10 00:37:42 2012 +0000
+++ b/dmenu.1	Tue Mar 06 21:56:00 2012 -0800
@@ -20,6 +20,8 @@
 .IR color ]
 .RB [ \-sf
 .IR color ]
+.RB [ \-w
+.IR width ]
 .RB [ \-v ]
 .P
 .BR dmenu_run " ..."
@@ -70,6 +72,9 @@
 .BI \-sf " color"
 defines the selected foreground color.
 .TP
+.BI \-w " width"
+sets width of the menu in pixels
+.TP
 .B \-v
 prints version information to stdout, then exits.
 .SH USAGE
diff -r 178b077493cf dmenu.c
--- a/dmenu.c	Fri Feb 10 00:37:42 2012 +0000
+++ b/dmenu.c	Tue Mar 06 21:56:00 2012 -0800
@@ -50,6 +50,7 @@
 static const char *selbgcolor  = "#005577";
 static const char *selfgcolor  = "#eeeeee";
 static unsigned int lines = 0;
+static unsigned int width = 0;
 static unsigned long normcol[ColLast];
 static unsigned long selcol[ColLast];
 static Atom clip, utf8;
@@ -100,6 +101,8 @@
 			selbgcolor = argv[++i];
 		else if(!strcmp(argv[i], "-sf"))  /* selected foreground color */
 			selfgcolor = argv[++i];
+		else if(!strcmp(argv[i], "-w"))   /* changes menu width */
+			width = atoi(argv[++i]);
 		else
 			usage();
 
@@ -569,7 +572,7 @@
 
 		x = info[i].x_org;
 		y = info[i].y_org + (topbar ? 0 : info[i].height - mh);
-		mw = info[i].width;
+		mw = width > 0 ? width : info[i].width;
 		XFree(info);
 	}
 	else
@@ -577,7 +580,7 @@
 	{
 		x = 0;
 		y = topbar ? 0 : DisplayHeight(dc->dpy, screen) - mh;
-		mw = DisplayWidth(dc->dpy, screen);
+		mw = width > 0 ? width : DisplayWidth(dc->dpy, screen);
 	}
 	promptw = prompt ? textw(dc, prompt) : 0;
 	inputw = MIN(inputw, mw/3);
@@ -605,6 +608,6 @@
 void
 usage(void) {
 	fputs("usage: dmenu [-b] [-f] [-i] [-l lines] [-p prompt] [-fn font]\n"
-	      "             [-nb color] [-nf color] [-sb color] [-sf color] [-v]\n", stderr);
+	      "             [-nb color] [-nf color] [-sb color] [-sf color] [-w width] [-v]\n", stderr);
 	exit(EXIT_FAILURE);
 }

Reply via email to