Introduction
Introduction Statistics Contact Development Disclaimer Help
tapplied Julian's enum approach, however renamed theme into scheme resp. Theme …
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 33a74489f036600bb80a3c34fcdf10e5f9dafae1
parent 5364697914fd4272fc1a6494b4fc522d2935427a
Author: Anselm R Garbe <[email protected]>
Date: Wed, 19 Jun 2013 19:35:33 +0200
applied Julian's enum approach,
however renamed theme into scheme resp. Theme into ClrScheme
Diffstat:
M drw.c | 22 ++++++++++------------
M drw.h | 6 +++---
M dwm.c | 49 +++++++++++++++--------------…
3 files changed, 37 insertions(+), 40 deletions(-)
---
diff --git a/drw.c b/drw.c
t@@ -109,9 +109,8 @@ drw_clr_create(Drw *drw, const char *clrname) {
void
drw_clr_free(Clr *clr) {
- if(!clr)
- return;
- free(clr);
+ if(clr)
+ free(clr);
}
void
t@@ -121,19 +120,18 @@ drw_setfont(Drw *drw, Fnt *font) {
}
void
-drw_settheme(Drw *drw, Theme *theme) {
- if(!drw || !theme)
- return;
- drw->theme = theme;
+drw_setscheme(Drw *drw, ClrScheme *scheme) {
+ if(drw && scheme)
+ drw->scheme = scheme;
}
void
drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, i…
int dx;
- if(!drw || !drw->font || !drw->theme)
+ if(!drw || !drw->font || !drw->scheme)
return;
- XSetForeground(drw->dpy, drw->gc, invert ? drw->theme->bg->rgb : drw->…
+ XSetForeground(drw->dpy, drw->gc, invert ? drw->scheme->bg->rgb : drw-…
dx = (drw->font->ascent + drw->font->descent + 2) / 4;
if(filled)
XFillRectangle(drw->dpy, drw->drawable, drw->gc, x+1, y+1, dx+…
t@@ -147,9 +145,9 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned …
int i, tx, ty, th, len, olen;
Extnts tex;
- if(!drw || !drw->theme)
+ if(!drw || !drw->scheme)
return;
- XSetForeground(drw->dpy, drw->gc, invert ? drw->theme->fg->rgb : drw->…
+ XSetForeground(drw->dpy, drw->gc, invert ? drw->scheme->fg->rgb : drw-…
XFillRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w, h);
if(!text || !drw->font)
return;
t@@ -166,7 +164,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned …
memcpy(buf, text, len);
if(len < olen)
for(i = len; i && i > len - 3; buf[--i] = '.');
- XSetForeground(drw->dpy, drw->gc, invert ? drw->theme->bg->rgb : drw->…
+ XSetForeground(drw->dpy, drw->gc, invert ? drw->scheme->bg->rgb : drw-…
if(drw->font->set)
XmbDrawString(drw->dpy, drw->drawable, drw->font->set, drw->gc…
else
diff --git a/drw.h b/drw.h
t@@ -20,7 +20,7 @@ typedef struct {
Clr *fg;
Clr *bg;
Clr *border;
-} Theme;
+} ClrScheme;
typedef struct {
unsigned int w, h;
t@@ -29,7 +29,7 @@ typedef struct {
Window root;
Drawable drawable;
GC gc;
- Theme *theme;
+ ClrScheme *scheme;
Fnt *font;
} Drw;
t@@ -59,7 +59,7 @@ void drw_cur_free(Drw *drw, Cur *cursor);
/* Drawing context manipulation */
void drw_setfont(Drw *drw, Fnt *font);
-void drw_settheme(Drw *drw, Theme *theme);
+void drw_setscheme(Drw *drw, ClrScheme *scheme);
/* Drawing functions */
void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int fill…
diff --git a/dwm.c b/dwm.c
t@@ -57,14 +57,14 @@
#define TEXTW(X) (drw_font_getexts_width(drw->font, X, strlen(X…
/* enums */
-enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
-enum { ColBorder, ColFG, ColBG, ColLast }; /* color */
+enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
+enum { SchemeNorm, SchemeSel, SchemeLast }; /* color schemes */
enum { NetSupported, NetWMName, NetWMState,
NetWMFullscreen, NetActiveWindow, NetWMWindowType,
- NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */
+ NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */
enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms…
enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
- ClkClientWin, ClkRootWin, ClkLast }; /* clicks */
+ ClkClientWin, ClkRootWin, ClkLast }; /* clicks */
typedef union {
int i;
t@@ -260,8 +260,7 @@ static void (*handler[LASTEvent]) (XEvent *) = {
static Atom wmatom[WMLast], netatom[NetLast];
static Bool running = True;
static Cur *cursor[CurLast];
-static Theme thmnorm[ColLast];
-static Theme thmsel[ColLast];
+static ClrScheme scheme[SchemeLast];
static Display *dpy;
static Drw *drw;
static Fnt *fnt;
t@@ -476,12 +475,12 @@ cleanup(void) {
drw_cur_free(drw, cursor[CurResize]);
drw_cur_free(drw, cursor[CurMove]);
drw_font_free(dpy, fnt);
- drw_clr_free(thmnorm->border);
- drw_clr_free(thmnorm->bg);
- drw_clr_free(thmnorm->fg);
- drw_clr_free(thmsel->border);
- drw_clr_free(thmsel->bg);
- drw_clr_free(thmsel->fg);
+ drw_clr_free(scheme[SchemeNorm].border);
+ drw_clr_free(scheme[SchemeNorm].bg);
+ drw_clr_free(scheme[SchemeNorm].fg);
+ drw_clr_free(scheme[SchemeSel].border);
+ drw_clr_free(scheme[SchemeSel].bg);
+ drw_clr_free(scheme[SchemeSel].fg);
drw_free(drw);
XSync(dpy, False);
XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
t@@ -705,14 +704,14 @@ drawbar(Monitor *m) {
x = 0;
for(i = 0; i < LENGTH(tags); i++) {
w = TEXTW(tags[i]);
- drw_settheme(drw, m->tagset[m->seltags] & 1 << i ? thmsel : th…
+ drw_setscheme(drw, m->tagset[m->seltags] & 1 << i ? &scheme[Sc…
drw_text(drw, x, 0, w, bh, tags[i], urg & 1 << i);
drw_rect(drw, x, 0, w, bh, m == selmon && selmon->sel && selmo…
occ & 1 << i, urg & 1 << i);
x += w;
}
w = blw = TEXTW(m->ltsymbol);
- drw_settheme(drw, thmnorm);
+ drw_setscheme(drw, &scheme[SchemeNorm]);
drw_text(drw, x, 0, w, bh, m->ltsymbol, 0);
x += w;
xx = x;
t@@ -730,12 +729,12 @@ drawbar(Monitor *m) {
if((w = x - xx) > bh) {
x = xx;
if(m->sel) {
- drw_settheme(drw, m == selmon ? thmsel : thmnorm);
+ drw_setscheme(drw, m == selmon ? &scheme[SchemeSel] : …
drw_text(drw, x, 0, w, bh, m->sel->name, 0);
drw_rect(drw, x, 0, w, bh, m->sel->isfixed, m->sel->is…
}
else {
- drw_settheme(drw, thmnorm);
+ drw_setscheme(drw, &scheme[SchemeNorm]);
drw_text(drw, x, 0, w, bh, NULL, 0);
}
}
t@@ -793,7 +792,7 @@ focus(Client *c) {
detachstack(c);
attachstack(c);
grabbuttons(c, True);
- XSetWindowBorder(dpy, c->win, thmsel->border->rgb);
+ XSetWindowBorder(dpy, c->win, scheme[SchemeSel].border->rgb);
setfocus(c);
}
else {
t@@ -1041,7 +1040,7 @@ manage(Window w, XWindowAttributes *wa) {
wc.border_width = c->bw;
XConfigureWindow(dpy, w, CWBorderWidth, &wc);
- XSetWindowBorder(dpy, w, thmnorm->border->rgb);
+ XSetWindowBorder(dpy, w, scheme[SchemeNorm].border->rgb);
configure(c); /* propagates border_width, if size doesn't change */
updatewindowtype(c);
updatesizehints(c);
t@@ -1523,12 +1522,12 @@ setup(void) {
cursor[CurResize] = drw_cur_create(drw, XC_sizing);
cursor[CurMove] = drw_cur_create(drw, XC_fleur);
/* init appearance */
- thmnorm->border = drw_clr_create(drw, normbordercolor);
- thmnorm->bg = drw_clr_create(drw, normbgcolor);
- thmnorm->fg = drw_clr_create(drw, normfgcolor);
- thmsel->border = drw_clr_create(drw, selbordercolor);
- thmsel->bg = drw_clr_create(drw, selbgcolor);
- thmsel->fg = drw_clr_create(drw, selfgcolor);
+ scheme[SchemeNorm].border = drw_clr_create(drw, normbordercolor);
+ scheme[SchemeNorm].bg = drw_clr_create(drw, normbgcolor);
+ scheme[SchemeNorm].fg = drw_clr_create(drw, normfgcolor);
+ scheme[SchemeSel].border = drw_clr_create(drw, selbordercolor);
+ scheme[SchemeSel].bg = drw_clr_create(drw, selbgcolor);
+ scheme[SchemeSel].fg = drw_clr_create(drw, selfgcolor);
/* init bars */
updatebars();
updatestatus();
t@@ -1674,7 +1673,7 @@ unfocus(Client *c, Bool setfocus) {
if(!c)
return;
grabbuttons(c, False);
- XSetWindowBorder(dpy, c->win, thmnorm->border->rgb);
+ XSetWindowBorder(dpy, c->win, scheme[SchemeNorm].border->rgb);
if(setfocus) {
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.