conform code to my new coding style
authorphillbush <phillbush@cock.li>
Sun, 27 Sep 2020 22:01:13 +0000 (19:01 -0300)
committerphillbush <phillbush@cock.li>
Sun, 27 Sep 2020 22:01:13 +0000 (19:01 -0300)
xmenu.c

diff --git a/xmenu.c b/xmenu.c
index c5290c9..51412b3 100644 (file)
--- a/xmenu.c
+++ b/xmenu.c
 #include <Imlib2.h>
 #include "xmenu.h"
 
 #include <Imlib2.h>
 #include "xmenu.h"
 
-/*
- * Function declarations
- */
-
-/* argument parser */
-static void parseposition(char *optarg);
-
-/* initializers, and their helper routines */
-static void parsefonts(const char *s);
-static void ealloccolor(const char *s, XftColor *color);
-static void initmonitor(void);
-static void initresources(void);
-static void initdc(void);
-static void initiconsize(void);
-static void initatoms(void);
-
-/* structure builders, and their helper routines */
-static struct Item *allocitem(const char *label, const char *output, char *file);
-static struct Menu *allocmenu(struct Menu *parent, struct Item *list, unsigned level);
-static struct Menu *buildmenutree(unsigned level, const char *label, const char *output, char *file);
-static struct Menu *parsestdin(void);
-
-/* text drawer, and its helper routine */
-static FcChar32 getnextutf8char(const char *s, const char **end_ret);
-static XftFont *getfontucode(FcChar32 ucode);
-static int drawtext(XftDraw *draw, XftColor *color, int x, int y, unsigned h, const char *text);
-
-/* structure setters, and their helper routines */
-static void setupitems(struct Menu *menu);
-static void setupmenupos(struct Menu *menu);
-static void setupmenu(struct Menu *menu, XClassHint *classh);
-
-/* grabbers */
-static void grabpointer(void);
-static void grabkeyboard(void);
-
-/* item drawer, and its helper routine */
-static Imlib_Image loadicon(const char *file);
-static void drawitems(struct Menu *menu);
-
-/* menu drawers and mappers */
-static void drawmenus(struct Menu *currmenu);
-static void mapmenu(struct Menu *currmenu);
-
-/* getters */
-static struct Menu *getmenu(struct Menu *currmenu, Window win);
-static struct Item *getitem(struct Menu *menu, int y);
-
-/* cycle through items */
-static struct Item *itemcycle(struct Menu *currmenu, int direction);
-
-/* main event loop */
-static void run(struct Menu *currmenu);
-
-/* cleaners */
-static void cleanmenu(struct Menu *menu);
-static void cleanup(void);
-
-/* show usage */
-static void usage(void);
-
-
-/*
- * Variable declarations
- */
-
 /* X stuff */
 static Display *dpy;
 static int screen;
 /* X stuff */
 static Display *dpy;
 static int screen;
@@ -104,93 +38,12 @@ static int wflag = 0;   /* whether to let the window manager control XMenu */
 /* include config variable */
 #include "config.h"
 
 /* include config variable */
 #include "config.h"
 
-
-/*
- * Function implementations
- */
-
-/* xmenu: generate menu from stdin and print selected entry to stdout */
-int
-main(int argc, char *argv[])
+/* show usage */
+static void
+usage(void)
 {
 {
-       struct Menu *rootmenu;
-       XClassHint classh;
-       int ch;
-
-       while ((ch = getopt(argc, argv, "ip:w")) != -1) {
-               switch (ch) {
-               case 'i':
-                       iflag = 1;
-                       break;
-               case 'p':
-                       pflag = 1;
-                       parseposition(optarg);
-                       break;
-               case 'w':
-                       wflag = 1;
-                       break;
-               default:
-                       usage();
-                       break;
-               }
-       }
-       argc -= optind;
-       argv += optind;
-
-       if (argc > 1)
-               usage();
-
-       /* open connection to server and set X variables */
-       if ((dpy = XOpenDisplay(NULL)) == NULL)
-               errx(1, "could not open display");
-       screen = DefaultScreen(dpy);
-       visual = DefaultVisual(dpy, screen);
-       rootwin = RootWindow(dpy, screen);
-       colormap = DefaultColormap(dpy, screen);
-
-       /* imlib2 stuff */
-       if (!iflag) {
-               imlib_set_cache_size(2048 * 1024);
-               imlib_context_set_dither(1);
-               imlib_context_set_display(dpy);
-               imlib_context_set_visual(visual);
-               imlib_context_set_colormap(colormap);
-       }
-
-       /* initializers */
-       initmonitor();
-       initresources();
-       initdc();
-       initiconsize();
-       initatoms();
-
-       /* set window class */
-       classh.res_class = PROGNAME;
-       if (argc == 1)
-               classh.res_name = *argv;
-       else
-               classh.res_name = PROGNAME;
-
-       /* generate menus and set them up */
-       rootmenu = parsestdin();
-       if (rootmenu == NULL)
-               errx(1, "no menu generated");
-       setupmenu(rootmenu, &classh);
-
-       /* grab mouse and keyboard */
-       if (!wflag) {
-               grabpointer();
-               grabkeyboard();
-       }
-
-       /* run event loop */
-       run(rootmenu);
-
-       /* freeing stuff */
-       cleanmenu(rootmenu);
-       cleanup();
-
-       return 0;
+       (void)fprintf(stderr, "usage: xmenu [-iw] [-p position] [title]\n");
+       exit(1);
 }
 
 /* parse position string from -p,
 }
 
 /* parse position string from -p,
@@ -1379,10 +1232,86 @@ cleanup(void)
        XCloseDisplay(dpy);
 }
 
        XCloseDisplay(dpy);
 }
 
-/* show usage */
-static void
-usage(void)
+/* xmenu: generate menu from stdin and print selected entry to stdout */
+int
+main(int argc, char *argv[])
 {
 {
-       (void)fprintf(stderr, "usage: xmenu [-iw] [-p position] [title]\n");
-       exit(1);
+       struct Menu *rootmenu;
+       XClassHint classh;
+       int ch;
+
+       while ((ch = getopt(argc, argv, "ip:w")) != -1) {
+               switch (ch) {
+               case 'i':
+                       iflag = 1;
+                       break;
+               case 'p':
+                       pflag = 1;
+                       parseposition(optarg);
+                       break;
+               case 'w':
+                       wflag = 1;
+                       break;
+               default:
+                       usage();
+                       break;
+               }
+       }
+       argc -= optind;
+       argv += optind;
+
+       if (argc > 1)
+               usage();
+
+       /* open connection to server and set X variables */
+       if ((dpy = XOpenDisplay(NULL)) == NULL)
+               errx(1, "could not open display");
+       screen = DefaultScreen(dpy);
+       visual = DefaultVisual(dpy, screen);
+       rootwin = RootWindow(dpy, screen);
+       colormap = DefaultColormap(dpy, screen);
+
+       /* imlib2 stuff */
+       if (!iflag) {
+               imlib_set_cache_size(2048 * 1024);
+               imlib_context_set_dither(1);
+               imlib_context_set_display(dpy);
+               imlib_context_set_visual(visual);
+               imlib_context_set_colormap(colormap);
+       }
+
+       /* initializers */
+       initmonitor();
+       initresources();
+       initdc();
+       initiconsize();
+       initatoms();
+
+       /* set window class */
+       classh.res_class = PROGNAME;
+       if (argc == 1)
+               classh.res_name = *argv;
+       else
+               classh.res_name = PROGNAME;
+
+       /* generate menus and set them up */
+       rootmenu = parsestdin();
+       if (rootmenu == NULL)
+               errx(1, "no menu generated");
+       setupmenu(rootmenu, &classh);
+
+       /* grab mouse and keyboard */
+       if (!wflag) {
+               grabpointer();
+               grabkeyboard();
+       }
+
+       /* run event loop */
+       run(rootmenu);
+
+       /* freeing stuff */
+       cleanmenu(rootmenu);
+       cleanup();
+
+       return 0;
 }
 }