dmenu

my fork of dmenu
Index Commits Files Refs README LICENSE
commit 8d9ade36de4666835e49fe4366ff04cfe540dce6
parent da81f57f6d7ef2149b1d6db55178b4beaa70c5d7
Author: Connor Lane Smith <cls@lubutu.com>
Date:   Wed, 17 Nov 2010 04:33:34 +0000

moved main, updated args
Diffstat:
Mdmenu.1 | 5+++++
Mdmenu.c | 96++++++++++++++++++++++++++++++++++++++++----------------------------------------
2 files changed, 53 insertions(+), 48 deletions(-)
diff --git a/dmenu.1 b/dmenu.1
@@ -7,6 +7,8 @@ dmenu \- dynamic menu
 .RB [ \-i ]
 .RB [ \-l
 .IR lines ]
+.RB [ \-m
+.IR monitor ]
 .RB [ \-p
 .IR prompt ]
 .RB [ \-fn
@@ -51,6 +53,9 @@ dmenu matches menu items case insensitively.
 .BI \-l " lines"
 dmenu lists items vertically, with the given number of lines.
 .TP
+.BI \-m " monitor"
+dmenu appears on the given Xinerama screen.
+.TP
 .BI \-p " prompt"
 defines the prompt to be displayed to the left of the input field.
 .TP
diff --git a/dmenu.c b/dmenu.c
@@ -63,6 +63,52 @@ static Window root, win;
 
 static int (*fstrncmp)(const char *, const char *, size_t) = strncmp;
 
+int
+main(int argc, char *argv[]) {
+    int i;
+
+    progname = "dmenu";
+    for(i = 1; i < argc; i++)
+        /* single flags */
+        if(!strcmp(argv[i], "-v")) {
+            fputs("dmenu-"VERSION", © 2006-2010 dmenu engineers, see LICENSE for details\n", stdout);
+            exit(EXIT_SUCCESS);
+        }
+        else if(!strcmp(argv[i], "-b"))
+            topbar = False;
+        else if(!strcmp(argv[i], "-i"))
+            fstrncmp = strncasecmp;
+        else if(i == argc-1)
+            usage();
+        /* double flags */
+        else if(!strcmp(argv[i], "-l"))
+            lines = atoi(argv[++i]);
+        else if(!strcmp(argv[i], "-m"))
+            monitor = atoi(argv[++i]);
+        else if(!strcmp(argv[i], "-p"))
+            prompt = argv[++i];
+        else if(!strcmp(argv[i], "-fn"))
+            font = argv[++i];
+        else if(!strcmp(argv[i], "-nb"))
+            normbgcolor = argv[++i];
+        else if(!strcmp(argv[i], "-nf"))
+            normfgcolor = argv[++i];
+        else if(!strcmp(argv[i], "-sb"))
+            selbgcolor = argv[++i];
+        else if(!strcmp(argv[i], "-sf"))
+            selfgcolor = argv[++i];
+        else
+            usage();
+
+    dc = initdc();
+    initfont(dc, font);
+    readstdin();
+    setup();
+    run();
+
+    return EXIT_FAILURE;  /* should not reach */
+}
+
 void
 appenditem(Item *item, Item **list, Item **last) {
     if(!*last)
@@ -490,53 +536,7 @@ setup(void) {
 
 void
 usage(void) {
-    fputs("usage: dmenu [-b] [-i] [-l lines] [-p prompt] [-fn font] [-nb color]\n"
-          "             [-nf color] [-sb color] [-sf color] [-v]\n", stderr);
+    fputs("usage: dmenu [-b] [-i] [-l lines] [-m monitor] [-p prompt] [-fn font]\n"
+          "             [-nb color] [-nf color] [-sb color] [-sf color] [-v]\n", stderr);
     exit(EXIT_FAILURE);
 }
-
-int
-main(int argc, char *argv[]) {
-    int i;
-
-    progname = "dmenu";
-    for(i = 1; i < argc; i++)
-        /* single flags */
-        if(!strcmp(argv[i], "-v")) {
-            fputs("dmenu-"VERSION", © 2006-2010 dmenu engineers, see LICENSE for details\n", stdout);
-            exit(EXIT_SUCCESS);
-        }
-        else if(!strcmp(argv[i], "-b"))
-            topbar = False;
-        else if(!strcmp(argv[i], "-i"))
-            fstrncmp = strncasecmp;
-        else if(i == argc-1)
-            usage();
-        /* double flags */
-        else if(!strcmp(argv[i], "-l"))
-            lines = atoi(argv[++i]);
-        else if(!strcmp(argv[i], "-m"))
-            monitor = atoi(argv[++i]);
-        else if(!strcmp(argv[i], "-p"))
-            prompt = argv[++i];
-        else if(!strcmp(argv[i], "-fn"))
-            font = argv[++i];
-        else if(!strcmp(argv[i], "-nb"))
-            normbgcolor = argv[++i];
-        else if(!strcmp(argv[i], "-nf"))
-            normfgcolor = argv[++i];
-        else if(!strcmp(argv[i], "-sb"))
-            selbgcolor = argv[++i];
-        else if(!strcmp(argv[i], "-sf"))
-            selfgcolor = argv[++i];
-        else
-            usage();
-
-    dc = initdc();
-    initfont(dc, font);
-    readstdin();
-    setup();
-    run();
-
-    return EXIT_FAILURE;  /* should not reach */
-}