X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=dwm.c;h=3d6cc28ed228e9dbb93b4ab5e24295f5dd719bf7;hb=975c8983762246b50026d43079c60a78b341f81c;hp=b2bc9bdbc2cff94ab8167d9a8f1aaa34fdd02380;hpb=7af4d439bdb5a2e40aca69446a3367bd71431c45;p=dwm.git diff --git a/dwm.c b/dwm.c index b2bc9bd..3d6cc28 100644 --- a/dwm.c +++ b/dwm.c @@ -60,7 +60,7 @@ /* enums */ enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ -enum { SchemeNorm, SchemeSel, SchemeLast }; /* color schemes */ +enum { SchemeNorm, SchemeSel }; /* color schemes */ enum { NetSupported, NetWMName, NetWMState, NetWMFullscreen, NetActiveWindow, NetWMWindowType, NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ @@ -263,7 +263,7 @@ static void (*handler[LASTEvent]) (XEvent *) = { static Atom wmatom[WMLast], netatom[NetLast]; static int running = 1; static Cur *cursor[CurLast]; -static Scm scheme[SchemeLast]; +static Scm *scheme; static Display *dpy; static Drw *drw; static Monitor *mons, *selmon; @@ -483,7 +483,7 @@ cleanup(void) cleanupmon(mons); for (i = 0; i < CurLast; i++) drw_cur_free(drw, cursor[i]); - for (i = 0; i < SchemeLast; i++) + for (i = 0; i < LENGTH(colors); i++) free(scheme[i]); drw_free(drw); XSync(dpy, False); @@ -717,8 +717,8 @@ drawbar(Monitor *m) /* draw status first so it can be overdrawn by tags later */ if (m == selmon) { /* status is only drawn on selected monitor */ drw_setscheme(drw, scheme[SchemeNorm]); - sw = TEXTW(stext) - lrpad / 2; /* no right padding so status text hugs the corner */ - drw_text(drw, m->ww - sw, 0, sw, bh, lrpad / 2 - 2, stext, 0); + sw = TEXTW(stext) - lrpad + 2; /* 2px right padding */ + drw_text(drw, m->ww - sw, 0, sw, bh, 0, stext, 0); } for (c = m->clients; c; c = c->next) { @@ -1549,6 +1549,7 @@ setmfact(const Arg *arg) void setup(void) { + int i; XSetWindowAttributes wa; /* clean up any zombies immediately */ @@ -1561,7 +1562,7 @@ setup(void) root = RootWindow(dpy, screen); drw = drw_create(dpy, screen, root, sw, sh); if (!drw_fontset_create(drw, fonts, LENGTH(fonts))) - die("no fonts could be loaded.\n"); + die("no fonts could be loaded."); lrpad = drw->fonts->h; bh = drw->fonts->h + 2; updategeom(); @@ -1583,8 +1584,9 @@ setup(void) cursor[CurResize] = drw_cur_create(drw, XC_sizing); cursor[CurMove] = drw_cur_create(drw, XC_fleur); /* init appearance */ - scheme[SchemeNorm] = drw_scm_create(drw, colors[SchemeNorm], 3); - scheme[SchemeSel] = drw_scm_create(drw, colors[SchemeSel], 3); + scheme = ecalloc(LENGTH(colors), sizeof(Scm)); + for (i = 0; i < LENGTH(colors); i++) + scheme[i] = drw_scm_create(drw, colors[i], 3); /* init bars */ updatebars(); updatestatus(); @@ -2101,7 +2103,7 @@ xerrordummy(Display *dpy, XErrorEvent *ee) int xerrorstart(Display *dpy, XErrorEvent *ee) { - die("dwm: another window manager is already running\n"); + die("dwm: another window manager is already running"); return -1; } @@ -2123,13 +2125,13 @@ int main(int argc, char *argv[]) { if (argc == 2 && !strcmp("-v", argv[1])) - die("dwm-"VERSION "\n"); + die("dwm-"VERSION); else if (argc != 1) - die("usage: dwm [-v]\n"); + die("usage: dwm [-v]"); if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) fputs("warning: no locale support\n", stderr); if (!(dpy = XOpenDisplay(NULL))) - die("dwm: cannot open display\n"); + die("dwm: cannot open display"); checkotherwm(); setup(); scan();