diff -r 9c5ad5303c3c dmenu.c
--- a/dmenu.c	Mon Mar 22 07:50:26 2010 +0000
+++ b/dmenu.c	Tue Mar 30 23:53:00 2010 +0000
@@ -775,6 +775,9 @@
 		}
 		else if(!strcmp(argv[i], "-b"))
 			topbar = False;
+		else if(!strcmp(argv[i], "-e")) {
+			if(++i < argc) root = atoi(argv[i]);
+		}
 		else if(!strcmp(argv[i], "-l")) {
 			vlist = True;
 			calcoffsets = calcoffsetsv;
@@ -808,7 +811,8 @@
 	if(!(dpy = XOpenDisplay(NULL)))
 		eprint("dmenu: cannot open display\n");
 	screen = DefaultScreen(dpy);
-	root = RootWindow(dpy, screen);
+	if(!root)
+		root = RootWindow(dpy, screen);
 
 	if(isatty(STDIN_FILENO)) {
 		readstdin();
