/* 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 */
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;
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);
/* 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) {
void
setup(void)
{
+ int i;
XSetWindowAttributes wa;
/* clean up any zombies immediately */
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();
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();
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;
}
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();