Only in dmenu-3.4.gap: dmenu
diff -ur dmenu-3.4/dmenu.1 dmenu-3.4.gap/dmenu.1
--- dmenu-3.4/dmenu.1	2007-10-25 20:26:14.000000000 +0200
+++ dmenu-3.4.gap/dmenu.1	2008-01-11 16:25:31.000000000 +0100
@@ -1,98 +1,109 @@
-.TH DMENU 1 dmenu\-VERSION
-.SH NAME
-dmenu \- dynamic menu
-.SH SYNOPSIS
-.B dmenu
-.RB [ \-b ]
-.RB [ \-i ]
-.RB [ \-fn " <font>"]
-.RB [ \-nb " <color>"]
-.RB [ \-nf " <color>"]
-.RB [ \-p " <prompt>"]
-.RB [ \-sb " <color>"]
-.RB [ \-sf " <color>"]
-.RB [ \-v ]
-.SH DESCRIPTION
-.SS Overview
+.Dd 2008
+.Os Suckless
+.Dt DMENU \&1 "Suckless Xlib Tools Manual"
+.Sh NAME
+.Nm dmenu 
+.Nd dynamic menu
+.Sh SYNOPSIS
+.Nm
+.Op Fl b
+.Op Fl i
+.Op Fl fn Ar <font>
+.Op Fl g Ar <gap>
+.Op Fl nb Ar <color>
+.Op Fl nf Ar <color>
+.Op Fl p Ar <prompt>
+.Op Fl sb Ar <color>
+.Op Fl sf Ar <color>
+.Op Fl v
+.Sh DESCRIPTION
+.Ss Overview
 dmenu is a generic menu for X, originally designed for
-.BR dwm (1).
+.Xr dwm 1 .
+.Pp
 It manages huge amounts (up to 10.000 and more) of user defined menu items
 efficiently.
-.SS Options
-.TP
-.B \-b
+.Ss Options
+.Bl -tag -width "1234567890123" -compact
+.Pp
+.It Fl b
 makes dmenu appear at the screen bottom (by default it appears at the screen top).
-.TP
-.B \-i
+.Pp
+.It Fl i
 makes dmenu match menu entries with ignoring intermediate characters.
-.TP
-.B \-fn <font>
+.Pp
+.It Fl fn Ar <font>
 defines the font.
-.TP
-.B \-nb <color>
+.Pp
+.It Fl g Ar <gap>
+places the menu <gap> pixels from the screen edge.
+.Pp
+.It Fl nb Ar <color>
 defines the normal background color (#RGB, #RRGGBB, and color names are supported).
-.TP
-.B \-nf <color>
+.Pp
+.It Fl nf Ar <color>
 defines the normal foreground color (#RGB, #RRGGBB, and color names are supported).
-.TP
-.B \-p <prompt>
+.Pp
+.It Fl p Ar <prompt>
 defines a prompt to be displayed before the input area.
-.TP
-.B \-sb <color>
+.Pp
+.It Fl sb Ar <color>
 defines the selected background color (#RGB, #RRGGBB, and color names are supported).
-.TP
-.B \-sf <color>
+.Pp
+.It Fl sf Ar <color>
 defines the selected foreground color (#RGB, #RRGGBB, and color names are supported).
-.TP
-.B \-v
+.Pp
+.It Fl v
 prints version information to standard output, then exits.
-.SH USAGE
+.Sh USAGE
 dmenu reads a list of newline-separated items from standard input and creates a
 menu.  When the user selects an item or enters any text and presses Return, his/her
 choice is printed to standard output and dmenu terminates.
-.P
+.Pp
 dmenu is completely controlled by the keyboard. The following keys are recognized:
-.TP
-.B Any printable character
+.Bl -tag -width "1234567890123" -compact
+.Pp
+.It Sy Any printable character
 Appends the character to the text in the input field.  This works as a filter:
 only items containing this text will be displayed.
-.TP
-.B Left/Right (Mod1\-h/Mod1\-l)
+.Pp
+.It Sy Left/Right (Mod1\-h/Mod1\-l)
 Select the previous/next item.
-.TP
-.B PageUp/PageDown (Mod1\-k/Mod1\-j)
+.Pp
+.It Sy PageUp/PageDown (Mod1\-k/Mod1\-j)
 Select the first item of the previous/next 'page' of items.
-.TP
-.B Home/End (Mod1\-g/Mod1\-G)
+.Pp
+.It Sy Home/End (Mod1\-g/Mod1\-G)
 Select the first/last item.
-.TP
-.B Tab (Control\-i)
+.Pp
+.It Sy Tab (Control\-i)
 Copy the selected item to the input field.
-.TP
-.B Return (Control\-j)
+.Pp
+.It Sy Return (Control\-j)
 Confirm selection and quit (print the selected item to standard output). Returns
-.B 0
+.Sy 0
 on termination.
-.TP
-.B Shift\-Return (Control\-Shift\-j)
-Confirm selection and quit (print the text in the input field to standard output).
-Returns
-.B 0
+.Pp
+.It Sy Shift\-Return (Control\-Shift\-j)
+Confirm selection and quit (print the text in the input field to standard
+output). Returns
+.Sy 0
 on termination.
-.TP
-.B Escape (Control\-bracketleft)
+.Pp
+.It Sy Escape (Control\-bracketleft)
 Quit without selecting an item. Returns
-.B 1
+.Sy 1
 on termination.
-.TP
-.B Backspace (Control\-h)
+.Pp
+.It Sy Backspace (Control\-h)
 Remove a character from the input field.
-.TP
-.B Control\-u
+.Pp
+.It Sy Control\-u
 Remove all characters from the input field.
-.TP
-.B Control\-w
+.Pp
+.It Sy Control\-w
 Remove all characters of current word from the input field.
-.SH SEE ALSO
-.BR dwm (1),
-.BR wmii (1) .
+.Sh SEE ALSO
+.Xr dwm 1 ,
+.Xr wmii 1 ,
+http://www.suckless.org/wiki/tools/xlib
Only in dmenu-3.4.gap: dmenu.1~
diff -ur dmenu-3.4/dmenu.c dmenu-3.4.gap/dmenu.c
--- dmenu-3.4/dmenu.c	2007-10-25 20:26:14.000000000 +0200
+++ dmenu-3.4.gap/dmenu.c	2008-01-11 16:34:23.000000000 +0100
@@ -56,7 +56,7 @@
 void match(char *pattern);
 void readstdin(void);
 void run(void);
-void setup(Bool bottom);
+void setup(Bool bottom, long gap);
 int strcaseido(const char *text, const char *pattern);
 char *cistrstr(const char *s, const char *sub);
 unsigned int textnw(const char *text, unsigned int len);
@@ -569,7 +569,7 @@
 }
 
 void
-setup(Bool bottom) {
+setup(Bool bottom, long gap) {
 	unsigned int i, j;
 	XModifierKeymap *modmap;
 	XSetWindowAttributes wa;
@@ -598,7 +598,7 @@
 	mw = DisplayWidth(dpy, screen);
 	mh = dc.font.height + 2;
 	win = XCreateWindow(dpy, root, 0,
-			bottom ? DisplayHeight(dpy, screen) - mh : 0, mw, mh, 0,
+			bottom ? DisplayHeight(dpy, screen) - mh - gap : gap, mw, mh, 0,
 			DefaultDepth(dpy, screen), CopyFromParent,
 			DefaultVisual(dpy, screen),
 			CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
@@ -672,6 +672,7 @@
 int
 main(int argc, char *argv[]) {
 	Bool bottom = False;
+        long gap = 0;
 	unsigned int i;
 
 	/* command line args */
@@ -684,6 +685,9 @@
 		else if(!strcmp(argv[i], "-fn")) {
 			if(++i < argc) font = argv[i];
 		}
+                else if(!strcmp(argv[i], "-g")) {
+                        if(++i < argc) gap = atol(argv[i]);
+                }
 		else if(!strcmp(argv[i], "-nb")) {
 			if(++i < argc) normbg = argv[i];
 		}
@@ -702,8 +706,8 @@
 		else if(!strcmp(argv[i], "-v"))
 			eprint("dmenu-"VERSION", © 2006-2007 Anselm R. Garbe, Sander van Dijk, Michał Janeczek\n");
 		else
-			eprint("usage: dmenu [-b] [-i] [-fn <font>] [-nb <color>] [-nf <color>]\n"
-			"             [-p <prompt>] [-sb <color>] [-sf <color>] [-v]\n");
+			eprint("usage: dmenu [-b] [-i] [-fn <font>] [-g <gap size>] [-nb <color>]\n"
+			       "       [-nf <color>] [-p <prompt>] [-sb <color>] [-sf <color>] [-v]\n");
 	setlocale(LC_CTYPE, "");
 	dpy = XOpenDisplay(0);
 	if(!dpy)
@@ -720,7 +724,7 @@
 		readstdin();
 	}
 
-	setup(bottom);
+	setup(bottom, gap);
 	drawmenu();
 	XSync(dpy, False);
 	run();
Only in dmenu-3.4.gap: dmenu.c~
Only in dmenu-3.4.gap: dmenu.o
