/* See LICENSE file for copyright and license details. */
+/* Default settings; can be overriden by command line. */
-/* appearance */
-#define FONT "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*"
-#define NORMBGCOLOR "#cccccc"
-#define NORMFGCOLOR "#000000"
-#define SELBGCOLOR "#0066ff"
-#define SELFGCOLOR "#ffffff"
+static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */
+static int fuzzy = 1; /* -F option; if 0, dmenu doesn't use fuzzy matching */
+/* -fn option overrides fonts[0]; default X11 font or font set */
+static const char *fonts[] = {
+ "JetBrainsMono Medium NF:pixelsize=14:antialias=true:autohint=true"
+};
+static const char *prompt = NULL; /* -p option; prompt to the left of input field */
+static const char *colors[SchemeLast][2] = {
+ // fg bg
+ [SchemeNorm] = { "#000000", "#ffffff" },
+ [SchemeSel] = { "#ffffff", "#000000" },
+ [SchemeSelHighlight] = { "#ffc978", "#000000" },
+ [SchemeNormHighlight] = { "#000000", "#ffffff" },
+ [SchemeOut] = { "#000000", "#00ffff" },
+};
+/* -l option; if nonzero, dmenu uses vertical list with given number of lines */
+static unsigned int lines = 0;
-static uint spaceitem = 30; /* px between menu items */
-
-#ifdef XINERAMA
-static uint xidx = 0; /* Xinerama screen index to use */
-#endif
+/*
+ * Characters not considered part of a word while deleting words
+ * for example: " /?\"&[]"
+ */
+static const char worddelimiters[] = " ";