removed colors from dc
This commit is contained in:
parent
96c65400cc
commit
723361fa12
3 changed files with 24 additions and 22 deletions
18
dinput.c
18
dinput.c
|
@ -42,6 +42,8 @@ static int screen;
|
||||||
static unsigned int cursor = 0;
|
static unsigned int cursor = 0;
|
||||||
static unsigned int numlockmask = 0;
|
static unsigned int numlockmask = 0;
|
||||||
static unsigned int mw, mh;
|
static unsigned int mw, mh;
|
||||||
|
static unsigned long normcol[ColLast];
|
||||||
|
static unsigned long selcol[ColLast];
|
||||||
static Bool running = True;
|
static Bool running = True;
|
||||||
static DC dc;
|
static DC dc;
|
||||||
static Display *dpy;
|
static Display *dpy;
|
||||||
|
@ -60,7 +62,7 @@ drawcursor(void) {
|
||||||
|
|
||||||
r.x += textnw(&dc, text, cursor) + dc.font.height / 2;
|
r.x += textnw(&dc, text, cursor) + dc.font.height / 2;
|
||||||
|
|
||||||
XSetForeground(dpy, dc.gc, dc.norm[ColFG]);
|
XSetForeground(dpy, dc.gc, normcol[ColFG]);
|
||||||
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
|
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,15 +73,15 @@ drawinput(void)
|
||||||
dc.y = 0;
|
dc.y = 0;
|
||||||
dc.w = mw;
|
dc.w = mw;
|
||||||
dc.h = mh;
|
dc.h = mh;
|
||||||
drawtext(&dc, NULL, dc.norm);
|
drawtext(&dc, NULL, normcol);
|
||||||
/* print prompt? */
|
/* print prompt? */
|
||||||
if(prompt) {
|
if(prompt) {
|
||||||
dc.w = promptw;
|
dc.w = promptw;
|
||||||
drawtext(&dc, prompt, dc.sel);
|
drawtext(&dc, prompt, selcol);
|
||||||
dc.x += dc.w;
|
dc.x += dc.w;
|
||||||
}
|
}
|
||||||
dc.w = mw - dc.x;
|
dc.w = mw - dc.x;
|
||||||
drawtext(&dc, *text ? text : NULL, dc.norm);
|
drawtext(&dc, *text ? text : NULL, normcol);
|
||||||
drawcursor();
|
drawcursor();
|
||||||
XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, mw, mh, 0, 0);
|
XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, mw, mh, 0, 0);
|
||||||
XFlush(dpy);
|
XFlush(dpy);
|
||||||
|
@ -268,10 +270,10 @@ setup(Bool topbar) {
|
||||||
XFreeModifiermap(modmap);
|
XFreeModifiermap(modmap);
|
||||||
|
|
||||||
dc.dpy = dpy;
|
dc.dpy = dpy;
|
||||||
dc.norm[ColBG] = getcolor(&dc, normbgcolor);
|
normcol[ColBG] = getcolor(&dc, normbgcolor);
|
||||||
dc.norm[ColFG] = getcolor(&dc, normfgcolor);
|
normcol[ColFG] = getcolor(&dc, normfgcolor);
|
||||||
dc.sel[ColBG] = getcolor(&dc, selbgcolor);
|
selcol[ColBG] = getcolor(&dc, selbgcolor);
|
||||||
dc.sel[ColFG] = getcolor(&dc, selfgcolor);
|
selcol[ColFG] = getcolor(&dc, selfgcolor);
|
||||||
initfont(&dc, font);
|
initfont(&dc, font);
|
||||||
fprintf(stderr, "dc.font.xfont: %u\n", (size_t)dc.font.xfont);
|
fprintf(stderr, "dc.font.xfont: %u\n", (size_t)dc.font.xfont);
|
||||||
|
|
||||||
|
|
26
dmenu.c
26
dmenu.c
|
@ -59,6 +59,8 @@ static int screen;
|
||||||
static unsigned int lines = 0;
|
static unsigned int lines = 0;
|
||||||
static unsigned int numlockmask = 0;
|
static unsigned int numlockmask = 0;
|
||||||
static unsigned int mw, mh;
|
static unsigned int mw, mh;
|
||||||
|
static unsigned long normcol[ColLast];
|
||||||
|
static unsigned long selcol[ColLast];
|
||||||
static Bool running = True;
|
static Bool running = True;
|
||||||
static DC dc;
|
static DC dc;
|
||||||
static Display *dpy;
|
static Display *dpy;
|
||||||
|
@ -159,18 +161,18 @@ drawmenu(void) {
|
||||||
dc.y = 0;
|
dc.y = 0;
|
||||||
dc.w = mw;
|
dc.w = mw;
|
||||||
dc.h = mh;
|
dc.h = mh;
|
||||||
drawtext(&dc, NULL, dc.norm);
|
drawtext(&dc, NULL, normcol);
|
||||||
/* print prompt? */
|
/* print prompt? */
|
||||||
if(prompt) {
|
if(prompt) {
|
||||||
dc.w = promptw;
|
dc.w = promptw;
|
||||||
drawtext(&dc, prompt, dc.sel);
|
drawtext(&dc, prompt, selcol);
|
||||||
dc.x += dc.w;
|
dc.x += dc.w;
|
||||||
}
|
}
|
||||||
dc.w = mw - dc.x;
|
dc.w = mw - dc.x;
|
||||||
/* print command */
|
/* print command */
|
||||||
if(cmdw && item && lines == 0)
|
if(cmdw && item && lines == 0)
|
||||||
dc.w = cmdw;
|
dc.w = cmdw;
|
||||||
drawtext(&dc, *text ? text : NULL, dc.norm);
|
drawtext(&dc, *text ? text : NULL, normcol);
|
||||||
if(curr) {
|
if(curr) {
|
||||||
if(lines > 0)
|
if(lines > 0)
|
||||||
drawmenuv();
|
drawmenuv();
|
||||||
|
@ -187,16 +189,16 @@ drawmenuh(void) {
|
||||||
|
|
||||||
dc.x += cmdw;
|
dc.x += cmdw;
|
||||||
dc.w = spaceitem;
|
dc.w = spaceitem;
|
||||||
drawtext(&dc, curr->left ? "<" : NULL, dc.norm);
|
drawtext(&dc, curr->left ? "<" : NULL, normcol);
|
||||||
dc.x += dc.w;
|
dc.x += dc.w;
|
||||||
for(i = curr; i != next; i=i->right) {
|
for(i = curr; i != next; i=i->right) {
|
||||||
dc.w = MIN(textw(&dc, i->text), mw / 3);
|
dc.w = MIN(textw(&dc, i->text), mw / 3);
|
||||||
drawtext(&dc, i->text, (sel == i) ? dc.sel : dc.norm);
|
drawtext(&dc, i->text, (sel == i) ? selcol : normcol);
|
||||||
dc.x += dc.w;
|
dc.x += dc.w;
|
||||||
}
|
}
|
||||||
dc.w = spaceitem;
|
dc.w = spaceitem;
|
||||||
dc.x = mw - dc.w;
|
dc.x = mw - dc.w;
|
||||||
drawtext(&dc, next ? ">" : NULL, dc.norm);
|
drawtext(&dc, next ? ">" : NULL, normcol);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -207,11 +209,11 @@ drawmenuv(void) {
|
||||||
dc.h = dc.font.height + 2;
|
dc.h = dc.font.height + 2;
|
||||||
dc.y = dc.h;
|
dc.y = dc.h;
|
||||||
for(i = curr; i != next; i=i->right) {
|
for(i = curr; i != next; i=i->right) {
|
||||||
drawtext(&dc, i->text, (sel == i) ? dc.sel : dc.norm);
|
drawtext(&dc, i->text, (sel == i) ? selcol : normcol);
|
||||||
dc.y += dc.h;
|
dc.y += dc.h;
|
||||||
}
|
}
|
||||||
dc.h = mh - dc.y;
|
dc.h = mh - dc.y;
|
||||||
drawtext(&dc, NULL, dc.norm);
|
drawtext(&dc, NULL, normcol);
|
||||||
}
|
}
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
|
@ -490,10 +492,10 @@ setup(Bool topbar) {
|
||||||
XFreeModifiermap(modmap);
|
XFreeModifiermap(modmap);
|
||||||
|
|
||||||
dc.dpy = dpy;
|
dc.dpy = dpy;
|
||||||
dc.norm[ColBG] = getcolor(&dc, normbgcolor);
|
normcol[ColBG] = getcolor(&dc, normbgcolor);
|
||||||
dc.norm[ColFG] = getcolor(&dc, normfgcolor);
|
normcol[ColFG] = getcolor(&dc, normfgcolor);
|
||||||
dc.sel[ColBG] = getcolor(&dc, selbgcolor);
|
selcol[ColBG] = getcolor(&dc, selbgcolor);
|
||||||
dc.sel[ColFG] = getcolor(&dc, selfgcolor);
|
selcol[ColFG] = getcolor(&dc, selfgcolor);
|
||||||
initfont(&dc, font);
|
initfont(&dc, font);
|
||||||
|
|
||||||
/* menu window */
|
/* menu window */
|
||||||
|
|
2
draw.h
2
draw.h
|
@ -6,8 +6,6 @@ enum { ColFG, ColBG, ColLast };
|
||||||
/* typedefs */
|
/* typedefs */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int x, y, w, h;
|
int x, y, w, h;
|
||||||
unsigned long norm[ColLast];
|
|
||||||
unsigned long sel[ColLast];
|
|
||||||
Drawable drawable;
|
Drawable drawable;
|
||||||
Display *dpy;
|
Display *dpy;
|
||||||
GC gc;
|
GC gc;
|
||||||
|
|
Loading…
Reference in a new issue