X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=main.c;h=3470287c94336f92c59742907093fb74bff81f1f;hb=52f0b9e2e3e7eba1e7d2b940863d9a72fa8112d6;hp=1015017f1297af147482d917412a873595d9bb55;hpb=e7508783e85aba0ce4ab09b0dd76c40342113aed;p=dwm.git diff --git a/main.c b/main.c index 1015017..3470287 100644 --- a/main.c +++ b/main.c @@ -18,10 +18,9 @@ /* extern */ char stext[256]; -int screen, sx, sy, sw, sh, wax, way, waw, wah; +int screen, sw, sh, wax, way, waw, wah; unsigned int bh, ntags, numlockmask; Atom wmatom[WMLast], netatom[NetLast]; -Bool running = True; Bool *seltag; Bool selscreen = True; Client *clients = NULL; @@ -36,6 +35,7 @@ Window root, barwin; static int (*xerrorxlib)(Display *, XErrorEvent *); static Bool otherwm, readin; +static Bool running = True; static void cleanup(void) { @@ -62,7 +62,7 @@ cleanup(void) { } static unsigned long -getcolor(const char *colstr) { +initcolor(const char *colstr) { Colormap cmap = DefaultColormap(dpy, screen); XColor color; @@ -72,27 +72,7 @@ getcolor(const char *colstr) { } static void -scan(void) { - unsigned int i, num; - Window *wins, d1, d2; - XWindowAttributes wa; - - wins = NULL; - if(XQueryTree(dpy, root, &d1, &d2, &wins, &num)) { - for(i = 0; i < num; i++) { - if(!XGetWindowAttributes(dpy, wins[i], &wa) - || wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1)) - continue; - if(wa.map_state == IsViewable) - manage(wins[i], &wa); - } - } - if(wins) - XFree(wins); -} - -static void -setfont(const char *fontstr) { +initfont(const char *fontstr) { char *def, **missing; int i, n; @@ -132,6 +112,26 @@ setfont(const char *fontstr) { dc.font.height = dc.font.ascent + dc.font.descent; } +static void +scan(void) { + unsigned int i, num; + Window *wins, d1, d2; + XWindowAttributes wa; + + wins = NULL; + if(XQueryTree(dpy, root, &d1, &d2, &wins, &num)) { + for(i = 0; i < num; i++) { + if(!XGetWindowAttributes(dpy, wins[i], &wa) + || wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1)) + continue; + if(wa.map_state == IsViewable) + manage(wins[i], &wa); + } + } + if(wins) + XFree(wins); +} + static void setup(void) { int i, j; @@ -173,15 +173,14 @@ setup(void) { seltag = emallocz(sizeof(Bool) * ntags); seltag[0] = True; /* style */ - dc.norm[ColBorder] = getcolor(NORMBORDERCOLOR); - dc.norm[ColBG] = getcolor(NORMBGCOLOR); - dc.norm[ColFG] = getcolor(NORMFGCOLOR); - dc.sel[ColBorder] = getcolor(SELBORDERCOLOR); - dc.sel[ColBG] = getcolor(SELBGCOLOR); - dc.sel[ColFG] = getcolor(SELFGCOLOR); - setfont(FONT); + dc.norm[ColBorder] = initcolor(NORMBORDERCOLOR); + dc.norm[ColBG] = initcolor(NORMBGCOLOR); + dc.norm[ColFG] = initcolor(NORMFGCOLOR); + dc.sel[ColBorder] = initcolor(SELBORDERCOLOR); + dc.sel[ColBG] = initcolor(SELBGCOLOR); + dc.sel[ColFG] = initcolor(SELFGCOLOR); + initfont(FONT); /* geometry */ - sx = sy = 0; sw = DisplayWidth(dpy, screen); sh = DisplayHeight(dpy, screen); initlayouts(); @@ -190,15 +189,15 @@ setup(void) { wa.override_redirect = 1; wa.background_pixmap = ParentRelative; wa.event_mask = ButtonPressMask | ExposureMask; - barwin = XCreateWindow(dpy, root, sx, sy + (TOPBAR ? 0 : sh - bh), sw, bh, 0, + barwin = XCreateWindow(dpy, root, 0, (TOPBAR ? 0 : sh - bh), sw, bh, 0, DefaultDepth(dpy, screen), CopyFromParent, DefaultVisual(dpy, screen), CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa); XDefineCursor(dpy, barwin, cursor[CurNormal]); XMapRaised(dpy, barwin); strcpy(stext, "dwm-"VERSION); /* windowarea */ - wax = sx; - way = sy + (TOPBAR ? bh : 0); + wax = 0; + way = (TOPBAR ? bh : 0); wah = sh - bh; waw = sw; /* pixmap for everything */