start fixing screen_ctx usage, for it is utterly broken. bring font

into screen_ctx and start passing screen_ctx around to in order get rid
of Curscreen; fixup per-screen config colors the same way.

diff mostly from oga@, with a bit harsher reaction to the state of screen_ctx.

"please commit" oga@
This commit is contained in:
okan
2009-12-08 16:52:17 +00:00
parent aa88d5848e
commit ee7df6a95f
6 changed files with 43 additions and 47 deletions

View File

@@ -79,6 +79,8 @@ struct screen_ctx {
XftDraw *xftdraw;
XftColor xftcolor;
XftFont *font;
u_int fontheight;
int xinerama_no;
XineramaScreenInfo *xinerama;
@@ -284,8 +286,6 @@ struct conf {
#define DEFAULTFONTNAME "sans-serif:pixelsize=14:bold"
char *DefaultFontName;
XftFont *DefaultFont;
u_int FontHeight;
int gap_top, gap_bottom, gap_left, gap_right;
};
@@ -410,8 +410,8 @@ void conf_bindname(struct conf *, char *, char *);
void conf_mousebind(struct conf *, char *, char *);
void conf_grab_mouse(struct client_ctx *);
void conf_reload(struct conf *);
void conf_font(struct conf *);
void conf_color(struct conf *);
void conf_font(struct conf *, struct screen_ctx *);
void conf_color(struct conf *, struct screen_ctx *);
void conf_init(struct conf *);
void conf_clear(struct conf *);
void conf_cmd_add(struct conf *, char *, char *, int);
@@ -485,14 +485,14 @@ void group_autogroup(struct client_ctx *);
void group_movetogroup(struct client_ctx *, int);
void font_init(struct screen_ctx *);
int font_width(const char *, int);
int font_width(struct screen_ctx *, const char *, int);
void font_draw(struct screen_ctx *, const char *, int,
Drawable, int, int);
XftFont *font_make(struct screen_ctx *, const char *);
#define font_ascent() Conf.DefaultFont->ascent
#define font_descent() Conf.DefaultFont->descent
#define font_height() Conf.FontHeight
#define font_ascent(sc) sc->font->ascent
#define font_descent(sc) sc->font->descent
#define font_height(sc) sc->fontheight
/* Externs */