before leaning things up
This commit is contained in:
51
wm.c
51
wm.c
@ -18,15 +18,39 @@
|
||||
|
||||
#include "wm.h"
|
||||
|
||||
/********** CUSTOMIZE **********/
|
||||
|
||||
char *tags[TLast] = {
|
||||
[Tscratch] = "scratch",
|
||||
[Tdev] = "dev",
|
||||
[Tirc] = "irc",
|
||||
[Twww] = "www",
|
||||
[Twork] = "work",
|
||||
};
|
||||
|
||||
/* commands */
|
||||
static char *cmdwallpaper[] = {
|
||||
"feh", "--bg-scale", "/home/garbeam/wallpaper/bg.jpg", NULL
|
||||
};
|
||||
|
||||
static char *cmdstatus[] = {
|
||||
"sh", "-c", "echo -n `date '+%Y-%m-%d %H:%M'`"
|
||||
" `uptime | sed 's/.*://; s/,//g'`"
|
||||
" `acpi | awk '{print $4}' | sed 's/,//'`", NULL
|
||||
};
|
||||
|
||||
/********** CUSTOMIZE **********/
|
||||
|
||||
/* X structs */
|
||||
Display *dpy;
|
||||
Window root, barwin;
|
||||
Atom wm_atom[WMLast], net_atom[NetLast];
|
||||
Cursor cursor[CurLast];
|
||||
Bool running = True;
|
||||
Bool sel_screen;
|
||||
Bool issel;
|
||||
|
||||
char statustext[1024], tag[256];
|
||||
char stext[1024];
|
||||
int tsel = Tdev; /* default tag */
|
||||
int screen, sx, sy, sw, sh, bx, by, bw, bh;
|
||||
|
||||
Brush brush = {0};
|
||||
@ -34,21 +58,12 @@ Client *clients = NULL;
|
||||
Client *stack = NULL;
|
||||
|
||||
static Bool other_wm_running;
|
||||
static const char version[] = "gridwm - " VERSION ", (C)opyright MMVI Anselm R. Garbe\n";
|
||||
static const char version[] =
|
||||
"gridwm - " VERSION ", (C)opyright MMVI Anselm R. Garbe\n";
|
||||
static int (*x_error_handler) (Display *, XErrorEvent *);
|
||||
|
||||
static const char *status[] = {
|
||||
"sh", "-c", "echo -n `date '+%Y-%m-%d %H:%M'`"
|
||||
" `uptime | sed 's/.*://; s/,//g'`"
|
||||
" `acpi | awk '{print $4}' | sed 's/,//'`", 0
|
||||
};
|
||||
|
||||
static void
|
||||
usage()
|
||||
{
|
||||
fputs("usage: gridwm [-v]\n", stderr);
|
||||
exit(1);
|
||||
}
|
||||
usage() { error("usage: gridwm [-v]\n"); }
|
||||
|
||||
static void
|
||||
scan_wins()
|
||||
@ -230,10 +245,11 @@ main(int argc, char *argv[])
|
||||
if(other_wm_running)
|
||||
error("gridwm: another window manager is already running\n");
|
||||
|
||||
spawn(dpy, cmdwallpaper);
|
||||
sx = sy = 0;
|
||||
sw = DisplayWidth(dpy, screen);
|
||||
sh = DisplayHeight(dpy, screen);
|
||||
sel_screen = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
|
||||
issel = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
|
||||
|
||||
XSetErrorHandler(0);
|
||||
x_error_handler = XSetErrorHandler(error_handler);
|
||||
@ -275,7 +291,7 @@ main(int argc, char *argv[])
|
||||
brush.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
|
||||
brush.gc = XCreateGC(dpy, root, 0, 0);
|
||||
|
||||
pipe_spawn(statustext, sizeof(statustext), dpy, (char **)status);
|
||||
pipe_spawn(stext, sizeof(stext), dpy, cmdstatus);
|
||||
draw_bar();
|
||||
|
||||
wa.event_mask = SubstructureRedirectMask | EnterWindowMask \
|
||||
@ -283,6 +299,7 @@ main(int argc, char *argv[])
|
||||
wa.cursor = cursor[CurNormal];
|
||||
XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa);
|
||||
|
||||
arrange = grid;
|
||||
scan_wins();
|
||||
|
||||
while(running) {
|
||||
@ -298,7 +315,7 @@ main(int argc, char *argv[])
|
||||
if(select(ConnectionNumber(dpy) + 1, &fds, NULL, NULL, &t) > 0)
|
||||
continue;
|
||||
else if(errno != EINTR) {
|
||||
pipe_spawn(statustext, sizeof(statustext), dpy, (char **)status);
|
||||
pipe_spawn(stext, sizeof(stext), dpy, cmdstatus);
|
||||
draw_bar();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user