X-Git-Url: https://git.subgeniuskitty.com/xmenu/.git/blobdiff_plain/b1cf3ebd740779e85da89234124f3ff88cea2c1a..27c03246ca5fe2612ec0dd80f3c5fcabf249f87d:/xmenu.h diff --git a/xmenu.h b/xmenu.h index 7e22107..ecb0d14 100644 --- a/xmenu.h +++ b/xmenu.h @@ -1,8 +1,10 @@ #define PROGNAME "xmenu" -/* macros for keyboard menu navigation */ -#define ITEMPREV 0 -#define ITEMNEXT 1 +/* enum for keyboard menu navigation */ +enum { ITEMPREV, ITEMNEXT, ITEMFIRST, ITEMLAST }; + +/* enum for text alignment */ +enum {LeftAlignment, CenterAlignment, RightAlignment}; /* macros */ #define LEN(x) (sizeof (x) / sizeof (x[0])) @@ -35,6 +37,7 @@ struct Config { int triangle_height; int iconpadding; int horzpadding; + int alignment; /* the values below are set by options */ int monitor; @@ -53,6 +56,7 @@ struct DC { GC gc; + FcPattern *pattern; XftFont **fonts; size_t nfonts; }; @@ -64,6 +68,7 @@ struct Item { char *file; /* filename of the icon */ int y; /* item y position relative to menu */ int h; /* item height */ + int textw; /* text width */ struct Item *prev; /* previous item */ struct Item *next; /* next item */ struct Menu *submenu; /* submenu spawned by clicking on item */ @@ -85,6 +90,7 @@ struct Menu { int x, y, w, h; /* menu geometry */ int hasicon; /* whether the menu has item with icons */ int drawn; /* whether the menu was already drawn */ + int maxtextw; /* maximum text width */ unsigned level; /* menu level relative to root */ Window win; /* menu window to map on the screen */ };