This commit adds a minimal Makefile, a short manpage, and a mwm
implementation that does nothing but print a help text.
--- /dev/null
+OUTPUT = mwm
+OBJECTS = main.o
+
+ifeq ($(PREFIX), )
+ PREFIX = /usr/local
+endif
+ifeq ($(MANPREFIX), )
+ MANPREFIX = $(PREFIX)/share/man
+endif
+
+CFLAGS = -std=c99 -pedantic -Wall -Wextra
+LDFLAGS =
+
+PHONY = all clean install uninstall
+
+ifeq ($(DEBUG), 1)
+ CFLAGS += -g
+ LDFLAGS += -g
+endif
+
+all: mwm
+
+install: all
+ mkdir -p $(DESTDIR)$(PREFIX)/bin
+ install -oroot -groot -m755 mwm $(DESTDIR)$(PREFIX)/bin
+ mkdir -p $(DESTDIR)$(MANPREFIX)/man1
+ install -oroot -groot -m 644 docs/man/mwm.1 $(DESTDIR)$(MANPREFIX)/man1/mwm.1
+
+uninstall:
+ rm -f $(DESTDIR)$(PREFIX)/bin/mwm
+ rm -f $(DESTDIR)$(MANPREFIX)/man1/mwm.1
+
+mwm: $(OBJECTS)
+ $(CC) $(CFLAGS) -o $@ $^
+
+clean:
+ rm -rf $(OBJECTS)
+
+.PHONY: $(PHONY)
--- /dev/null
+.TH MWM 1 mwm\-0.1
+
+.SH NAME
+mwm \- m window manager
+
+.SH SYNOPSIS
+.B mwm
+.RB [ \-h ]
+
+.SH DESCRIPTION
+mwm is a tiling window manager for X.
+.P
+
+.SH OPTIONS
+.TP
+.B \-h, \-\-help
+prints a help text to standard output.
+
+
+.SH AUTHORS
+.B Matthias Kruk
--- /dev/null
+#include <stdio.h>
+#include <getopt.h>
+
+#define SHORTOPTS "h"
+
+static struct option cmd_opts[] = {
+ { "help", no_argument, 0, 'h' },
+ { NULL }
+};
+
+static void print_usage(const char *argv0)
+{
+ printf("Usage: %s [-h]\n"
+ "\n"
+ "Options:\n"
+ " -h --help Print this text\n",
+ argv0);
+ return;
+}
+
+int main(int argc, char *argv[])
+{
+ int opt;
+
+ do {
+ opt = getopt_long(argc, argv, SHORTOPTS, cmd_opts, NULL);
+
+ switch(opt) {
+ case 'h':
+ print_usage(argv[0]);
+ return(1);
+
+ default:
+ opt = -1;
+ break;
+ }
+ } while(opt >= 0);
+
+ return(0);
+}