X-Git-Url: https://git.subgeniuskitty.com/xmenu/.git/blobdiff_plain/fd530f3f68ba88ca2667eac25607708073c2e19e..HEAD:/config.h diff --git a/config.h b/config.h index a3e4f95..254201c 100644 --- a/config.h +++ b/config.h @@ -1,20 +1,62 @@ -/* font */ -static const char *font = "monospace:size=9"; /* for regular items */ - -/* 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"; - -/* sizes in pixels */ -static int width_pixels = 130; /* minimum width of a menu */ -static int padding_pixels = 4; /* padding around label in a item */ -static int border_pixels = 1; /* menu border */ -static int separator_pixels = 3; /* space around separator */ - -/* geometry of the right-pointing isoceles triangle for submenus */ -static const int triangle_width = 3; -static const int triangle_height = 7; +static struct Config config = { + /* font, separate different fonts with comma */ + .font = "monospace:size=9,DejaVuSansMono:size=9", + + /* colors */ + .background_color = "#FFFFFF", + .foreground_color = "#2E3436", + .selbackground_color = "#3584E4", + .selforeground_color = "#FFFFFF", + .separator_color = "#CDC7C2", + .border_color = "#E6E6E6", + + /* 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 */ + .max_items = 0, /* maximum number of items of a menu, 0 to compute based on monitor height */ + + /* text alignment, set to LeftAlignment, CenterAlignment or RightAlignment */ + .alignment = LeftAlignment, + + /* + * 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 */ + .triangle_width = 3, + .triangle_height = 7, + + /* 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. 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 */