projects
/
xmenu
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add alignment
[xmenu]
/
xmenu.h
diff --git
a/xmenu.h
b/xmenu.h
index
7e22107
..
ecb0d14
100644
(file)
--- a/
xmenu.h
+++ b/
xmenu.h
@@
-1,8
+1,10
@@
#define PROGNAME "xmenu"
#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]))
/* macros */
#define LEN(x) (sizeof (x) / sizeof (x[0]))
@@
-35,6
+37,7
@@
struct Config {
int triangle_height;
int iconpadding;
int horzpadding;
int triangle_height;
int iconpadding;
int horzpadding;
+ int alignment;
/* the values below are set by options */
int monitor;
/* the values below are set by options */
int monitor;
@@
-53,6
+56,7
@@
struct DC {
GC gc;
GC gc;
+ FcPattern *pattern;
XftFont **fonts;
size_t nfonts;
};
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 */
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 */
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 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 */
};
unsigned level; /* menu level relative to root */
Window win; /* menu window to map on the screen */
};