X-Git-Url: https://git.subgeniuskitty.com/xmenu/.git/blobdiff_plain/237da9824c6ed299058589519e9f7a1003d5f145..c2959cf43954975a2b5913009799b8308463d6c1:/xmenu.h diff --git a/xmenu.h b/xmenu.h index 04a4ddf..e29df02 100644 --- a/xmenu.h +++ b/xmenu.h @@ -1,8 +1,7 @@ #define PROGNAME "xmenu" -/* macros for keyboard menu navigation */ -#define ITEMPREV 0 -#define ITEMNEXT 1 +/* enum for keyboard menu navigation */ +enum { ITEMPREV, ITEMNEXT, ITEMFIRST, ITEMLAST }; /* macros */ #define LEN(x) (sizeof (x) / sizeof (x[0])) @@ -42,7 +41,6 @@ struct Config { /* the value below is computed by xmenu */ int iconsize; - int screenw, screenh; /* screen width and height */ }; /* draw context structure */ @@ -54,6 +52,7 @@ struct DC { GC gc; + FcPattern *pattern; XftFont **fonts; size_t nfonts; }; @@ -65,7 +64,6 @@ struct Item { char *file; /* filename of the icon */ int y; /* item y position relative to menu */ int h; /* item height */ - size_t labellen; /* strlen(label) */ struct Item *prev; /* previous item */ struct Item *next; /* next item */ struct Menu *submenu; /* submenu spawned by clicking on item */ @@ -73,7 +71,7 @@ struct Item { Imlib_Image icon; }; -/* monitor and cursor geometry structure */ +/* monitor geometry structure */ struct Monitor { int x, y, w, h; /* monitor geometry */ }; @@ -85,6 +83,7 @@ struct Menu { struct Item *list; /* list of items contained by the menu */ struct Item *selected; /* item currently selected in the 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 */ unsigned level; /* menu level relative to root */ Window win; /* menu window to map on the screen */