commit c499544fc488760e6260f74927c298f452c327ab
parent 8da36e4743010e4714edc4e8064bb8f9b3ecd279
Author: Anselm R Garbe <garbeam@gmail.com>
Date:   Wed,  9 Sep 2009 13:56:36 +0100
update
Diffstat:
| AUTHORS | | | 6 | +++--- | 
| CONTRIB | | | 2 | -- | 
| FAQ | | | 2 | -- | 
| INSTALL | | | 82 | ++++++++++++++++++++++++++++++++----------------------------------------------- | 
| LICENSE | | | 2 | +- | 
| Makefile | | | 104 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | 
| config.mk | | | 33 | +++++++++++++++++++++++++++++++++ | 
7 files changed, 174 insertions(+), 57 deletions(-)
diff --git a/AUTHORS b/AUTHORS
@@ -1,8 +1,8 @@
-$Id: AUTHORS 735 2004-09-27 18:36:45Z garbeam $
-
 Current developers of the WMI:
 
-    - Anselm R. Garbe <anselmg at t-online.de>
+    - Anselm R Garbe <anselm@garbe.us>
+
+Old developers of the WMI:
     - Marcel Manthe <-0m0- at web.de>
     - Oliver Rendgen <oli at hypeo.de> (Documentation)
     - John Pham <jhnphm at gmail.com> (Debian packager)
diff --git a/CONTRIB b/CONTRIB
@@ -1,5 +1,3 @@
-$Id: CONTRIB 735 2004-09-27 18:36:45Z garbeam $
-
 Current contributors:
 
     - Ryan Sorensen <rcsorensen at gmail.com>
diff --git a/FAQ b/FAQ
@@ -1,5 +1,3 @@
-$Id: FAQ 735 2004-09-27 18:36:45Z garbeam $
-
 General
 -------
 
diff --git a/INSTALL b/INSTALL
@@ -1,4 +1,5 @@
-1. Required Software
+Required Software
+-----------------
 
 Make sure you have installed at least following software:
 
@@ -7,74 +8,55 @@ Make sure you have installed at least following software:
 * STL library and headers
 
 
-2. Installation of an SVN snapshot:
+Installation
+------------
 
-# ./autogen.sh
-# ./configure
+# vi config.mk
+# vi config.h
 # make
 # sudo make install
 
 
-3. Installation of a released version:
-
-# ./configure
-# make
-# sudo make install
-
-
-4. Some build notes about configure arguments
-
-4.1. Notes for Xft support
+Xft support
+-----------
 
 If you've installed Xft and freetype WMI will build with
 Xft support by default. If Xft is not installed WMI won't
 build with Xft support. If you explicitly don't want Xft
-support, although having Xft installed just use following
-configure argument:
+support, although having Xft installed just edit config.h
+as follows:
 
-./configure --without-xft
+#define XFT_SUPPORT
 
-4.2. Notes for stacked tabbing
 
-WMI supports stacked tabbing with stack-alike visual
-feedback within frame bars, groups and pagers. This feature
-is not seen in any other window manager but disabled by
-default. It's highly recommended to give it a try. All
-focussed clients, groups, workspaces are arranged in
-stacking order from left to right, the topmost element
-is arranged leftwards and the bottom element is arranged
-rightwards.
-This results that the focussed element (e.g. a client in
-a frame bar or group bar) appears always left, thus the
-focus never changes, but the titles and order.
-Just use following configure argument:
+Debug support
+-------------
 
-./configure --with-stacked-tabbing
+To run WMI with verbose debug output you've to edit config.h
+with debug support:
 
-4.3. Notes for debug support
+#define DEBUG
 
-To run WMI with verbose debug output you've to configure it
-with debug support:
 
-./configure --with-debug
+Diamond box
+-----------
 
-4.4. Notes for diamond box
+If you want WMI to draw a diamond box while resizing/moving
+clients, enable it in config.h:
 
-By default WMI draws a diamond box while resizing/moving
-clients. If you don't like drawing the diamond box you
-can disable it using:
+#define DIAMOND
 
-./configure --without-diamond
 
-4.5. Notes for disabling the slot
+Enabling the slot
+-----------------
 
-By default WMI is built with slot support.
-If you don't need it you can disable it using:
+WMI can be built with slot support.
 
-./configure --without-slot
+#define SLOT_SUPPORT
 
 
-5. Start WMI
+Running WMI
+-----------
 
 To start WMI as your default window manager add following line
 to your $HOME/.xinitrc:
@@ -88,13 +70,15 @@ and type
 afterwards to launch X and the WMI.
 
 
-6. Further Help
+Further Help
+------------
 
-To get in contact with WMI you should read at least the manual
+To get started with WMI you should read at least the manual
 pages wmi(1) and actions.conf(5).
 
 
-7. Contact
+Contact
+-------
 
-If you've problems visit http://wmi.berlios.de to get further
+If you've problems visit http://wmi.suckless.org to get further
 information.
diff --git a/LICENSE b/LICENSE
@@ -1,6 +1,6 @@
 MIT License
 
-Copyright (c) 2003 - 2004 Anselm R. Garbe <anselmg at t-online.de>
+Copyright (c) 2003 - 2009 Anselm R Garbe <anselm@garbe.us>
 
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the "Software"),
diff --git a/Makefile b/Makefile
@@ -0,0 +1,104 @@
+# wmi - window manager improved
+# See LICENSE file for copyright and license details.
+
+include config.mk
+
+SRC_wmi = action.cpp \
+	actions.cpp \
+	atoms.cpp \
+	bar.cpp \
+	binder.cpp \
+	box.cpp \
+	clientbar.cpp \
+	client.cpp \
+	cursors.cpp \
+	draw.cpp \
+	expander.cpp \
+	float.cpp \
+	font.cpp \
+	frame.cpp \
+	inputbar.cpp \
+	kernel.cpp \
+	label.cpp \
+	launcher.cpp \
+	loader.cpp \
+	logger.cpp \
+	main.cpp \
+	menu.cpp \
+	monitor.cpp \
+	prompt.cpp \
+	rectangle.cpp \
+	shortcut.cpp \
+	slot.cpp \
+	split.cpp \
+	statusbar.cpp \
+	theme.cpp \
+	thing.cpp \
+	tree.cpp \
+	util.cpp \
+	validators.cpp \
+	widget.cpp \
+	workspace.cpp \
+	xcore.cpp \
+	xfont.cpp \
+	xftfont.cpp
+
+SRC_wmiremote = wmiremote.cpp
+
+OBJ_wmi = ${SRC_wmi:.cpp=.o}
+OBJ_wmiremote = ${SRC_wmiremote:.cpp=.o}
+
+all: options wmi wmiremote
+
+options:
+	@echo wmi build options:
+	@echo "CXXFLAGS = ${CXXFLAGS}"
+	@echo "LDFLAGS  = ${LDFLAGS}"
+	@echo "CXX      = ${CXX}"
+
+.cpp.o:
+	@echo CXX $<
+	@${CXX} -c ${CXXFLAGS} $<
+
+${OBJ_wmi}: config.mk
+
+${OBJ_wmiremote}: config.mk
+
+wmi: ${OBJ_wmi}
+	@echo CXX -o $@
+	@${CXX} -o $@ ${OBJ_wmi} ${LDFLAGS}
+
+wmiremote: ${OBJ_wmiremote}
+	@echo CC -o $@
+	@${CXX} -o $@ ${OBJ_wmiremote} ${LDFLAGS}
+
+clean:
+	@echo cleaning
+	@rm -f wmi wmiremote ${OBJ_wmi} ${OBJ_wmiremote} wmi-${VERSION}.tar.gz
+
+dist: clean
+	@echo creating dist tarball
+	@mkdir -p wmi-${VERSION}
+	@cp -R LICENSE Makefile README config.def.h config.mk \
+		wmi.1 ${SRC} wmi-${VERSION}
+	@tar -cf wmi-${VERSION}.tar wmi-${VERSION}
+	@gzip wmi-${VERSION}.tar
+	@rm -rf wmi-${VERSION}
+
+install: all
+	@echo installing executable file to ${DESTDIR}${PREFIX}/bin
+	@mkdir -p ${DESTDIR}${PREFIX}/bin
+	@cp -f wmi ${DESTDIR}${PREFIX}/bin
+	@chmod 755 ${DESTDIR}${PREFIX}/bin/wmi
+	@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
+	@mkdir -p ${DESTDIR}${MANPREFIX}/man1
+	@sed "s/VERSION/${VERSION}/g" < wmi.1 > ${DESTDIR}${MANPREFIX}/man1/wmi.1
+	@chmod 644 ${DESTDIR}${MANPREFIX}/man1/wmi.1
+
+uninstall:
+	@echo removing executable file from ${DESTDIR}${PREFIX}/bin
+	@rm -f ${DESTDIR}${PREFIX}/bin/wmi
+	@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
+	@rm -f ${DESTDIR}${MANPREFIX}/man1/wmi.1
+
+.PHONY: all options clean dist install uninstall
diff --git a/config.mk b/config.mk
@@ -0,0 +1,33 @@
+# wmi version
+WMI_VERSION = 11
+
+# Customize below to fit your system
+
+# paths
+PREFIX = /usr/local
+MANPREFIX = ${PREFIX}/share/man
+
+X11INC = /usr/X11R6/include
+X11LIB = /usr/X11R6/lib
+
+# Xinerama, un-comment if you want it
+XINERAMALIBS = -L${X11LIB} -lXinerama
+XINERAMAFLAGS = -DXINERAMA
+
+# includes and libs
+INCS = -I. -I/usr/include -I${X11INC}
+LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${XINERAMALIBS}
+
+# flags
+CPPFLAGS = -D__WMI_VERSION=\"${WMI_VERSION}\" ${XINERAMAFLAGS}
+#CFLAGS = -g -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
+CXXFLAGS = -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
+#LDFLAGS = -g ${LIBS}
+LDFLAGS = -s ${LIBS}
+
+# Solaris
+#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
+#LDFLAGS = ${LIBS}
+
+# compiler and linker
+CXX = c++