-/* font */
-static const char *font = "monospace:size=9"; /* for regular items */
+static struct Config config = {
+ /* font, separate different fonts with comma */
+ .font = "monospace:size=9,DejaVuSansMono:size=9",
-/* colors */
-static const char *background_color = "#FFFFFF";
-static const char *foreground_color = "#2E3436";
-static const char *selbackground_color = "#3584E4";
-static const char *selforeground_color = "#FFFFFF";
-static const char *separator_color = "#CDC7C2";
-static const char *border_color = "#E6E6E6";
+ /* colors */
+ .background_color = "#FFFFFF",
+ .foreground_color = "#2E3436",
+ .selbackground_color = "#3584E4",
+ .selforeground_color = "#FFFFFF",
+ .separator_color = "#CDC7C2",
+ .border_color = "#E6E6E6",
-/* sizes in pixels */
-static int width_pixels = 130; /* minimum width of a menu */
-static int height_pixels = 25; /* height of a single menu item */
-static int border_pixels = 1; /* menu border */
-static int separator_pixels = 3; /* space around separator */
+ /* sizes in pixels */
+ .width_pixels = 130, /* minimum width of a menu */
+ .height_pixels = 25, /* height of a single menu item */
+ .border_pixels = 1, /* menu border */
+ .separator_pixels = 3, /* space around separator */
+ .gap_pixels = 0, /* gap between menus */
-/* the variables below cannot be set by X resources */
+ /*
+ * The variables below cannot be set by X resources.
+ * Their values must be less than .height_pixels.
+ */
-/* geometry of the right-pointing isoceles triangle for submenus */
-static const int triangle_width = 3;
-static const int triangle_height = 7;
+ /* geometry of the right-pointing isoceles triangle for submenus */
+ .triangle_width = 3,
+ .triangle_height = 7,
-/* padding of the area around the icon */
-static const int iconpadding = 4;
+ /* the icon size is equal to .height_pixels - .iconpadding * 2 */
+ .iconpadding = 2,
+
+ /* area around the icon, the triangle and the separator */
+ .horzpadding = 8,
+};
+
+/*
+ * KEYBINDINGS
+ *
+ * Look at your /usr/include/X11/keysymdef.h (or the equivalent file
+ * in your system) for a list of key symbol constants, and change the
+ * macros below accordingly. Note there IS NO equal sign (=) between
+ * the macros and their values. All key symbol constants begin with
+ * the prefix XK_
+ *
+ * For example, to use vim-like key bindings, set KEYSYMLEFT to XK_h,
+ * KEYSYMDOWN to XK_j, KEYSYMUP to XK_k, etc.
+ *
+ * Note that the regular keys like ArrowUp, ArrowDown, Tab, Home, etc
+ * will ALWAYS work, so you do not need to set them.
+ *
+ * If you do not want to set a key binding, keep it with the value of
+ * XK_VoidSymbol
+ */
+#define KSYMFIRST XK_VoidSymbol /* select first item */
+#define KSYMLAST XK_VoidSymbol /* select last item */
+#define KSYMUP XK_VoidSymbol /* select previous item */
+#define KSYMDOWN XK_VoidSymbol /* select next item */
+#define KSYMLEFT XK_VoidSymbol /* close current menu */
+#define KSYMRIGHT XK_VoidSymbol /* enter selected item */