diff options
author | okan | 2012-12-17 02:28:45 +0000 |
---|---|---|
committer | okan | 2012-12-17 02:28:45 +0000 |
commit | 413da1eebb4612d1fe0c55b2b9a5957b5379285d (patch) | |
tree | d4ab320aa75fefece4189a84bf0e697503416b9e /calmwm.h | |
parent | 168c81d59eaf5d21c57d30f3ddb5674168a753f8 (diff) | |
download | cwm-413da1eebb4612d1fe0c55b2b9a5957b5379285d.tar.gz |
non-trivial menu drawing rewrite, moving to Xft and solving various
font/color drawing issues; from Alexander Polakov
Diffstat (limited to 'calmwm.h')
-rw-r--r-- | calmwm.h | 22 |
1 files changed, 14 insertions, 8 deletions
@@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: calmwm.h,v 1.163 2012/11/29 03:54:46 okan Exp $ + * $OpenBSD: calmwm.h,v 1.164 2012/12/17 02:28:45 okan Exp $ */ #ifndef _CALMWM_H_ @@ -84,14 +84,19 @@ union arg { int i; }; +enum menucolor { + CWM_COLOR_MENU_FG, + CWM_COLOR_MENU_BG, + CWM_COLOR_MENU_FONT, + CWM_COLOR_MENU_FONT_SEL, + CWM_COLOR_MENU_MAX +}; + enum cwmcolor { CWM_COLOR_BORDER_ACTIVE, CWM_COLOR_BORDER_INACTIVE, CWM_COLOR_BORDER_GROUP, CWM_COLOR_BORDER_UNGROUP, - CWM_COLOR_FG_MENU, - CWM_COLOR_BG_MENU, - CWM_COLOR_FONT, CWM_COLOR_MAX }; @@ -208,13 +213,12 @@ struct screen_ctx { Window rootwin; Window menuwin; struct color color[CWM_COLOR_MAX]; - GC gc; int cycling; struct geom view; /* viewable area */ struct geom work; /* workable area, gap-applied */ struct gap gap; struct cycle_entry_q mruq; - XftColor xftcolor; + XftColor xftcolor[CWM_COLOR_MENU_MAX]; XftDraw *xftdraw; XftFont *font; int xinerama_no; @@ -289,6 +293,7 @@ struct conf { int snapdist; struct gap gap; struct color color[CWM_COLOR_MAX]; + char *menucolor[CWM_COLOR_MENU_MAX]; char termpath[MAXPATHLEN]; char lockpath[MAXPATHLEN]; #define CONF_FONT "sans-serif:pixelsize=14:bold" @@ -445,10 +450,10 @@ void conf_ungrab(struct conf *, struct keybinding *); int font_ascent(struct screen_ctx *); int font_descent(struct screen_ctx *); void font_draw(struct screen_ctx *, const char *, int, - Drawable, int, int); + Drawable, int, int, int); u_int font_height(struct screen_ctx *); void font_init(struct screen_ctx *, const char *, - const char *); + const char **); int font_width(struct screen_ctx *, const char *, int); void xev_loop(void); @@ -486,6 +491,7 @@ void xu_ewmh_net_desktop_names(struct screen_ctx *, char *, int); void xu_ewmh_net_wm_desktop(struct client_ctx *); +void xu_xorcolor(XRenderColor, XRenderColor, XRenderColor *); void u_exec(char *); void u_spawn(char *); |