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++