.Nd suckless status monitor
.Sh SYNOPSIS
.Nm
-.Op Fl o | n
+.Op Fl s
.Sh DESCRIPTION
.Nm
is a suckless status monitor for window managers that use WM_NAME (e.g. dwm) or
outputs to WM_NAME.
.Sh OPTIONS
.Bl -tag -width Ds
-.It Fl n
-Write to stdout once and exit.
-.It Fl o
-Write to stdout continuously.
+.It Fl s
+Write to stdout instead of WM_NAME.
.El
.Sh CUSTOMIZATION
.Nm
char *argv0;
static unsigned short int delay = 0;
static unsigned short int done;
-static unsigned short int oflag, nflag;
static Display *dpy;
#include "config.h"
static void
usage(void)
{
- fprintf(stderr, "usage: %s [-o | -n]\n", argv0);
+ fprintf(stderr, "usage: %s [-s]\n", argv0);
exit(1);
}
int
main(int argc, char *argv[])
{
- unsigned short int i;
- char status_string[MAXLEN];
- char *element;
struct arg argument;
struct sigaction act;
- size_t len;
+ size_t i, len;
+ int sflag = 0;
+ char status_string[MAXLEN];
+ char *element;
ARGBEGIN {
- case 'o':
- oflag = 1;
- break;
- case 'n':
- nflag = 1;
+ case 's':
+ sflag = 1;
break;
default:
usage();
} ARGEND
- if (oflag && nflag) {
- usage();
- }
-
memset(&act, 0, sizeof(act));
act.sa_handler = sighandler;
sigaction(SIGINT, &act, 0);
sigaction(SIGTERM, &act, 0);
- if (!oflag) {
+ if (!sflag) {
dpy = XOpenDisplay(NULL);
}
}
}
- if (oflag) {
- printf("%s\n", status_string);
- } else if (nflag) {
+ if (sflag) {
printf("%s\n", status_string);
- done = 1;
} else {
XStoreName(dpy, DefaultRootWindow(dpy), status_string);
XSync(dpy, False);
}
}
- if (!oflag) {
+ if (!sflag) {
XStoreName(dpy, DefaultRootWindow(dpy), NULL);
XCloseDisplay(dpy);
}