stumpwm (1:20080721-2) debian-dir only changes

Summary


 debian/NEWS                                              |   26 
 debian/README.Debian                                     |   73 
 debian/changelog                                         |  314 
 debian/commit.id                                         |    1 
 debian/compat                                            |    1 
 debian/control                                           |   36 
 debian/copyright                                         |   88 
 debian/patches/02_correct-Stumpwm-StumpWM-in-README.diff |   11 
 debian/patches/04_default-to-x-terminal-emulator.diff    |   24 
 debian/patches/05_default-to-x-www-browser.diff          |   22 
 debian/patches/06_add-upstream-changelog.diff            | 8185 +++++++++++++++
 debian/patches/series                                    |    4 
 debian/rules                                             |   73 
 debian/stumpish.1                                        |   52 
 debian/stumpwm.1                                         |   47 
 debian/stumpwm.bin                                       |   49 
 debian/stumpwm.doc-base                                  |   11 
 debian/stumpwm.menu                                      |    6 
 18 files changed, 9023 insertions(+)

  
download this patch

Patch contents

--- stumpwm-20080721.orig/debian/rules
+++ stumpwm-20080721/debian/rules
@@ -0,0 +1,73 @@
+#!/usr/bin/make -f
+
+
+include /usr/share/quilt/quilt.make
+
+
+pkg		:= stumpwm
+debpkg  	:= $(pkg)
+
+clc-source	:= usr/share/common-lisp/source
+clc-systems	:= usr/share/common-lisp/systems
+clc-files	:= $(clc-source)/$(pkg)
+doc-dir		:= usr/share/doc/$(debpkg)
+bin-dir		:= usr/bin
+
+
+COMMIT_ID	:= $(shell cat debian/commit.id)
+DEBIAN_VERSION	:= Debian Git checkout $(COMMIT_ID)
+
+configure: $(QUILT_STAMPFN)
+	./autogen.sh
+	./configure --with-lisp=clisp \
+		--with-ppcre=/usr/share/common-lisp/source/cl-ppcre
+
+build: configure
+	sed -e 's/@PACKAGE_VERSION@/${DEBIAN_VERSION}/' version.lisp.in >version.lisp
+	$(MAKE) stumpwm.info
+
+clean: unpatch
+	dh_testdir
+	dh_testroot
+	[ ! -f Makefile ] || $(MAKE) clean
+	rm -rf autom4te.cache Makefile make-image.lisp version.lisp config.log config.status configure
+	dh_clean
+
+install: patch build
+	dh_testdir
+	dh_testroot
+	dh_clean
+	dh_installdirs $(clc-files) $(clc-files)/contrib  $(doc-dir)/examples $(bin-dir)
+	dh_install $(pkg).asd $(clc-files)
+	dh_install *.lisp $(clc-files)
+	rm debian/$(debpkg)/$(clc-files)/asdf.lisp
+	rm debian/$(debpkg)/$(clc-files)/make-image.lisp
+	mv debian/$(debpkg)/$(clc-files)/sample-stumpwmrc.lisp debian/$(debpkg)/$(doc-dir)/examples/
+	dh_install contrib/*.lisp $(clc-files)/contrib
+	cp debian/stumpwm.bin debian/$(debpkg)/$(bin-dir)/stumpwm
+	dh_install contrib/stumpish $(bin-dir)
+	dh_install contrib/stumpwm-mode.el $(doc-dir)
+
+binary-indep: install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs ChangeLog
+	dh_installdocs README NEWS
+	dh_installinfo stumpwm.info
+	dh_installman debian/stumpwm.1 debian/stumpish.1
+	dh_installmenu
+	dh_installwm /usr/bin/stumpwm
+	dh_lisp
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary-arch:
+
+binary: binary-indep
+
+
+.PHONY: configure build clean install binary-indep binary-arch binary
--- stumpwm-20080721.orig/debian/control
+++ stumpwm-20080721/debian/control
@@ -0,0 +1,36 @@
+Source: stumpwm
+Section: devel
+Priority: optional
+Maintainer: Debian Common Lisp Team <pkg-common-lisp-devel@lists.alioth.debian.org>
+Uploaders: Luca Capello <luca@pca.it>, Peter Van Eynde <pvaneynd@debian.org>
+Build-Depends-Indep: dh-lisp, texinfo, autoconf, clisp, cl-ppcre
+Build-Depends: debhelper (>= 5.0.0), quilt (>= 0.40)
+Standards-Version: 3.7.2
+Homepage: http://www.nongnu.org/stumpwm/
+Vcs-Git: http://git.debian.org/git/pkg-common-lisp/stumpwm.git
+Vcs-Browser: http://git.debian.org/?p=pkg-common-lisp/stumpwm.git;a=summary
+
+Package: stumpwm
+Architecture: all
+Depends: ${misc:Depends}, clisp | cl-clx-sbcl | cmucl-source, cl-ppcre
+Suggests: slime, x-terminal-emulator, www-browser, info-browser, menu, x11-utils, rlwrap
+Description: a Common Lisp window manager
+ StumpWM is a window manager written entirely in Common Lisp. It
+ attempts to be highly customizable while relying entirely on the
+ keyboard for input. You will not find buttons, icons, title bars,
+ tool bars, or any of the other conventional GUI widgets.
+ .
+ These design decisions reflect the growing popularity of productive,
+ customizable lisp based systems.
+ .
+ Please ensure that you install compatible implementations of CL and
+ CLX.  That means either install sbcl and cl-clx-sbcl or cmucl and
+ cmucl-source or clisp only.
+ .
+ The suggested package, slime, lets you control a running StumpWM
+ session through Emacs.
+ .
+ If you need Xinerama support, you need the xdpyinfo utility from the
+ x11-utils package.
+ .
+ The rlwrap package provides command completion for stumpish.
--- stumpwm-20080721.orig/debian/stumpwm.menu
+++ stumpwm-20080721/debian/stumpwm.menu
@@ -0,0 +1,6 @@
+?package(stumpwm): \
+  needs="wm" \
+  section="Window Managers" \
+  title="StumpWM" \
+  longtitle="a Common Lisp window manager" \
+  command="stumpwm"
--- stumpwm-20080721.orig/debian/changelog
+++ stumpwm-20080721/debian/changelog
@@ -0,0 +1,314 @@
+stumpwm (1:20080721-2) unstable; urgency=low
+
+  * debian/control:
+    + default CL implementation is CLISP, it shows less memory usage.
+
+  * debian/README.Debian:
+    + default CL implementation is CLISP.
+    + add a note for SBCL users about CLX bug #492046.
+
+  * debian/stumpwm.1:
+    + default CL implementation is CLISP.
+    + update copyright assignment to 2008.
+    - remove useless website from copyright assignment.
+
+  * debian/stumpwm.bin:
+    + default CL implementation is CLISP.
+    + abort if $LISP is not in user's $PATH.
+
+ -- Luca Capello <luca@pca.it>  Wed, 23 Jul 2008 22:58:20 +0200
+
+stumpwm (1:20080721-1) unstable; urgency=low
+
+  * Move to team maintenance: Debian Common Lisp Team at
+    http://pkg-common-lisp.alioth.debian.org
+  * The Debian package is now maintained through Git.
+  * The Debian patches are now managed through quilt.
+
+  * New Git checkout (6e67440f9a6f000bc2b921cd509e5bedb116cf5e), check
+    the upstream NEWS file for user visible changes (Closes: #487168).
+
+  * debian/commit.id:
+    + new file containing the last upstream Git commit ID.
+
+  * debian/control:
+    + team maintenance.
+    + move myself to Uploaders:.
+    + s/Vcs-Darcs/Vcs-Git/.
+    + link the team repository at git.debian.org in the Vcs-Git:
+      field.
+    + add Vcs-Browser: field.
+    + Depends: on cl-ppcre.
+    + Build-Depends: on quilt.
+    + Suggests: x11-utils for Xinerama support in screen.lisp and
+      explain it in the long Description:.
+    + Build-Depends-Indep: on autoconf, clisp and cl-ppcre to build
+      the Info manual (now generated from the .lisp files).
+    + Suggests: rlwrap for stumpish command completion.
+
+  * debian/copyright:
+    + update copyright assignment to 2008.
+    + convert to be machine-interpretable.
+    + list all Copyright holders based on single files contents.
+
+  * debian/patches/series: new file.
+  * debian/patches/02_correct-Stumpwm-StumpWM-in-README.diff:
+    + convert to quilt.
+  * debian/patches/03_correct-Stumpwm-StumpWM-in-stumpwm.texi.dpatch:
+    - physically remove the patch file.
+  * debian/patches/04_default-to-x-terminal-emulator.diff:
+    + convert to quilt and refresh.
+  * debian/patches/05_default-to-x-www-browser.diff:
+    + convert to quilt and refresh.
+  * debian/patches/06_add-upstream-changelog.diff:
+    + add upstream ChangeLog generated from `git log`.
+
+  * debian/README.Debian:
+    + wrap at 70 columns.
+    + update instructions about how to load contrib files.
+    + update instructions about how to use stumpwm-mode.el.
+
+  * debian/rules:
+    + adapt to quilt.
+    + add 'configure' target, necessary for the Info manual.
+    + replace upstream version in version.lisp.in with debian/commit.id
+      and save it as version.lisp on 'build' target.
+    + install upstream contrib .lisp files.
+    + install upstream contrib/stumpish binary and its manpage.
+    + install upstream contrib/stumpwm-mode.el in usr/share/doc/stumpwm/.
+    - use upstream `make clean` on 'clean' target.
+    - remove the autoconf-generated files on 'clean' target.
+    - do not install useless upstream asdf.lisp and make-image.lisp.
+
+  * debian/stumpish.1:
+    + new file.
+
+  * debian/stumpwm.doc-base:
+    + new section to 'Programming' (thanks to lintian).
+
+ -- Luca Capello <luca@pca.it>  Tue, 22 Jul 2008 02:02:17 +0200
+
+stumpwm (1:20070908-1) unstable; urgency=low
+
+  * New CVS checkout:
+    + from now on, upstream moved to git.
+
+  * debian/compat:
+    + new file to remove lintian warning debian-rules-sets-DH_COMPAT.
+    + switch to compatibility level 5.
+
+  * debian/control:
+    + depend on debhelper >= 5.0.0.
+    + suggest info-browser as an info file is installed.
+    + suggest menu since a menu file is installed.
+    + add alternative dependency on clisp.
+    + add Homepage header and remove it from the long description.
+    + correct s/XS-VCS-Darcs/Vcs-Darcs/ header since Vcs-* fields
+      are now supported in dpkg since 1.14.6.
+    - remove Martin Würtele <maxx@debian.org> from Uploaders.
+    - remove useless dependency on cl-port.
+
+  * debian/copyright:
+    + correct typo in GPL statement.
+    + correct s/(c)/Copyright/ statement.
+    + the Debian packaging is licensed under GPL version 2 or later.
+    + refer to /usr/share/common-licenses/GPL-2 rather than the
+      /usr/share/common-licenses/GPL symlink.
+
+  * debian/NEWS:
+    + notice the new /usr/bin/stumpwm command.
+
+  * debian/patches/00list: update.
+  * debian/patches/03_correct-Stumpwm-StumpWM-in-stumpwm.texi.dpatch:
+    - remove, similar patch applied upstream.
+  * debian/patches/04_default-to-x-terminal-emulator.dpatch:
+    + refresh.
+  * debian/patches/05_default-to-x-www-browser.dpatch:
+    + refresh.
+
+  * debian/README.Debian:
+    + better title.
+    + clarify how to start StumpWM (Closes: #356948).
+    + update instructions about how to control a running StumpWM
+      session through the cl-swank and slime packages.
+
+  * debian/rules:
+    - remove DH_COMPAT export.
+    + install /usr/bin/stumpwm and its manpage.
+    + register /usr/bin/stumpwm as window manager.
+    + install menu file.
+
+  * debian/stumpwm.1:
+    + new file.
+
+  * debian/stumpwm.bin:
+    + new file.
+
+  * debian/stumpwm.doc-base:
+    + new file to register the documentation via doc-base.
+
+  * debian/stumpwm.menu:
+    + new file.
+
+ -- Luca Capello <luca@pca.it>  Sun, 18 Nov 2007 22:24:00 +0100
+
+stumpwm (1:20060930-3) unstable; urgency=low
+
+  * debian/control:
+    + correct s/XS-X-VCS-Darcs/XS-VCS-Darcs/ header.
+
+  * debian/copyright:
+    + correct upstream copyright statement (GPL not BSD), which I
+      messed up with package version 1:20060513-1.
+    + update copyright to 2007.
+
+ -- Luca Capello <luca@pca.it>  Sun,  4 Feb 2007 16:15:02 +0100
+
+stumpwm (1:20060930-2) unstable; urgency=low
+
+  * The ChangeLog entry are perfect, but I forgot to apply all of them.
+
+  * debian/patches/00list: really update.
+  * debian/patches/01_add-set-prefix-key-to-samplestumpwmrc.dpatch:
+    - really remove.
+
+ -- Luca Capello <luca@pca.it>  Sun,  1 Oct 2006 03:50:27 +0200
+
+stumpwm (1:20060930-1) unstable; urgency=low
+
+  * New CVS checkout.
+
+  * debian/control:
+    + add XS-X-VCS-Darcs header.
+    + add x-terminal-emulator and www-browser to Suggests.
+
+  * debian/patches/00list: update.
+  * debian/patches/01_add-set-prefix-key-to-samplestumpwmrc.dpatch:
+    - remove, similar patch applied upstream.
+  * debian/patches/04_default-to-x-terminal-emulator.dpatch:
+    + default to x-terminal-emulator instead of xterm.
+  * debian/patches/05_default-to-x-www-browser.dpatch:
+    + default to x-www-browser instead of firefox and remove the
+      :class attribute.
+
+ -- Luca Capello <luca@pca.it>  Sat, 30 Sep 2006 22:30:13 +0200
+
+stumpwm (1:20060918-1) unstable; urgency=low
+
+  * New CVS checkout (Closes: #384071):
+    + handle meta alt syper and super modifiers
+    + various focus functions
+
+ -- Luca Capello <luca@pca.it>  Mon, 18 Sep 2006 15:17:19 +0200
+
+stumpwm (1:20060513-2) unstable; urgency=low
+
+  * Sponsored by Martin Würtele <maxx@debian.org>.
+
+  * debian/control:
+    + add Homepage line at the end of Description.
+
+  * debian/rules:
+    + create the stumpwm.info page at build target, not at install
+      target as previously done.
+    + add build call to install target.
+    + move dh_lisp call to binary-indep target.
+
+ -- Luca Capello <luca@pca.it>  Wed, 26 Jul 2006 02:21:00 +0200
+
+stumpwm (1:20060513-1) unstable; urgency=low
+
+  * New CVS checkout.
+
+  * debian/control:
+    + Standards-Version to 3.7.2.
+    + move debhelper to Build-Depends instead of Build-Depends-Indep
+      (Policy Manual section 7.6).
+    + add dpatch to Build-Depends.
+    + add slime to Suggests.
+    + start the short description with a lowercase 'a'.
+    + reduce the short description to essential, in order to not
+      repeat it in the long description.
+    + correct s/Stumpwm/StumpWM/ in the long description.
+    + explain why slime can be helpful in the long description.
+    + wrap the long description at 72 characters.
+
+  * debian/copyright:
+    + better layout.
+
+  * debian/NEWS:
+    + explain the new functions in ~/.stumpwmrc.
+
+  * debian/README.Debian:
+    + explain how to control a running StumpWM session.
+
+  * debian/patches/00list: update.
+  * debian/patches/01_add-set-prefix-key-to-samplestumpwmrc.dpatch:
+    + add `set-prefix-key' example to sample-stumpwmrc.lisp.
+  * debian/patches/02_correct-Stumpwm-StumpWM-in-README.dpatch:
+    + correct s/Stumpwm/StumpWM/ in README.
+  * debian/patches/03_correct-Stumpwm-StumpWM-in-stumpwm.texi.dpatch:
+    + correct s/Stumpwm/StumpWM/ in stumpwm.texi.
+
+  * debian/rules:
+    - remove build call from install and binary-indep targets.
+    + install the upstream NEWS file.
+    + add unpatch call to clean target.
+    + add patch call to install target.
+    + add empty binary-arch target (Policy Manual section 4.8).
+    + add patch and unpatch targets.
+    + update .PHONY target.
+
+ -- Luca Capello <luca@pca.it>  Fri, 19 May 2006 21:19:50 -0500
+
+stumpwm (1:20060228-1) unstable; urgency=low
+
+  * New CVS checkout.
+  * New maintainer.
+  * Sponsored by Peter Van Eynde <pvaneynd@debian.org>.
+
+  * Change the Debian version to reflect that this is the CVS
+    version.
+
+  * debian/control:
+    - remove useless Build-Depends: section, as the package-building
+      process is architecture-independent.
+    + Standards-Version to 3.6.2, no changes needed.
+    + add dh-lisp to Build-Depends-Indep:.
+    + add ${misc:Depends} in the binary Depends:, thus letting dh-lisp
+      fill in the dependency for the common-lisp-controller, so that
+      generated scripts always match the depended-on version.
+
+  * debian/compat: remove.
+  * debian/docs: remove.
+  * debian/postinst: remove.
+  * debian/preinst: remove.
+  * debian/prerm: remove.
+
+  * debian/rules:
+    - remove useless targets, as the package-building process is
+      architecture-independent.
+    - remove all the debhelper -i calls and duplicate dh_installdirs
+      call, there is only one binary package.
+    - install only README, the other upstream docs are useless.
+    + export DH_COMPAT level 4.
+    + add $(doc-dir) variable.
+    + install sample-stumpwmrc.lisp in usr/share/doc/stumpwm/examples/.
+    + convert to dh-lisp.
+
+ -- Luca Capello <luca@pca.it>  Tue, 28 Feb 2006 19:59:02 +0100
+
+stumpwm (0.0.4+cvs20050819-1) unstable; urgency=high
+
+  * Changed recommendation to dependency. (Closes: #323936).
+  * Added note in description that users should install compatible CL and
+    CLX implementations.
+  * Fresh upstream checkout from CVS, no new upstream changes.
+
+ -- Trent Buck <trentbuck@gmail.com>  Fri, 19 Aug 2005 21:22:27 +1000
+
+stumpwm (0.0.4+cvs20050802-1) unstable; urgency=low
+
+  * Initial package. (Closes: #320865).
+
+ -- Trent Buck <trentbuck@gmail.com>  Sat, 18 Jun 2005 11:23:44 +1000
--- stumpwm-20080721.orig/debian/stumpwm.doc-base
+++ stumpwm-20080721/debian/stumpwm.doc-base
@@ -0,0 +1,11 @@
+Document: stumpwm
+Title: StumpWM Guide
+Author: Shawn Betts
+Abstract: StumpWM is a window manager written entirely in Common Lisp
+ which attempts to be highly customizable while relying entirely on
+ the keyboard for input.
+Section: Programming
+
+Format: Info
+Index: /usr/share/info/stumpwm.info.gz
+Files: /usr/share/info/stumpwm.info.gz
--- stumpwm-20080721.orig/debian/copyright
+++ stumpwm-20080721/debian/copyright
@@ -0,0 +1,88 @@
+Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat
+Upstream-Name: StumpWM
+Upstream-Maintainer: Shawn Betts <sabetts@gmail.com>
+Upstream-Source: http://savannah.nongnu.org/git/?group=stumpwm
+
+Files: *
+Copyright: Copyright 2003-2008 Shawn Betts <sabetts@gmail.com>
+License: GPL-2+
+ On Debian systems the full text of the GNU General Public License can
+ be found in the `/usr/share/common-licenses/GPL' file.
+
+Files: asdf.lisp
+Copyright: Copyright 2001-2003 Daniel Barlow and contributors
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Files: color.lisp
+Copyright: Copyright 2007-2008 Jonathan Moore Liles <wantingwaiting@users.sourceforge.net>
+
+Files: fdump.lisp
+Copyright: Copyright 2007-2008 Shawn Betts <sabetts@gmail.com>
+ Copyright 2007-2008 Jonathan Moore Liles <wantingwaiting@users.sourceforge.net>
+
+Files: help.lisp, menu.lisp
+Copyright: Copyright 2008 Shawn Betts <sabetts@gmail.com>
+
+Files: keysyms.lisp, keytrans.lisp
+Copyright: Copyright 2006-2008 Matthew Kennedy <mkennedy@gentoo.org>
+
+Files: manual.lisp
+Copyright: Copyright 2007-2008 Shawn Betts <sabetts@gmail.com>
+
+Files: mode-line.lisp
+Copyright: Copyright 2006-2008 Shawn Betts <sabetts@gmail.com>
+
+Files: stumpwm.texi.in
+Copyright: Copyright 2000-2008 Shawn Betts <sabetts@gmail.com>
+
+Files: version.lisp.in
+Copyright: Copyright 2006 Martin Bishop <martinbishop@bellsouth.net>
+
+Files: contrib/amixer.lisp
+Copyright: Copyright 2007 Amy Templeton <amy.g.templeton@gmail.com>
+ Copyright 2007 Jonathan Moore Liles <wantingwaiting@users.sourceforge.net>
+
+Files: contrib/battery.lisp
+Copyright: Copyright 2008 Vitaly Mayatskikh <v.mayatskih@gmail.com>
+
+Files: contrib/cpu.lisp, contrib/stumpish
+Copyright: Copyright 2007 Jonathan Moore Liles <wantingwaiting@users.sourceforge.net>
+
+Files: contrib/g15-keysyms.lisp
+Copyright: Copyright 2008 Ted Zlatanov <tzz@lifelogs.com>
+
+Files: contrib/mpd.lisp
+Copyright: Copyright 2007 Morgan Veyret <patzy@appart.kicks-ass.net>
+
+Files: contrib/notifications.lisp
+Copyright: Copyright 2008 Tassilo Horn <tassilo@member.fsf.org>
+License: GPL-3+
+
+Files: contrib/stumpwm-mode.el
+Copyright: Copyright 2007 Shawn Betts <sabetts@gmail.com>
+
+Files: contrib/surfraw.lisp
+Copyright: Copyright 2008 Ivy Foster <ivy.foster@gmail.com>
+
+Files: debian/*
+Copyright: Copyright 2005-2006 Trent Buck <trentbuck@gmail.com>
+ Copyright 2006-2008 Luca Capello <luca@pca.it>
+License: GPL-2+
--- stumpwm-20080721.orig/debian/stumpish.1
+++ stumpwm-20080721/debian/stumpish.1
@@ -0,0 +1,52 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2008 Luca Capello http://luca.pca.it <luca@pca.it>
+
+.TH STUMPISH 1 "Jul 22, 2007"
+
+.SH NAME
+stumpish \- the StumpWM Interactive SHell
+
+.SH SYNOPSIS
+.B stumpish
+.RI [[-e]
+.I command
+.RI [args...]]
+
+.SH DESCRIPTION
+StumpISH is the StumpWM shell.  Use it to interact a running StumpWM
+instance.
+.PP
+When run from a terminal with no arguments, \fBstumpish\fP accepts
+commands interactively and prints each result.
+.PP
+If standard input is a pipe, \fBstumpish\fP executes any number of
+commands and prints the concatenated results.
+.PP
+If the '\-e' option and one argument are given on the command line,
+stumpish reads any number of lines from standard input and uses them
+as the argument to the named command.  Otherwise, if one or more
+arguments are provided on the command line, the first is considered
+the name of the command to execute and the remainder is concatenated
+to form the argument.
+
+.SH OPTIONS
+.TP
+.BI \-r
+Do not use readline, only available when run interactively.
+.TP
+.BI \-\-help
+Show the help and exit.
+
+.SH SEE ALSO
+.BR stumpwm (1)
+
+.SH AUTHORS
+StumpISH was written by Jonathan Moore Liles
+<wantingwaiting@users.sf.net> and is licensed under the terms of the
+GNU General Public License (GPL), version 2 or later.
+
+This manual page was written by Luca Capello <luca@pca.it> for the
+Debian StumpWM package and is licensed under the terms of the GNU
+General Public License (GPL), version 2 or later.  Check
+/usr/share/doc/stumpwm/copyright for more information.
--- stumpwm-20080721.orig/debian/commit.id
+++ stumpwm-20080721/debian/commit.id
@@ -0,0 +1 @@
+6e67440f9a6f000bc2b921cd509e5bedb116cf5e
--- stumpwm-20080721.orig/debian/README.Debian
+++ stumpwm-20080721/debian/README.Debian
@@ -0,0 +1,73 @@
+stumpwm for Debian
+------------------
+
+* HowTo start StumpWM
+
+StumpWM can be started using the /usr/bin/stumpwm executable.  By
+default, the binary assumes that you want to use StumpWM with CLISP.
+In case you prefer SBCL or CMUCL, please configure it via an
+environment variable:
+
+  LISP=$COMMON_LISP_IMPLEMENTATION_TO_BE_USED
+
+or in your ~/.stumpwmrc like:
+
+  ;debian=$COMMON_LISP_IMPLEMENTATION_TO_BE_USED
+
+where COMMON_LISP_IMPLEMENTATION_TO_BE_USED is clisp, sbcl or cmucl.
+
+At least one trailing semicolon is required since ~/.stumpwmrc
+is read by StumpWM as its configuration file, thus the debian
+declaration must be commented out.
+
+Note for SBCL users: unfortunately, the first time CLX-0.7.3 is
+loaded it requires manual intervention:
+
+  http://bugs.debian.org/492046
+
+Thus, if you want to start StumpWM you need to be sure to have loaded
+CLX at least once, like, in a new terminal:
+
+  $ sbcl
+  * (asdf:oos 'asdf:load-op 'clx)
+    ACCEPT (i.e. press 2 and then RET)
+  * (quit)
+
+
+* Control a running StumpWM session
+
+Taking advantage of the swank module of the SLIME package, you can
+control a running StumpWM session from Emacs.  In order to do so,
+start the swank directly in your ~/.stumpwmrc with:
+
+  * (asdf:oos 'asdf:load-op 'swank)
+  * (swank:create-server :dont-close t)
+
+Please refer to the SLIME documentation for more information.
+
+
+* Load contrib files
+
+StumpWM comes with some user-contributed files to add extra features
+(e.g. CPU and battery status for the `mode-line').  You can load any
+of them by putting in your ~/.stumpwmrc:
+
+  * (load "/usr/share/common-lisp/source/stumpwm/contrib/FILE.lisp")
+
+Check the file sources to find out how to use the extra features.
+
+
+* Emacs `stumpwm-mode'
+
+To directly eval code from Emacs buffers into a running StumpWM using
+StumpISH, please do the following from Emacs:
+
+  * M-x load-file RET /usr/share/doc/stumpwm/stumpwm-mode.el RET
+  * M-x stumpwm-mode
+
+Now you can call `stumpwm-eval-defun', `stumpwm-eval-last-sexp' and
+`stumpwm-eval-region', the first two mapped to the regular bindings.
+
+
+ -- Luca Capello <luca@pca.it>, Wed, 23 Jul 2008 21:46:04 +0200
+
--- stumpwm-20080721.orig/debian/compat
+++ stumpwm-20080721/debian/compat
@@ -0,0 +1 @@
+5
--- stumpwm-20080721.orig/debian/stumpwm.bin
+++ stumpwm-20080721/debian/stumpwm.bin
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# Time-stamp: <2008/07/23 20:48:49 CEST luca@gismo.pca.it>
+#
+# Copyright 2007 Luca Capello <luca@pca.it>
+# This file is part of the Debian StumpWM package and is licensed
+# under the terms of the GNU GPL version 2 or later.  Check
+# /usr/share/doc/stumpwm/copyright for more information.
+#
+# StumpWM startup file.  Check /usr/share/doc/stumpwm/README.Debian
+# to know how to setup your ~/.stumpwmrc file to define the Common
+# Lisp implementation StumpWM should use.
+
+
+EVAL_LOAD="(asdf:oos 'asdf:load-op 'stumpwm)"
+EVAL_RUN="(stumpwm:stumpwm)"
+
+load_lisp() {
+    case "$1" in
+	cmucl)
+	    lisp -eval "$EVAL_LOAD $EVAL_RUN"
+	    ;;
+	sbcl)
+	    sbcl --eval "$EVAL_LOAD" --eval "$EVAL_RUN"
+	    ;;
+	clisp)
+	    clisp -x "$EVAL_LOAD $EVAL_RUN"
+	    ;;
+	*)
+	    echo "Unkown Common Lisp implementation."
+	    exit 1
+	    ;;
+    esac
+}
+
+if [ -z "$LISP" ]; then
+    LISP_STUMPWMRC_TMP="`grep debian= $HOME/.stumpwmrc`"
+    LISP_STUMPWMRC=${LISP_STUMPWMRC_TMP##*=}
+    LISP=${LISP_STUMPWMRC:-clisp}
+fi
+
+if ! which $LISP >/dev/null; then
+    echo "CL implementation $LISP not found in your \$PATH."
+    exit 1
+fi
+
+load_lisp $LISP
+
+exit 0
--- stumpwm-20080721.orig/debian/NEWS
+++ stumpwm-20080721/debian/NEWS
@@ -0,0 +1,26 @@
+stumpwm (1:20060930-4) unstable; urgency=low
+
+  Finally, with this release a binary /usr/bin/stumpwm is provided
+  (thus solving the long-standing bug #356948).
+
+  By default /usr/bin/stumpwm tries to load StumpWM via SBCL, but it
+  supports CMUCL and CLisp, too, /usr/share/doc/stumpwm/README.Debian
+  contains the necessary information.
+
+ -- Luca Capello <luca@pca.it>  Tue, 25 Sep 2007 23:17:59 +0200
+
+stumpwm (1:20060513-1) unstable; urgency=low
+
+  Some changes have been introduced in the ~/.stumpwmrc file.
+
+  The *prefix-key* is configured as following:
+    (set-prefix-key (kbd "[KEY]"))
+
+  The `set-key-binding' function is no longer available and keybindings
+  are defined as following:
+    (define-key [MAP] (kbd "[KEY]") "[ACTION]")
+
+  Check the /usr/share/doc/stumpwm/examples/sample-stumpwmrc.lisp for
+  some examples.
+
+ -- Luca Capello <luca@pca.it>  Fri, 19 May 2006 21:19:47 -0500
--- stumpwm-20080721.orig/debian/stumpwm.1
+++ stumpwm-20080721/debian/stumpwm.1
@@ -0,0 +1,47 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2007-2008 Luca Capello <luca@pca.it>
+
+.TH STUMPWM 1 "Jul 23, 2008"
+
+.SH NAME
+stumpwm \- a Common Lisp window manager
+
+.SH SYNOPSIS
+.B stumpwm
+
+.SH DESCRIPTION
+Stumpwm is a tiling, keyboard driven X11 Window Manager written
+entirely in Common Lisp.
+
+StumpWM attempts to be customizable yet visually minimal.  There are
+no window decorations, no icons, and no buttons.  It does have various
+hooks to attach your personal customizations, and variables to tweak.
+
+.SH FILES
+.I ~/.stumpwmrc
+
+.SH ENVIRONMENT
+.B LISP
+.IP
+Specify which Common Lisp implementation should be used.  Default to
+CLISP, other values are SBCL and CMUCL (all lowercase).  This can also
+be configured in \fI~/.stumpwmrc\fP as "\fB;debian=lisp\fP".
+
+.SH SEE ALSO
+.BR clisp (1),
+.BR sbcl (1),
+.BR cmucl (1)
+.P
+The complete StumpWM documentation is available under the info
+subsystem, as well as the SLIME documentation.
+
+.SH AUTHORS
+StumpWM was principally written by Shawn Betts <sabetts@vcn.bc.ca> and
+is licensed under the terms of the GNU General Public License (GPL),
+version 2 or later.
+
+This manual page was written by Luca Capello <luca@pca.it> for the
+Debian StumpWM package and is licensed under the terms of the GNU
+General Public License (GPL), version 2 or later.  Check
+/usr/share/doc/stumpwm/copyright for more information.
--- stumpwm-20080721.orig/debian/patches/02_correct-Stumpwm-StumpWM-in-README.diff
+++ stumpwm-20080721/debian/patches/02_correct-Stumpwm-StumpWM-in-README.diff
@@ -0,0 +1,11 @@
+--- stumpwm.orig/README
++++ stumpwm/README
+@@ -1,7 +1,7 @@
+ The Stump Window Manager
+ ------------------------
+ 
+-Stumpwm is a window manager written entirely in Common Lisp. It
++StumpWM is a window manager written entirely in Common Lisp. It
+ attempts to be highly customizable while relying entirely on the
+ keyboard for input. You will not find buttons, icons, title bars, tool
+ bars, or any of the other conventional GUI widgets. 
--- stumpwm-20080721.orig/debian/patches/series
+++ stumpwm-20080721/debian/patches/series
@@ -0,0 +1,4 @@
+02_correct-Stumpwm-StumpWM-in-README.diff
+04_default-to-x-terminal-emulator.diff
+05_default-to-x-www-browser.diff
+06_add-upstream-changelog.diff
--- stumpwm-20080721.orig/debian/patches/06_add-upstream-changelog.diff
+++ stumpwm-20080721/debian/patches/06_add-upstream-changelog.diff
@@ -0,0 +1,8185 @@
+--- /dev/null
++++ stumpwm/ChangeLog
+@@ -0,0 +1,8182 @@
++commit 6e67440f9a6f000bc2b921cd509e5bedb116cf5e
++Author: Shawn <sabetts@juicebox>
++Date:   Mon Jul 21 13:29:40 2008 -0700
++
++    add info command
++
++commit 5d7dbc29ff935cd7258fdadc3a976ebb0cd4995f
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Tue May 6 20:40:06 2008 +0200
++
++    Added path existance check in "rehash" to prevent from errors with buggy PATH var.
++
++commit 8319540bf29dde9d51063a1a2744dfc63ed1652f
++Author: Shawn <sabetts@juicebox>
++Date:   Mon Jul 21 12:30:55 2008 -0700
++
++    sync the key bindings when undefine-key is called on *top-map*
++
++commit b361aff55386c9bb44f08b77d52855d3bfabf78e
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jul 20 17:35:20 2008 -0700
++
++    given a string, lookup the corresponding symbol by searching *command-hash* for match
++    
++    Fixes the bug where (defcommand :abc () () (message "foo")) can't be
++    run from colon. it produces the error "command abc not found."
++
++commit f8ac97e878d482f1a5857fe2247332bb5d57e71c
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Jul 19 16:10:56 2008 -0700
++
++    in select-group, attempt to match the whole name, then a partial name, then the number
++
++commit 8bd749ddcf75b7e070f4aa27f1da6c30ce1fbcab
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jul 18 14:49:19 2008 -0700
++
++    fix typo in NEWS
++
++commit 35352eb875e34b3cb01dca670d07f78c1cf3c392
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jul 18 14:37:46 2008 -0700
++
++    use y-or-no-p in gkill
++
++commit e74f2d14b48b6febbf47f94b0f3192226cb8b7f0
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jul 18 14:14:47 2008 -0700
++
++    fix formatting bug in manual
++
++commit 4bbd755ca090135cf81cf6d4489a7560041ed03d
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jul 18 13:49:45 2008 -0700
++
++    bump version to 0.9.5-GIT
++
++commit 10649feb467b10a379d6f32605e794d37faf29c5
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jul 18 13:48:25 2008 -0700
++
++    properly create the latest symlinks in upload-release makefile rule
++
++commit b47ba86a172f36750239a2a0aaa519cbec8e1a44
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jul 18 13:39:30 2008 -0700
++
++    add missing authors
++
++commit d7eec6dff2bac05abb2ff1d6dfaf5af9d8a24708
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jul 18 13:39:16 2008 -0700
++
++    automatically tag a release in release makefile rule
++
++commit 568ebe99080b9ed0423d3f4932cdcab334f56de2
++Author: Luca Capello <luca@pca.it>
++Date:   Fri Jul 18 02:38:57 2008 +0200
++
++    remove stumpwm.info and stumpwm.texi on `make clean`
++
++commit 678ddfbe0ff4a809081cd2b1aac90711825ace99
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jul 18 02:05:30 2008 -0700
++
++    ensure the frame indicator pops up at the right place when it's already visible and the current frame changes
++
++commit 26b1f16f42c91ebdae196ae3e53e00718a13f390
++Author: Tassilo Horn <tassilo@member.fsf.org>
++Date:   Fri Jul 18 08:47:02 2008 +0200
++
++    Correct the formatter in the comment to %N.
++
++commit 3a9b76e3237d3cc6029101fd21724eed948fb67d
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 17 16:15:41 2008 -0700
++
++    update copyright for texinfo manual
++
++commit 35c29fd13b4fae1bac6ec9d771dd98fa2b7929ea
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 17 16:15:32 2008 -0700
++
++    new condition command-docstring-warning
++
++commit a6732d722ccc1ee0bbc1b5c6fd3696b557f7e977
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 17 14:36:02 2008 -0700
++
++    put the command's docstring in the right place
++
++commit daa12077f4267c4c9c6518139a8616a89438133a
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 17 14:19:19 2008 -0700
++
++    catch the xlib:access-error error and print a message.
++    
++    A previous patch changed the behavior to print all asynchronous errors
++    which broke stumpwm when another WM was running. This patch corrects that.
++
++commit 7e21b9572202ae1da861864ce8760642e6d963b6
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 17 00:48:25 2008 -0700
++
++    properly implement yes-or-no-p and y-or-no-p
++
++commit f2f1e6228193a6c1324eb260853b9fb3720a20c5
++Author: John Li <jli@circularly.org>
++Date:   Wed Jul 16 04:50:01 2008 -0400
++
++    Fix frame indicator height bug.
++
++commit ea145d87cdb5b84b242a1bd45f116c62a6c7aafb
++Author: Lionel Flandrin <lionel.flandrin@gmail.com>
++Date:   Tue Jul 15 01:11:42 2008 +0200
++
++    Confirmation when gkill is called interactively
++    
++    * Ask for confirmation when gkill is called interactively in a
++      non-empty group.
++    * New function "yes-or-no-p" that prints a message and returns T
++      if the user presses 'y', NIL otherwise.
++
++commit 4626dc58abf5ca858f7ff5e31e33900c935d5fd3
++Author: Shawn <sabetts@juicebox>
++Date:   Tue Jul 15 16:58:27 2008 -0700
++
++    update NEWS and documentation for defcommand
++
++commit 9ff9e45f77069b547b33609dbdc5180fd9b9d49b
++Author: Lionel Flandrin <simias.n@gmail.com>
++Date:   Wed Jul 16 00:39:46 2008 +0200
++
++    interactive-command renamed to eval-command; new argument "interactivep"
++    
++    * interactive-command renamed to the less ambiguous "eval-command".
++    * Optional argument "interactivep" used to know if the command should
++      be run with %interactivep% set to T.
++    * (declare (ignorable %interactivep%)) in defcommand to avoid a warning
++      about the potentially unused variable.
++
++commit 01d690e601350dd0d5dc758db67aef4f7054cee4
++Author: Lionel Flandrin <lionel.flandrin@gmail.com>
++Date:   Mon Jul 14 23:43:04 2008 +0200
++
++    Fixed bug in kill-group when there is only one visible group remaining
++    
++    * kill-group now checks if "to-group" is not the same as the group to
++      be deleted. Checking if the total number of groups is > 1 is not
++      enough since the other groups can be hidden, and in this case
++      next-group == current-group. This caused the windows to be sent to a
++      deleted group, never to be found again...
++
++commit d1f8e78e80acc35588cc499f24b6bf80e43c0c17
++Author: Shawn <sabetts@juicebox>
++Date:   Tue Jul 15 13:01:57 2008 -0700
++
++    add with-data-file macro
++    
++    stumpwm modules can now use this macro to save and load data between sessions.
++
++commit 3a829ed030ad2e995a398c24390b67e4a4d8d570
++Author: Shawn <sabetts@juicebox>
++Date:   Tue Jul 15 12:11:24 2008 -0700
++
++    add some documentation on sending patches
++
++commit ffac389bb46a2e88556657c3a2952802151810c0
++Author: Shawn <sabetts@juicebox>
++Date:   Tue Jul 15 00:25:58 2008 -0700
++
++    propertly handle xlib:lookup-error errors
++
++commit 41989a16ef90fec6d9ee0895b6cb45353ac4d91d
++Author: Lionel Flandrin <lionel.flandrin@gmail.com>
++Date:   Tue Jul 15 00:15:22 2008 +0200
++
++    Modified implementation of defcommand to add a local %interactivep% variable
++    
++    * %interactivep% is set to t if the defcommand is called directly from
++      "colon" or a keybinding.
++
++commit b928bafcea5921898b02c89a9714f4118cb1fafe
++Author: John Li <jli@circularly.org>
++Date:   Mon Jul 14 19:38:06 2008 +0200
++
++    "last full capacity" gives more accurate battery calculations
++
++commit c4054386743ac99e7c39ccd222b69b59423eb9e6
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jul 13 18:15:39 2008 -0700
++
++    update NEWS
++
++commit adac5825f51e5d791e58d56e3e5f033f4b21edab
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jul 13 18:14:46 2008 -0700
++
++    create a stumpwm-user package and set it to the default
++
++commit cc4e78de25445b36f999ee6b6801137850c25476
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jul 13 14:38:55 2008 -0700
++
++    update NEWS
++
++commit e66214c704dc728263bb94408f7e8a7cbd457c92
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jul 13 14:36:57 2008 -0700
++
++    fix the pixmap/window error for sbcl and clisp
++    
++    clisp 2.46 now raises an error which can be handled by invoking a
++    restart. sbcl's fix works exactly the same.
++    
++    For earlier versions of clisp the workaround is still in place.
++
++commit ec7b3e0927367224550976265b8564ca788a2fb9
++Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
++Date:   Sat Jul 12 16:20:34 2008 +0200
++
++    Corrected spelling of my name. :)
++
++commit 46b4fd4f447b25d21b1ba431fca724cf0d118883
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jul 11 16:09:55 2008 -0700
++
++    add maintainer tags to each contrib file
++
++commit 0d3b96a851ab532a2bc5208b0e5abcdcd00697d8
++Merge: dbfe3eb... 0dd9271...
++Author: Shawn <sabetts@juicebox.(none)>
++Date:   Fri Jul 11 15:54:53 2008 -0700
++
++    Merge branch 'cpubattery'
++
++commit dbfe3ebfa8a6e18556981fdf66ac4bc8a9e826c2
++Author: John Li <jli@circularly.org>
++Date:   Fri Jul 11 13:01:54 2008 -0400
++
++    pushnew instead of push for adding to *screen-mode-line-formatters*
++
++commit 0dd927179222186f643637548e535c3c69e670cd
++Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
++Date:   Mon Jun 23 18:36:53 2008 +0200
++
++    Guess name of thermal_zone file, if not set.
++
++commit d0bee082ac9a01316f8fa72f258c02f30135ff8e
++Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
++Date:   Fri Jul 11 13:04:16 2008 +0200
++
++    Fixed parens.
++
++commit dcc9ad1f57ac01deeda3d33f7d49bd76188eea96
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 10 19:42:30 2008 -0700
++
++    add workaround for clx xid cache bug for sbcl
++
++commit 24e949959ec887ee1b03d5534488e4c69c60a664
++Author: Greg Pfeil <greg@technomadic.org>
++Date:   Wed Jul 2 17:48:22 2008 -0400
++
++    add ratio to split-frame
++    
++    Specify a ratio for split-frame.
++    EG:
++    (split-frame group frame) ; defaults to 1/2
++    
++    ---------------------
++    |         |         |
++    |         |         |
++    |         |         |
++    ---------------------
++    
++    (split-frame group frame 1/4)
++    
++    ---------------------
++    |    |              |
++    |    |              |
++    |    |              |
++    ---------------------
++
++commit 124248bf8433cf6f038e58986ea03f9bb83c56fe
++Merge: bb7181f... 9e238c5...
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 10 19:04:15 2008 -0700
++
++    Merge branch 'male'
++    
++    Conflicts:
++    
++    	fdump.lisp
++
++commit bb7181faa7cdddd5cc3680f52c54acc861c3b274
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 10 18:46:51 2008 -0700
++
++    handle bad utf-8 codes when decoding strings in sbcl
++
++commit 9e2c57c8db15d533502c734748ae980a66a53733
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 10 17:40:14 2008 -0700
++
++    Document colors
++
++commit b609d1434c1b05843300c9de517a7cf83f46d600
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jul 10 15:41:08 2008 -0700
++
++    document define-frame-preference
++
++commit 388b00f3f8ff00408f26ba5f157da25be96923a4
++Author: Shawn <sabetts@vcn.bc.ca>
++Date:   Mon Jun 23 23:41:41 2008 -0700
++
++    close the display in break-clx-display-cache
++
++commit 18737d37af301ab63b80fee298f016c0924083b1
++Author: Shawn <sabetts@juicebox>
++Date:   Mon Jun 23 22:54:03 2008 -0700
++
++    use xlib:window-equal in export-selection
++
++commit d4ff900ade92db8b596a318d6d8d086ce25ed8fb
++Author: Shawn <sabetts@juicebox>
++Date:   Mon Jun 23 22:53:44 2008 -0700
++
++    add break-display-xid-cache to test-wm.lisp
++
++commit 5c5727a7ed70e2572b53197fcff05e7ca4fee282
++Author: Shawn <sabetts@juicebox>
++Date:   Mon Jun 23 03:19:40 2008 -0700
++
++    add C-t M-Tab binding
++
++commit f63a5d895b4bbb29214f4d2a9e79e794af3b4247
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Mon Jun 23 03:09:14 2008 -0700
++
++    restore -> restore-from-file in the manual
++
++commit 23715c18ff14ca080a8838b6205430e1ae16d33d
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jun 22 18:09:33 2008 -0700
++
++    fixup restore/restore-from-file code
++
++commit a5207b6c7355851f4f29ee899cedc785e7b585fa
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jun 22 17:18:04 2008 -0700
++
++    fix up a comment
++
++commit a831cd9d78a301f5350b881065cb2cbad51b302b
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jun 22 17:15:18 2008 -0700
++
++    workaround the clx pixmap/window error
++    
++    In both the clisp and sbcl clx libraries, sometimes in te event slots,
++    what should be a window will be a pixmap instead. In this case, we
++    need to manually translate it to a window to avoid breakage in
++    stumpwm. So far the only slot that seems to be affected is the :window
++    slot for configure-request and reparent-notify events. It appears as
++    though the hash table of XIDs and clx structures gets out of sync with
++    X or perhaps X assigns a duplicate ID for a pixmap and a window.
++    
++    Since I haven't found a way to reliably reproduce this bug, this code
++    is untested.
++
++commit 49ee452143e5ce85aafea9e94dcd73ea2addcebf
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jun 22 17:12:38 2008 -0700
++
++    Add a note in manual.lisp about clisp's lack of compiled macro documentation
++
++commit 9e238c5a569f35d3a8e1d4e2d7e591c0f83c60ff
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Jun 22 11:12:32 2008 -0500
++
++    Fix recursive aliasing in restore command introduced by 90348be...
++
++commit 6dd2cd308fbf6d8c30e8ac1d882bdf345fe67959
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jun 22 00:19:28 2008 -0700
++
++    Auto generate macro documentation from source code docstrings
++
++commit 47a282805e599fade8a0fe0ba6590c6500c5fe6e
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Jun 22 00:19:00 2008 -0700
++
++    add new macro defprogram-shortcut
++
++commit 8f0c6b669db5a3ba83921023aca485bc102a3910
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Jun 21 11:36:13 2008 -0500
++
++    stumpish: clean up, reformat, add test for GNU sleep.
++
++commit 6995e16f112cebc94817f552e36c768cf2e93110
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Jun 21 11:13:06 2008 -0500
++
++    Fix contrib/cpu.lisp and contrib/battery.lisp
++    
++    Don't crash when files don't exist in /proc.
++
++commit 1395ed812fcb499c0d79e409edbcf3d736df8388
++Merge: d084dbc... 5673a35...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Jun 21 20:05:08 2008 -0700
++
++    Merge branch 'master' of sabetts@git.sv.gnu.org:/srv/git/stumpwm
++
++commit d084dbcf41d9c2f732b0adb25ba2f9b899de8c5b
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Jun 21 20:04:37 2008 -0700
++
++    fix typo in describe-command
++
++commit 5673a35d159ed8d1818d19d3eae3ff383da0786b
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Jun 21 19:31:49 2008 -0700
++
++    use safe-atom-name to convert IDs to atoms
++
++commit 99929ce14bde74e1c5c20bd4465ec0246f984673
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Jun 21 19:17:11 2008 -0700
++
++    Just display asynchronous X errors instead of crashing.
++
++commit 5b85dfb9d27371a8f8bad37107dc7b2f2fe6b97c
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Jun 21 15:46:53 2008 -0700
++
++    reorder the let lines in select-group
++
++commit 33adc5c5dfef4c82e0fcee369d3db37720a0203b
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Jun 21 02:29:42 2008 -0700
++
++    fix typo in client-message event
++
++commit 34bc22612fbda1b50164c9f75fbfd5f4dfeba0ba
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:57:51 2008 -0700
++
++    bump version to 0.9.4-GIT
++
++commit c4b30b235cdf2f7af50c709c445e2f6602cdc3f3
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:57:35 2008 -0700
++
++    fix upload-release rule
++
++commit f71855f2b666a50a1bb47dfc8884dc9d8373c5ef
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:44:35 2008 -0700
++
++    fix misc texinfo formatting errors
++
++commit 1eaed3976784071b1731452e30bb29acb96f3928
++Merge: 3b7afdf... 435659e...
++Author: Shawn <sabetts@juicebox.(none)>
++Date:   Fri Jun 20 19:39:17 2008 -0700
++
++    resolve window.lisp conflict
++
++commit 3b7afdf290d34b4c7ab902dd55a92b954505717a
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:37:00 2008 -0700
++
++    document missing commands
++
++commit 90348bedd78f6d37dc351ab5a0f1b77d6399521b
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:36:52 2008 -0700
++
++    make restore an alias to restore-from-file
++
++commit e29d4837afef4a3d69eaa2545ba9a0f518c1fb07
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:31:11 2008 -0700
++
++    make dump-rules and restore-rules aliases to dump-window-placement-rules and restore-window-placement-rules
++
++commit 435659e11713044196efab4a35713937f1b5c5ca
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:26:50 2008 -0700
++
++    make dump-rules and restore-rules aliases to dump-window-placement-rules and restore-window-placement-rules
++
++commit d024171ef87afc68d59d538c91708e1acbbdfa99
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:25:54 2008 -0700
++
++    export define-frame-preference
++
++commit f99eac86a32353c92cd7aea3f05399ca778c2134
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:25:39 2008 -0700
++
++    export all iresize relevant symbols
++
++commit 31fb2ebded9fb617f27507819e626f7b562fa0dd
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 19:25:28 2008 -0700
++
++    export all relevant fdump related symbols
++
++commit 99e96b86b807d1aa7f3dd9d6fa3932e0fe1ee483
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 18:55:49 2008 -0700
++
++    skip nonatoms for _net_wm_state in client-message event
++
++commit 049869eb16631641d9fb66f493ef432af1900449
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 14:49:08 2008 -0700
++
++    remove trailing ws
++
++commit 69c7888ecb307782367e32b7a9700c09ca99dbee
++Author: Ian Ross <Ian.Ross@bristol.ac.uk>
++Date:   Thu Jun 19 21:35:12 2008 +0100
++
++    Changes to contrib/battery.lisp and contrib/cpu.lisp
++    
++     - Removed uses of run-shell-command from contrib/battery.lisp and
++       contrib/cpu.lisp, replacing them with native file processing.
++     - Made battery name a defvar in contrib/battery.lisp to take account of
++       machines with non-standard battery names (requested by Bill Clementson).
++     - Made ACPI thermal zone name a defvar in contrib/cpu.lisp.
++
++commit 88ec172584325504f7258b50c90ce7f9aa59500d
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Jun 20 14:16:23 2008 -0700
++
++    C-t <n> bindings moved to C-t C-<n>
++    
++    To pull a window by number you now have to hold down Control. Just
++    pressing the number now selects the window by number in its frame.
++
++commit 16f85c40bdc89d5327326e136347fae971c6b93e
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jun 19 20:58:33 2008 -0700
++
++    in update-window-properties, run :_NET_WM_STATE's property data through safe-bytes-to-atoms
++    
++    Some clients were putting numbers in the list that could not be atoms and crashing stumpwm.
++
++commit 70aa702c209a08a6594bfb045ba144e28c57aac2
++Author: Shawn <sabetts@juicebox>
++Date:   Thu Jun 19 20:16:03 2008 -0700
++
++    always show the frame indicator when there is more than 1 head
++
++commit 85ffcd823942f258c4fae2f730b5e8622e4f8359
++Author: Vitaly Mayatskih <v.mayatskih@gmail.com>
++Date:   Wed Jun 18 19:41:04 2008 -0700
++
++    Add support for OpenMCL
++
++commit f85870415d232b9ef517500b147375808748131a
++Author: Shawn <sabetts@juicebox>
++Date:   Wed Jun 18 19:28:13 2008 -0700
++
++    if *frame-indicator-text* is not a string then use prin1-to-string to make it one
++
++commit b76c3b55d86ff2417e9502a9de8159e8bd79fa66
++Merge: 2d231bf... d2df0b1...
++Author: Shawn <sabetts@juicebox>
++Date:   Wed Jun 18 19:18:38 2008 -0700
++
++    Merge branch 'test'
++    
++    Conflicts:
++    
++    	group.lisp
++
++commit d2df0b1eca575969363d9eed2f344653af3cf261
++Author: John Li <jli@circularly.org>
++Date:   Tue Jun 10 03:43:58 2008 -0400
++
++    Fix the click-focus show-frame-indicator bug.
++    
++    With *mouse-focus-policy* set to :click, show-frame-indicator is called
++    every time the user clicks in a frame, even if it's already focused. The
++    :button-press event-handler calls switch-to-group, which always calls
++    show-frame-indicator. This patch changes switch-to-group to only call it
++    when the group actually changes.
++
++commit 2d231bf9ff351cb28706ae301651b6ca88c278ea
++Author: John Li <jli@circularly.org>
++Date:   Mon May 26 23:55:44 2008 -0400
++
++    Change help functions to use correct number of rows/columns
++    
++    - display-keybindings didn't count the "Prefix" line when calculating
++      the number of columns required
++    - columnize rounded length/columns down instead of up when calculating
++      the number of rows (101 keybindings on 2 columns should use 51 rows)
++
++commit a793c9e281d99e935362a0c1778073c12f88919b
++Merge: 47c1da2... 7b66306...
++Author: Shawn <sabetts@juicebox.(none)>
++Date:   Wed Jun 18 18:58:43 2008 -0700
++
++    Merge branch 'male'
++
++commit 7b66306296a108b7e6aa83f60ffb08374a79e0e7
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Jun 11 20:03:53 2008 -0500
++
++    Merge branch 'origin' into master
++    
++    Conflicts:
++    
++    	user.lisp
++
++commit 47c1da2286681f559c0ec001781340125cf702e5
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Wed Jun 4 16:23:59 2008 -0700
++
++    document set-focus-color and set-unfocus-color
++
++commit 3490ba4090dcb7b0fd03ea1281de09318f10fdff
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Wed Jun 4 13:25:55 2008 -0700
++
++    remove inaccurate comments.
++
++commit 463271411784e58146ad352ec5c130f85096297c
++Author: Shawn <sabetts@juicebox>
++Date:   Mon May 26 21:22:10 2008 -0700
++
++    add command copy-last-message
++
++commit 8867eae2559c0aaddf486d662a973aac12f4ea52
++Author: Shawn <sabetts@juicebox>
++Date:   Mon May 26 21:19:17 2008 -0700
++
++    add a color markup parser and uncolorify function
++
++commit 95f3102b84f6827ffdf460417eccec0e828d50fa
++Author: Shawn <sabetts@juicebox>
++Date:   Mon May 26 13:06:29 2008 -0700
++
++    add modifiers command
++
++commit b74653f8b9ea349b4f10989f04399d926f9aac12
++Author: Shawn <sabetts@juicebox>
++Date:   Sun May 25 20:06:28 2008 -0700
++
++    add iresize to the file list
++
++commit f394515c3adb00c0a34dbebdb7c83919c1eb056b
++Author: Shawn <sabetts@juicebox>
++Date:   Sun May 25 19:59:31 2008 -0700
++
++    break up user.lisp
++
++commit 079575661c6a58c16af8f12703ef77ab826042fc
++Author: Shawn <sabetts@juicebox>
++Date:   Sun May 25 13:47:35 2008 -0700
++
++    insert the new head into the group frame tree at the proper position using the head-number
++
++commit 7fcaf2170eef48bc4cfd9a40a46814b316ed79c7
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun May 25 07:46:11 2008 -0500
++
++    Clean up urgency handling. Properly handle _NET_WM_STATE_DEMANDS_ATTENTION client messages.
++
++commit f121da6cb0db477b4b13899b343ff367221d574f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat May 24 20:45:58 2008 -0500
++
++    Remove :maxsize from window types.
++    
++    If a window qualified as :maxsize, this fact would cause other, more
++    important types (such as :dock) to be masked. Ideally we should
++    support lists of types, as X does. For now, there's
++    (xwin-maxsize-p). This change allows StumpWM to detect more panels
++    such as fbpanel and xfce4-panel in addition to gnome-panel and kicker.
++
++commit dbc9c831864e7b1b27c66f47b915348f29ca8eac
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat May 24 19:58:35 2008 -0500
++
++    Update mode-lines after switching groups.
++
++commit 2d833f1f6f54ff7ce06b229e1b84aec1942e3278
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat May 24 17:20:32 2008 -0500
++
++    Minor cleanup to urgency code.
++
++commit 55f5777d85dd31b552cf66eef149a49cc07df518
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat May 24 16:04:55 2008 -0500
++
++    Don't update mode-lines when focus changes.
++    
++    Doing so results in seemingly poor responsiveness with complex
++    mode-line formats, specifically those which execute external commands.
++
++commit efc023a9d56a8f2799ae9a3bd50534d834c50297
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat May 24 16:01:48 2008 -0500
++
++    Don't update the mode-lines more than necessary.
++
++commit b7510feb689d1c85524fb39217551c9064dbfd3a
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat May 24 16:00:06 2008 -0500
++
++    Fix error in (window-urgent-p) which resulted in the return value always being true.
++
++commit 4042349dd99d47308bf1c1c328e5addb9e519c55
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon May 12 09:14:28 2008 -0500
++
++    Get rid of now unused varaiable and unnecessary flush in (redraw-mode-line)
++
++commit 2145888eafe45b13e479310107466a5fde575ef0
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon May 12 09:11:44 2008 -0500
++
++    Send errors to /dev/null in contrib/cpu.lisp
++
++commit 689a13cdf166a8fb0a2361f8dfacea55521a4ace
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu May 8 00:49:15 2008 -0500
++
++    Support window urgency notification.
++    
++    To each screen has been added a list of windows requiring attention.  In
++    addition, a new hook, *urgent-window-hook*, is available, called when a
++    window's urgency is first registiered. A new mode-line formatter (%u) is
++    provided to display this list of windows. Focusing a window clears its
++    urgency status. Urgency notifications for the current window are
++    ignored. A new command, next-urgent (prefix C-u) is provided, which
++    jumps to each urgent window in turn, until all have been cleared.
++
++commit 9267a3b7fb9d0862672beefe22c7ae5a66c0d1e5
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu May 8 01:37:04 2008 -0500
++
++    Get rid of confusing L* and R* keysym aliases for high-numbered function keys.
++
++commit c4cb72d1b7c2041c091727e610a6349b78307af5
++Author: Shawn <sabetts@juicebox>
++Date:   Sun May 25 01:41:11 2008 -0700
++
++    add contrib/g15-keysyms.lisp
++
++commit c58222ae3d1225175ded05d042d7a3a0a83d67f2
++Author: Shawn <sabetts@juicebox>
++Date:   Sun May 25 01:19:31 2008 -0700
++
++    document *input-history-ignore-duplicates*
++
++commit a25d60d200c86e224dcc5fc7217bc0da1b2ec803
++Author: Shawn <sabetts@juicebox>
++Date:   Sun May 25 01:16:56 2008 -0700
++
++    export *input-history-ignore-duplicates* and simplify the code that uses it.
++
++commit d660ad44df9685aa69e24dd8c129fe804ff4071a
++Author: Xan Lopez <xan@gnome.org>
++Date:   Thu May 15 18:56:35 2008 +0100
++
++    Ignore history duplicates with *input-history-ignore-duplicates* option.
++    
++    Allows to filter duplicates in the input history list. Say, if you call three
++    times in a row the command 'mode-line' from C-t ;, it will only appear once in
++    the history list.
++
++commit e02ac4783e9cb7db82649d6dc54e3bddf5e10b29
++Author: Xan Lopez <xan@gnome.org>
++Date:   Wed May 14 18:46:38 2008 +0100
++
++    Fix docs of send-fake-key/click functions.
++
++commit f928118de70a82c6d52bf0162993a5ade433fa20
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 16 14:26:37 2008 -0700
++
++    Make sure a keysym has a keycode before checking if the shift modifier needs to be set.
++
++commit 76be6c6e3cee71e939a3e7eb809c88804de08777
++Author: Shawn <sabetts@juicebox>
++Date:   Wed May 14 00:38:41 2008 -0700
++
++    Add a bunch more keysyms
++    
++    Thanks to John Fremlin for them!
++
++commit 2a00a9a3205e6d20938b784a92f77bdae0b9954e
++Author: Shawn <sabetts@juicebox>
++Date:   Wed May 14 00:35:14 2008 -0700
++
++    document grouplist
++
++commit be593f1519663bfe1ea8745072b236e205464ca4
++Author: Lionel Flandrin <lionel.flandrin@gmail.com>
++Date:   Mon May 12 14:14:17 2008 +0200
++
++    New command "grouplist" for a menu-based group selection
++
++commit 200b7eee453e6b87e05673e3681b9f572d1f3d78
++Author: Shawn <sabetts@juicebox>
++Date:   Mon May 12 14:13:25 2008 -0700
++
++    fix texinfo formatting error
++    
++    remove a spurious @end table
++
++commit 5361abce5355c88e89d5c434bec582c3a0ce0168
++Author: Shawn <sabetts@juicebox>
++Date:   Mon May 12 12:02:40 2008 -0700
++
++    in xwin-grab-keys, only add the shift modifier when the unshifted code does not result in the keysym.
++    
++    This fixes the problem where the key code's normal slot and shift slot are the same.
++
++commit b5e1cd4bd1fd6e055fc7a0a6fb01bc0a15d36af3
++Author: Shawn <sabetts@juicebox>
++Date:   Mon May 12 02:29:42 2008 -0700
++
++    document new keybinding C-t h c
++
++commit e21a614944c9fe9bb65e2de8b15f9182dc826d44
++Author: Shawn <sabetts@juicebox>
++Date:   Mon May 12 02:26:32 2008 -0700
++
++    Grab the proper mod+code top level key combination when the keysym is an upper case letter
++
++commit 139c416c36f759a808a4c7137e3fafe7501daf28
++Author: Scott Wolchok <swolchok@umich.edu>
++Date:   Sun May 11 21:04:07 2008 -0700
++
++    fix describe-command and map it to C-t C-h c
++
++commit 7b084b230aedb951937c41ebc81cdb1e46f507b2
++Author: Shawn <sabetts@juicebox>
++Date:   Sat May 10 20:05:30 2008 -0700
++
++    change the normal windows' background color from screen-bg-color to screen-win-bg-color.
++
++commit 45b10a946dbda2a76e3b9d3b1cb854d43aebec64
++Author: Shawn <sabetts@juicebox>
++Date:   Sat May 10 19:58:22 2008 -0700
++
++    use screen-win-bg-color instead of unfocus-color for the :thin window border style.
++
++commit 6e5b7f2e4eb78362ac27ac53a1de030170f557c1
++Author: Shawn <sabetts@juicebox>
++Date:   Sat May 10 19:51:24 2008 -0700
++
++    fix spelling mistake prefered -> preferred
++    
++    One exported global variable changed to: *new-window-preferred-frame*
++
++commit 1afe97e765a7843feba51104f2448ea965255506
++Merge: abf4c8e... bcd550b...
++Author: Shawn <sabetts@juicebox.(none)>
++Date:   Sat May 10 19:47:17 2008 -0700
++
++    Merge branch 'test'
++
++commit bcd550bb51917e1ab821b28337db6406875a930f
++Author: David Hansen <david.hansen@gmx.net>
++Date:   Sat Apr 26 20:28:50 2008 +0200
++
++    Allow *new-window-prefered-frame* callback to return a list of preferences.
++
++commit abf4c8e0d5b7c791a53dd6b7f853af040990fe70
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 9 16:52:12 2008 -0700
++
++    add stumpwm.texi to .gitignore
++
++commit 84a323a4bc0739d139eff5817855b0d3dab5d2f0
++Author: Shawn <sabetts@juicebox.(none)>
++Date:   Fri May 9 16:51:52 2008 -0700
++
++    ditch stumpwm.texi since it can now be generated with all supported lisps
++
++commit d6e1d86f383335f3b3bd9af94c61f30090634a82
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 9 16:47:52 2008 -0700
++
++    fix some bugs introduced in 5fe70595c3fecee59b181724e906d2a81be84573 and b74f6114470598e080caccd42d0620eaa91fde70
++    
++    * for generating the manual with clisp, stumpwm were not being loaded properly.
++    * compile manual.lisp before loading it so it isn't painfully slow
++    * remove a spurious #+sbcl from manual.lisp
++    * put the { } back around function names
++
++commit 11044fc8691b6fa7ca5828b049e13515cd8c35a8
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 9 16:27:31 2008 -0700
++
++    untabify manual.lisp
++
++commit b74f6114470598e080caccd42d0620eaa91fde70
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Fri May 2 14:13:43 2008 +0200
++
++    Added missing arguments list for clisp in manual.lisp.
++
++commit 5fe70595c3fecee59b181724e906d2a81be84573
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Wed Apr 9 22:34:53 2008 +0200
++
++    Fixed manual generation with clisp.
++    
++    Now it shouldn't crash anymore but the generated documentation lacks functions and commands arguments list.
++
++commit 92cd9ad1152836c7846eccb82ba3589762dd2dc1
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 9 16:00:58 2008 -0700
++
++    move implementation specific code to wrappers.lisp
++
++commit 7482a3ad4705f3c9a81b3fe93460be848d917e6a
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 9 15:50:33 2008 -0700
++
++    Put { } around all functions so (setf ...) functions show up in the index properly
++
++commit d87957dba0d5627897907f835ed77457d911aff2
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 9 15:49:50 2008 -0700
++
++    touch up b53c01d617c5e49a262da53c29767a5c72775d45 to make the manual build again.
++    
++    Remove the contents of HACKING file, since it's now in the manual.
++
++commit b53c01d617c5e49a262da53c29767a5c72775d45
++Author: Ivy Foster <ivy.foster@gmail.com>
++Date:   Fri May 9 17:24:19 2008 -0400
++
++    Added HACKING section to the manual.
++
++commit c7a37fa7877fb71c11203a6f127ed7009e280f48
++Merge: 4e9e5c9... 9b6a03e...
++Author: Shawn <sabetts@juicebox.(none)>
++Date:   Wed May 7 19:03:14 2008 -0700
++
++    Merge branch 'male'
++
++commit 4e9e5c99f392b0cdc63b5454469a4abcc8b946e3
++Author: Shawn <sabetts@juicebox>
++Date:   Wed May 7 19:01:31 2008 -0700
++
++    fix maximize function to properly set border width for fullscreen windows
++
++commit 9b6a03ecbe9e2bd66eaa588077024a0d31530a5b
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue May 6 14:37:38 2008 -0500
++
++    Clear the entire area of the mode-line window when redrawing.
++    
++    This fixes ghosting with multi-line mode-lines and doesn't appear
++    to actually cause any flickering.
++
++commit c8d70a269c3070e04036d903a3f7171055386088
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon May 5 00:57:36 2008 -0500
++
++    Remove bashisms from contrib/stumpish.
++
++commit 877c2ccf95b8598156c649964a36d76bca004067
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat May 3 20:47:26 2008 -0500
++
++    Enable mutli-line mode-lines (just put some newlines in your format).
++
++commit b29c15cff9f75f9feea529eb5670ba1a34356109
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat May 3 14:17:35 2008 -0500
++
++    Oops. Remove extra negation in frames-overlap-p and check types.
++
++commit 06d123e7bbc6411d16db90f22376dc6fd98adeff
++Author: Shawn <sabetts@juicebox>
++Date:   Sat May 3 12:07:17 2008 -0700
++
++    fix string-to-bytes for clisp
++
++commit c81a732f02986e542a17bc1e41447dba0f42e751
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 17:21:01 2008 -0700
++
++    restructure almost all the code in core.lisp into seperate files.
++    
++    Also update the copyright.
++
++commit 5ef6c3ccb9d809f2ac0b248e377f7681b423666d
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 16:32:47 2008 -0700
++
++    add border styles
++    
++    4 border styles are added: :thick (default), :thin, :tight, and :none.
++    
++    the 4th hunk in core.lisp fixes the bug when the border style is
++    :tight or :none, the current frame is empty and you pull a window into
++    the frame that doesn't take up the whole frame then the frame border
++    doesn't disappear.
++
++commit d977d53310331019421c7b9e9f8f9e131bbfc857
++Merge: 87b0300... 738a2d8...
++Author: Shawn <sabetts@juicebox.(none)>
++Date:   Fri May 2 15:10:40 2008 -0700
++
++    Merge branch 'male'
++
++commit 87b0300dce60fd20a78fdb076c6646b2e9742adf
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 04:24:22 2008 -0700
++
++    do pathname-is-executable-p and portable-file-write-date properly for clisp.
++
++commit f312dc03022fa3c895677824f4f140958b52b061
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 04:07:48 2008 -0700
++
++    make bytes-to-string work for clisp. make tab completion work with clisp.
++
++commit 3eb54e32d0594728ce41bde512e0fa2d3e9ac6d7
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 03:18:43 2008 -0700
++
++    update the authors file
++
++commit a827d24bb1a722d07e49f7970a7b562608dfe4e7
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 03:17:44 2008 -0700
++
++    automatically rehash programs in path when needed. make rehash just a function.
++    
++    We do this by tracking the modification dates of all the directories in the path.
++
++commit 80d75336a1d0714d426445c5c23e656130e45d25
++Author: Lionel Flandrin <lionel.flandrin@gmail.com>
++Date:   Mon Apr 28 21:32:39 2008 +0200
++
++    Corrected a bug in program completion
++    
++    * When you wanted to complete a program name (for instance
++      firef<TAB>), programs matching a substring could be globbed
++      incorrectly (for instance fire). This commit fixes this.
++
++commit 694be09e3ee462434fd75316c68c2ee4d3d1215a
++Author: Lionel Flandrin <lionel.flandrin@gmail.com>
++Date:   Sun Apr 27 22:07:19 2008 +0200
++
++    make stumpwm cache programs in PATH for completion
++    
++    * new var *program-list* containing the list of programs found in the PATH.
++    * new command "rehash" to actualise it.
++    * programs-in-path now just lists the programs, no more "base" argument.
++    * instead, a new function "complete-program" is used for completion, returning
++      the programs in *program-list* that match the base.
++
++commit b34b73f3f40cff5a3f3a1a3abff99ce8f3ab9daf
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 02:38:29 2008 -0700
++
++    update authors
++
++commit ba044b0570c0322836efca179999de6e78090f0f
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 02:37:40 2008 -0700
++
++    minor whitespace and comment touching up.
++
++commit 3cf7ba2ec4efdbfbc35ec44ba09253add1975919
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 02:35:27 2008 -0700
++
++    Fix botched attempt to use gensym in define-frame-preference macro.
++
++commit 740973e7bd59babbd34539e41b589dffc0c5cda3
++Author: Patrick Pippen <daBittweiler@gmail.com>
++Date:   Sun Apr 20 22:19:11 2008 -0500
++
++    primitives.lisp
++
++commit 161c6ec84f3f2e1d6f2396656b1c300428c29c3c
++Author: Ivy Foster <ivy.foster@gmail.com>
++Date:   Mon Mar 17 16:32:31 2008 -0400
++
++    Reformatted contrib/amixer.lisp to work with new defcommand syntax.
++
++commit 988be1c728707d500e9b7ccf35e459e480c89099
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 01:51:37 2008 -0700
++
++    add matt shen to authors
++
++commit 733e55b918318cb67eb8901a5d2b0de835f04513
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 01:50:28 2008 -0700
++
++    add a new command type, :direction. add a new command exchange-windows.
++
++commit eee9269e33309d51a2e54e3db8f0f3fc0ef64909
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 01:46:38 2008 -0700
++
++    add notifications-delete command to contrib/notifications.lisp
++
++commit 85b2cce292d09f2bab7f1f6477d5fa2b3342164b
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 01:12:36 2008 -0700
++
++    in input-insert-string use a loop instead of map and a lambda.
++
++commit c5578d18c3e0c0c022b5703ea00af3b482ba7fab
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 00:59:56 2008 -0700
++
++    in echo-string-list don't do anything if STRINGS is nil.
++    
++    This fixes a bug where when *startup-message* is nil a message window
++    redraw event comes in but the current message is nil, which is passed
++    to echo-string-list which causes an xlib:value-error error and crashes
++    stumpwm.
++
++commit 2ae93aefdfd85f0f879be7b7b9fe8c44c2a53446
++Author: Shawn <sabetts@juicebox>
++Date:   Fri May 2 00:37:58 2008 -0700
++
++    Add bytes-to-string and string-to-bytes. use them in handle-stumpwm-commands.
++
++commit 738a2d8384bd8338324b663db729def2eeb1d2ff
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Apr 20 13:10:47 2008 -0500
++
++    Add option *default-group-name* instead of hardcoding "Default"
++    
++    Patch from Peter Barabas.
++
++commit 398d3b3101cddd28dcf69529ac33909194cf0cab
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Apr 18 18:37:35 2008 -0500
++
++    When ignoring cloned heads, ignore heads with *any* overlap.
++    
++    This fixes problems with non-identical overlapping heads
++    by ignoring them.
++
++commit 3119267c663f9850f5c0c2f1c5086aa08160d4b0
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Feb 13 16:43:34 2008 -0600
++
++    Be more forgiving when user types "quit" in stumpish.
++    
++    Use "stumpwm-quit" if you *really* want to quit stumpwm.
++
++commit 65e981276be8e42713c30b040eaab72583cf0036
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Feb 13 16:14:12 2008 -0600
++
++    Revert "flush debug output"
++    
++    This reverts commit c31e2fc6d05a10587364edc132dcc1ef84fb70b0.
++    
++    Flushing here resulted in a very significant slowdown, negatively affecting
++    responsiveness, and is probably unnecessary anyway. Perhaps we could flush only
++    after backtraces?
++
++commit 9c01f8677b7f056102636e274d5c194f6ed369ed
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Mon Mar 10 10:59:23 2008 +0100
++
++    Fixed typo in dump-group-to-file, dump-screen-to-file and dump-desktop-to-file.
++
++commit 187ddeb0799d0e75327ea47998fafe618fd67533
++Author: Ivy Foster <ivy.foster@gmail.com>
++Date:   Mon Mar 17 16:15:41 2008 -0400
++
++    Added contrib/surfraw.lisp
++    
++    A library for all those surfraw commands you've been hiding in your
++    .stumpwmrc files...
++
++commit f47ae933c9ca36e8b20676cb852034cfe377e4f7
++Author: Ivy Foster <ivy.foster@gmail.com>
++Date:   Tue Mar 18 16:27:53 2008 -0400
++
++    Fixed incorrect version information in README.
++    
++    Thanks to Tassilo Horn
++
++commit 61f238bf7450cadac261589926ab1ef1197be849
++Author: Ivy Foster <ivy.foster@gmail.com>
++Date:   Tue Mar 18 01:02:18 2008 -0400
++
++    Documentation improvements
++    
++    - Created HACKING with some information about StumpWM-specific code
++    such as defcommand, as well as some general pointers about working on
++    StumpWM that may seem like common sense and a section on effectively
++    using git.
++    
++    - Edited README a little bit, added info. on using asdf-install to
++    install cl-ppcre on clisp.
++    
++    - Um, added self to AUTHORS (I think that's the protocol...feel free
++    to undo if not; did this less out of desire for credit than so
++    questions RE: contributions could be directed more easily) and lined
++    up the columns a bit.
++
++commit 11adf9e1ddeb767227c1087cf180a76fc588ab2b
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Sun Mar 2 13:43:31 2008 +0100
++
++    Moved all commands to the new defcommand macro.
++
++commit d53088fff3b6193091beb52160dc381028f02f06
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Sun Mar 2 13:27:44 2008 +0100
++
++    Change *mpd-volume-step* to defvar.
++
++commit 9ed0adc58da3b055cc6ea64021261c83c837c2db
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Sun Mar 2 13:17:40 2008 +0100
++
++    Fixed infinite loop in mpd.lisp and added missing sear & add mpd commands.
++
++commit 6ba573cd375d4cac8efe50dbae98c656dcf8f74e
++Author: Tassilo Horn <tassilo@member.fsf.org>
++Date:   Sun Mar 2 21:53:11 2008 +0100
++
++    Use defcommand instead of define-stumpwm-command
++
++commit 82d85daad912286a83a72ee9159c12d8f1f0d3ce
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Mar 2 02:46:10 2008 -0800
++
++    in focus-frame only show the frame indicator when focusing a frame that is not the current one
++
++commit c85ef7d79b6d144125632694a3d5f7e4463ae8dd
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Mar 2 01:08:39 2008 -0800
++
++    add frame indicator window
++
++commit 07a1ade4e9190e64f6659be15382d6e382bc43a7
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Mar 2 01:08:19 2008 -0800
++
++    fixup color formatting on unhandled error message
++
++commit 01d74a95a5b491c0275d3889d08830dd8533f024
++Author: Shawn <sabetts@juicebox>
++Date:   Sun Mar 2 01:04:02 2008 -0800
++
++    map the input window after it's height has been set
++
++commit cdd4c6b4c9302d9da1c2bad555b8182a60c1d26f
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Mar 1 23:35:10 2008 -0800
++
++    add *show-command-backtrace* variable and corresponding code
++
++commit 039d83802b3fa7c861a43d3e9446a2b0d160b2d5
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Mar 1 23:34:29 2008 -0800
++
++    document soft-restart and copy-unhandled-error
++
++commit e2f119667f263239a04b7a3538be778927cb8433
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Mar 1 23:33:58 2008 -0800
++
++    redraw the messages after processing each screen during the startup sequence
++
++commit a13be9137abd919dc87929350c124e5ecb22b00e
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Mar 1 23:22:23 2008 -0800
++
++    recover gracefully from an unhandled error. add command copy-unhandled-error.
++    
++    Instead of quitting, stumpwm will do a soft restart and print the
++    unhandled error and backtrace.
++
++commit 371524547b1eeeb1162e65291e3ce92abb642262
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Mar 1 23:18:19 2008 -0800
++
++    Properly execute aliased interactive commands
++
++commit a36d92cb8caad7485b8a748277eb243e044f9aaa
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Mar 1 23:16:19 2008 -0800
++
++    don't change the timeout when redrawing the message from an exposure event
++
++commit 7d47c28b54aa33d5a55e7875166ccce037a934e9
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Mar 1 21:53:30 2008 -0800
++
++    deprecate define-stumpwm-command in favor of defcommand
++
++commit c5be9b894d9acc183e66459a94a90c99ed9f6390
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Mar 1 21:46:54 2008 -0800
++
++    add .dotest to .gitignore
++
++commit b330fc21fbe4ca8abefbe5c48bebee80f14bb752
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Feb 23 14:22:24 2008 -0800
++
++    replace #+cmu with #+clisp in contrib/mpd.lisp
++    
++    Patch from Vitaly Mayats.
++
++commit def6d68168db570bef230ac0a058ecbea6c2d789
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Fri Feb 22 12:24:11 2008 +0100
++
++    Fixed formatter conflict and modified the notifications-as-string func to use format instead of loop.
++    
++    Now you can define delimiters using *notifications-delimiters*. See contrib/notifications.lisp for more details.
++
++commit 70d3c8ebf895370c894f33cf43d4acd239ccb67e
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Fri Feb 22 12:06:34 2008 +0100
++
++    Fixed typo in mpd key-map. Now search map shouldn't crash stumpwm
++
++commit ad96d3c91831645d646b757f84fe0691ffb858de
++Author: Morgan Veyret <patzy@appart.kicks-ass.net>
++Date:   Mon Feb 18 14:44:34 2008 +0100
++
++    Applied mpd formatter length path from Vitaly Mayatskikh.
++
++commit 681abf2af4af7c6d538618b52e4b9059282d6ecb
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 22 02:38:48 2008 -0800
++
++    Make C-h list the keybindings of the current keymap
++
++commit 7284b738e0c5472178bfa8bb6d9fa7cdd2174263
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 22 02:37:17 2008 -0800
++
++    handle renaming to and from hidden groups in grename command
++    
++    patch from Antonis Antoniadis
++
++commit f67f7baae3fae36b56248e61b66d17ab3048f663
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 22 02:14:54 2008 -0800
++
++    add Vitaly Mayatskikh to AUTHORS
++
++commit f7a2c13b1c0e6ead3e5dfd1666e97ce3029cba75
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 22 02:14:38 2008 -0800
++
++    updated contrib/mpd.lisp to work with sbcl
++    
++    This is a patch from Vitaly Mayatskikh.
++
++commit 1427141f1a0954c61c58869ecd11227643e0a221
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 22 01:59:26 2008 -0800
++
++    When reading input don't accept non-character keys
++
++commit f60fe5ccefca514e4a6d85832a6cf32238951086
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 22 01:59:06 2008 -0800
++
++    update modeline on font change
++    
++    fixed a crash bug where if the modeline is on (set-font "fixed") bring stumpwm down
++
++commit 54f7728850c86fbca8213369cf785c4057baedf1
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 22 01:36:54 2008 -0800
++
++    new command, bind
++
++commit 85c8626dccfdbb2db08cbfc22c57bd651d25326f
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 22 01:33:00 2008 -0800
++
++    change C-t TAB key binding
++
++commit f2c0d01d3f86387211f934bbced9667d06b5d12c
++Merge: e7068df... fddc0b7...
++Author: Shawn <sabetts@juicebox.(none)>
++Date:   Fri Feb 22 01:32:13 2008 -0800
++
++    Merge branch 'master' of ssh://sabetts@git.sv.gnu.org/srv/git/stumpwm
++
++commit fddc0b7d122ad2ef64876d994e72d0e7ebf6b129
++Author: Tassilo Horn <tassilo@member.fsf.org>
++Date:   Thu Feb 21 15:38:22 2008 +0100
++
++    Use a start-process instead of shell-command in the emacs example.
++
++commit 24898d145e9fcd3ff006424508196fa1c2e495c3
++Author: Tassilo Horn <tassilo@member.fsf.org>
++Date:   Wed Feb 20 10:52:18 2008 +0100
++
++    Remove debug output in notifications.lisp
++
++commit 9bdbaf80189f0ba09eda336302dcb0d24d9e6d86
++Merge: 6055c83... 3f5837b...
++Author: Tassilo Horn <tassilo@member.fsf.org>
++Date:   Wed Feb 20 09:34:45 2008 +0100
++
++    Merge branch 'master' of git://git.savannah.nongnu.org/stumpwm
++
++commit e7068df1d7420157b3e503c7339ec88bee0f667d
++Author: Shawn <sabetts@vcn.bc.ca>
++Date:   Tue Feb 19 17:40:22 2008 -0800
++
++    in upload-release makefile rule, update the latest symlinks
++
++commit 3f5837bbb619e323d4fbc33f6d720532199270f8
++Author: Shawn <sabetts@vcn.bc.ca>
++Date:   Tue Feb 19 17:23:20 2008 -0800
++
++    bump version to 0.9.3-GIT
++
++commit 0f956b19071de920f912e155c3a87b6dd5e63e31
++Author: Shawn <sabetts@juicebox>
++Date:   Tue Feb 19 17:11:20 2008 -0800
++
++    fix the release rule
++
++commit 27f80d4bfd93011884436c2b70191e97a4f56878
++Author: Shawn <sabetts@juicebox>
++Date:   Tue Feb 19 17:11:11 2008 -0800
++
++    fix up the readme to reflect changes in clisp
++
++commit fa56e041b558123c53ff0e36a828e9375d82f171
++Author: Shawn <sabetts@juicebox>
++Date:   Tue Feb 19 17:04:13 2008 -0800
++
++    grab keys asynchronously
++
++commit 6055c836cc5b09b94e22dbbf0954db667be9e695
++Author: Tassilo Horn <tassilo@member.fsf.org>
++Date:   Tue Feb 19 19:23:24 2008 +0100
++
++    Add my email address in AUTHORS
++
++commit 60533e465831323d514e0e31d1bd12f3f92f67c1
++Author: Tassilo Horn <tassilo@member.fsf.org>
++Date:   Tue Feb 19 11:42:23 2008 +0100
++
++    Added notification monitor notifications.lisp
++
++commit 5c8496dd6612eacdc38d20d4152d78303d6405c7
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 15 22:52:48 2008 -0800
++
++    add battery.lisp
++
++commit c0d64532e58b8b8ada0a28837088cf0de45d435f
++Author: Shawn <sabetts@juicebox>
++Date:   Mon Feb 11 16:49:51 2008 -0800
++
++    new command emacs. use it for the C-t e binding
++
++commit d0971aee1f749d3a5a01bd4d44c4c8082c112074
++Author: Shawn <sabetts@juicebox>
++Date:   Sat Feb 9 13:08:05 2008 -0800
++
++    for the modeline handle the case where one head is above another head
++    
++    I found that toggling the mode-line for a head that is configured to be
++    below another head makes the frame of that head appear halfway on the
++    head above.  This patch seems to fix the problem.
++    
++    -Magnus Henoch
++
++commit 1be9df35224d72c6b1ef71b8832602b1e689915a
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 8 18:16:28 2008 -0800
++
++    update NEWS and AUTHORS
++
++commit 9054959f41879eea29a63c3cc57408d8ed0797a3
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 8 18:15:04 2008 -0800
++
++    Keep track of the remainder in expand-tree.
++    
++    This should fix the bug in the remove command where a big chunk of
++    unused pixels appear.
++    
++    Thanks to James Wright for this one.
++
++commit 71a4b9615894f91c4c6b7ebef0d7b12e71be2c2a
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 8 18:08:59 2008 -0800
++
++    change is-modifier to use *all-modifiers* and exclude No Symbol keysyms
++
++commit 34aca7f3b7cff581131bf051fd8d5e8602a65f7f
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 8 18:08:30 2008 -0800
++
++    fill in some emails in AUTHORS
++
++commit 6981fc723cfe16ac69861d345e84dec9f186dec5
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 8 17:34:17 2008 -0800
++
++    add a stumpwm.texi rule to the makefile
++
++commit 89f7e16a7efc4fefb88cb5033b0d8de902c35bb7
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 8 17:34:05 2008 -0800
++
++    add a section on interacting with lisp
++    
++    Thanks to Jeronimo Pellegrini for the patch.
++
++commit fbf23a87713fcb3b8ee9a9eabd4049c52aa019f1
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 8 16:43:33 2008 -0800
++
++    fix up grename with some error messages
++
++commit ef466700fdbf7ab4d605934e699f9d7b94ef5377
++Author: Shawn <sabetts@juicebox>
++Date:   Fri Feb 8 16:42:03 2008 -0800
++
++    add a new key-window only for reading keys from the user
++    
++    This fixes a bug where when no window is focused all keys pressed
++    produce a "<key> not bound." message.
++
++commit ceb44293bf56a43486dedcb70dfc698d5e72d76b
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 8 02:16:46 2008 -0800
++
++    fix texinfo typo
++
++commit 5a47e8a0431aa43bd349c0343d27c451630a4b89
++Author: Shawn <sabetts@>
++Date:   Thu Feb 7 20:41:20 2008 -0800
++
++    Add Antonis Antoniadis' grename command and add keybinding, documentation
++
++commit d6b7864b6f67d8f4e33c255fc0e39e282a26d5f1
++Author: Trent W\. Buck <trentbuck@gmail.com>
++Date:   Thu Dec 13 06:10:20 2007 +1100
++
++    Behave correctly in the absence of non-standard environment variable $TEMP.
++
++commit 9678d2185386b762be0801f15d452ca0b1c3ea50
++Author: Trent W\. Buck <trentbuck@gmail.com>
++Date:   Thu Dec 13 06:10:19 2007 +1100
++
++    Behave correctly in the absence of rlwrap.
++
++commit f8420ce37d1a8f8a34d13538515184255239e9ce
++Author: Trent W\. Buck <trentbuck@gmail.com>
++Date:   Thu Dec 13 06:10:18 2007 +1100
++
++    Don't assume controlling terminal (if any) uses ANSI escape sequences.
++
++commit a6fa465a8c52e1fc3c47e55644610e4eefb3acfc
++Author: Shawn <sabetts@>
++Date:   Thu Feb 7 20:16:20 2008 -0800
++
++    fix balance-frame "one frame" message to match only command, attempt 2
++
++commit 2d067b5eb6911664b141afc3e505aeac45b118f3
++Author: Shawn <sabetts@>
++Date:   Thu Feb 7 20:15:00 2008 -0800
++
++    match balance-frame "one frame" message to match only command
++
++commit 6d3a68c67ad6061b5cd435a3a12211695475a1c1
++Author: Shawn <sabetts@>
++Date:   Thu Feb 7 20:09:43 2008 -0800
++
++    fix balance-frames to work with multiple heads
++
++commit 4ca599f72032aa4a88c8fb576f1d6ff37761eea5
++Author: Shawn <sabetts@>
++Date:   Thu Feb 7 18:46:35 2008 -0800
++
++    fix new/destroy window hooks. improve run-hooks with restart menu.
++    
++    map-window-hook and unmap-window-hook have been removed in favor of
++    new-window-hook and destroy-window-hook.
++    
++    run-hooks now pops up a restarts menu when a hook function errors out.
++
++commit 3ed987c345e0dc6a222b26a46b8c5678bfdf2db9
++Author: Shawn <sabetts@>
++Date:   Thu Feb 7 18:45:07 2008 -0800
++
++    generate manual's hook documentation from source
++
++commit 2cf7b54b92dd83b985618f141e91e2238a9599bc
++Author: Shawn <sabetts@juicebox>
++Date:   Wed Feb 6 16:49:59 2008 -0800
++
++    change the way input is handled
++    
++    No longer call grab-keyboard when stumpwm wants to read input. When a
++    top level key is pressed, the keyboard is frozen. When a key is to be
++    read the keyboard is unfrozen for 1 keystroke and then refrozen. When
++    the key press event has been handled, stumpwm unfreezes the keyboard.
++    
++    I still don't understand why C-t ; reload lets you type in the focused
++    window. The keyboard should be frozen at this point.
++
++commit ed3907e54e5a7135b1efa300aa7f682249fe6470
++Author: Morgan Veyret <veyret@enib.fr>
++Date:   Tue Feb 5 12:13:22 2008 +0100
++
++    Added simple mpd client (only for clisp) & mode-line formatters in contrib/.
++
++commit 50c79c5d32f764b579ed2b1a14fc899f3db9ec60
++Author: Shawn <sabetts@juicebox>
++Date:   Tue Feb 5 02:04:57 2008 -0800
++
++    copy the configure file into the release tarball
++
++commit aefb3512b0822d63879572b778783b3401b35d93
++Author: Shawn <sabetts@juicebox.(none)>
++Date:   Tue Feb 5 01:45:16 2008 -0800
++
++    automate making stumpwm releases
++    
++    version.lisp is now generated. the makefile has 2 new rules for making a release. bump version in configure.ac.
++
++commit e2bdbb7d9f6974bafbf31c991ae0ba4bbfd025a4
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 1 18:49:47 2008 -0800
++
++    flatten the authors file
++
++commit 8539896e2986bf41b7c9f998d3dbf9e2395e3a44
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 1 18:01:37 2008 -0800
++
++    remove ChangeLog
++    
++    Since it is now generated from git, we don't need it.
++
++commit ecfbe5570bf58204f76c51a5ad27863d45057b83
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 1 17:32:25 2008 -0800
++
++    fix typo
++
++commit 75ad2db59f3def434407aecd57d1cd05d28e3856
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 1 17:32:15 2008 -0800
++
++    fix build scripts so clisp works with ppcre dependency
++
++commit 164245ac3a416511042d9da619b163824dd3ffb8
++Merge: 99a24cc... 77b6f7e...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 1 16:50:58 2008 -0800
++
++    Merge branch 'male'
++
++commit 99a24cc791f9e96a291efec0cdec9bdae7003173
++Merge: c31e2fc... 57e72d6...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 1 16:44:45 2008 -0800
++
++    Merge branch 'master' of ssh://sabetts@git.sv.gnu.org/srv/git/stumpwm
++
++commit c31e2fc6d05a10587364edc132dcc1ef84fb70b0
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 1 16:44:34 2008 -0800
++
++    flush debug output
++
++commit 36aea659e054ab9e069d8e89ba8852d34b32f0b0
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 1 16:44:22 2008 -0800
++
++    fix message bug
++
++commit a24afb4d4c384beb7537056f31629cc988ef88f4
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Feb 1 16:43:54 2008 -0800
++
++    add asdf.lisp and use it to build clisp image
++
++commit 77b6f7ebea1eb4a54b4acf82a01990511709281a
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Jan 7 16:04:28 2008 -0600
++
++    Oops. Get rid of no longer necessary ignore declaration.
++
++commit 1f530fa1712a83f05bc0683048b08655ccf694ba
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Oct 16 21:33:38 2007 -0500
++
++    Avoid sync'ing windows during window-hiding interactive resize.
++    
++    Speed is the whole point of *resize-hides-windows*, so don't bother
++    maximizing invisible windows.
++
++commit eca75fdf7b35440594db88c770c3b4b77b7ec6b6
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Dec 16 08:13:41 2007 -0600
++
++    Oops. Accidentally broke stumpwm command results in that last commit.
++
++commit bdf06e83b1f1d5ca2c00b30cd260839cee258577
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Dec 12 23:52:48 2007 -0600
++
++    Fixup expose handler for message window.
++    
++    Turns out that using echo-nth-last-msg to redisplay the 'current' message is
++    insufficient. Keep a copy of the REAL last (current) message and use that
++    instead.
++
++commit 010638e206b8dc6cdf021c2c24a0ab6cb67e2522
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Dec 12 13:37:26 2007 -0600
++
++    Add cpu-usage formatters in contrib/.
++
++commit fbab059e4dca7d3eff96826810b617e261c2df33
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Dec 4 23:08:00 2007 -0600
++
++    Add amixer interface to contrib/.
++
++commit 3e50a0f2e61d027ca1394bbf194595ae21366d18
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Dec 4 22:26:27 2007 -0600
++
++    Move mode-line formatters into mode-line.lisp and add new ones.
++
++commit 2f3e5c66079e43e57bf64fdb84316abe1a62ab09
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Nov 25 17:44:16 2007 -0600
++
++    Only redraw mode-line if contents have changed.
++    
++    This permits the use of higher update frequencies without unnecessarily
++    consuming bandwidth.
++
++commit 57e72d6ff68dffa2fed2b62db1e9d49ee6cc8713
++Merge: 30364c4... 019d6b1...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:53:37 2007 -0800
++
++    Merge commit '019d6b1918fc696068d15e495623f789addc4cd2'
++
++commit 30364c451a9a342589427c596f12b670908fda26
++Merge: 673af42... f7c7649...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:53:18 2007 -0800
++
++    Merge commit 'f7c7649f36cb7d552ea02fa928edb6dca2d75700'
++
++commit 673af4218ce7142f40fc51d5f50282c5801b8bfc
++Merge: 5b06fcb... c35707f...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:52:59 2007 -0800
++
++    Merge commit 'c35707f611cca338f08e954d072cb03a88117d1d'
++
++commit 5b06fcbac84cfd5866c169ec123df88b238b0ea4
++Merge: 8f2ce87... f12ab68...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:52:24 2007 -0800
++
++    Merge commit 'f12ab68e7ba49f38c8e99899686799bbd200cf4f'
++
++commit 8f2ce87434176b09559435abbf365b22d2e78d40
++Merge: 7236b4b... 5916c58...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:51:49 2007 -0800
++
++    Merge commit '5916c5880e09a82c6e1d196a1105a54355f876b9'
++
++commit 7236b4bb622389e24231283c180bb25e6a6f78b7
++Merge: 0507a6c... 5f58d4c...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:51:06 2007 -0800
++
++    Merge commit '5f58d4cac238399740e2c4bfcb1fda6471e89136'
++
++commit 0507a6c83e87a752095a7daa8447ce462a2821a6
++Merge: 8da35c0... d110f25...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:50:46 2007 -0800
++
++    Merge commit 'd110f258001994d5154037a8084c3dcd12796d86'
++
++commit 8da35c00dd750fc9a9d64847ccde1fedc6818593
++Merge: 6ba6e55... 4a472d5...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:50:18 2007 -0800
++
++    Merge commit '4a472d5fc317186adc8300355dcf6ce5bdd73762'
++
++commit 6ba6e55c6ec7e534fc47183afd9205db89fa81a5
++Merge: 706382b... 613c599...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:49:43 2007 -0800
++
++    Merge commit '613c5993dd36411814dd59ca13a0c44f1529b80e'
++
++commit 706382bb5c78be6a69e6f6b532b355a0647439ab
++Merge: 4b76b9b... fd9a8cb...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:48:59 2007 -0800
++
++    Merge commit 'fd9a8cbadd123065a2f32091acec197585dd4946'
++
++commit 4b76b9bc6788b75d40736518db05e5d9000c73f3
++Merge: c05b816... e349ede...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:48:29 2007 -0800
++
++    Merge commit 'e349edea41c16618e590bece5e3defd600ed77e3'
++
++commit c05b816afe3d6dd2c3d58cd08bd523101591d4d9
++Merge: 73b276e... 4042058...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:47:50 2007 -0800
++
++    Merge commit '4042058b11e6a98ee70ab081c51825a513d7c376'
++
++commit 73b276e0f353fc15d32f9bc2c506b2cd188562c3
++Merge: 0ab3c4d... 53c34e3...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:47:26 2007 -0800
++
++    Merge commit '53c34e3bf854660100e96502c1d05234feab5b08'
++
++commit 0ab3c4dd41bcc434031688c43d025fd58dd49205
++Merge: 5150c3c... 5530410...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:47:07 2007 -0800
++
++    Merge commit '5530410dec16e308e6e0daf590009aee4f123f4e'
++
++commit 5150c3c2cc4d595a211bb559eda8a1b0069e2b8b
++Merge: ac5b142... d7e65e3...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Dec 8 14:46:43 2007 -0800
++
++    Merge commit 'd7e65e302a56c40e6140a6c690130bbfce8ded1b'
++
++commit 019d6b1918fc696068d15e495623f789addc4cd2
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Dec 4 23:28:12 2007 -0600
++
++    Fix typo in (enable-mode-line).
++
++commit f7c7649f36cb7d552ea02fa928edb6dca2d75700
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Dec 5 20:43:28 2007 -0600
++
++    Unmap message windows in (focus-all) instead of merely obscuring them.
++
++commit c35707f611cca338f08e954d072cb03a88117d1d
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Dec 5 20:40:55 2007 -0600
++
++    Add exposure handler for message windows.
++
++commit f12ab68e7ba49f38c8e99899686799bbd200cf4f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Dec 4 09:42:56 2007 -0600
++
++    Reinstate accidentally deleted function (populate-frames).
++
++commit 5916c5880e09a82c6e1d196a1105a54355f876b9
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Dec 1 01:48:24 2007 -0600
++
++    Fixup (screen-mode-line-mode).
++    
++    Renamed to (enable-mode-line) and given saner functionality.
++
++commit 5f58d4cac238399740e2c4bfcb1fda6471e89136
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Nov 30 19:22:38 2007 -0600
++
++    Add some missing exports to primitives.lisp.
++
++commit d110f258001994d5154037a8084c3dcd12796d86
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Nov 30 19:11:07 2007 -0600
++
++    Add some missing set-.* exports to core.lisp.
++
++commit 4a472d5fc317186adc8300355dcf6ce5bdd73762
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Nov 29 20:48:58 2007 -0600
++
++    Don't unhide windows not on current group in (pull-window).
++    
++    This fixes a bug where (sync-placement) caused the mapping of rearranged
++    windows on background groups.
++
++commit 613c5993dd36411814dd59ca13a0c44f1529b80e
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Nov 28 19:25:40 2007 -0600
++
++    Extend "banish" to allow specification of desired pointer location.
++    
++    Adds option *banish-pointer-to* for the default location. Valid
++    values are :screen :head :frame and :window.
++
++commit fd9a8cbadd123065a2f32091acec197585dd4946
++Merge: e349ede... ac5b142...
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Nov 16 15:31:01 2007 -0600
++
++    Merge branch 'master' of git://git.savannah.nongnu.org/stumpwm
++
++commit e349edea41c16618e590bece5e3defd600ed77e3
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Nov 8 16:44:33 2007 -0600
++
++    Renumber remaining heads to be contiguous after removing cloned heads.
++
++commit 4042058b11e6a98ee70ab081c51825a513d7c376
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Nov 6 17:16:39 2007 -0600
++
++    Take border width of the message window into account in (display-keybinding).
++
++commit 53c34e3bf854660100e96502c1d05234feab5b08
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Nov 6 12:48:31 2007 -0600
++
++    Do nothing if window being pulled is already on top of the destination frame.
++
++commit 5530410dec16e308e6e0daf590009aee4f123f4e
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Nov 3 09:44:01 2007 -0500
++
++    Export *resize-hides-windows*.
++
++commit d7e65e302a56c40e6140a6c690130bbfce8ded1b
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Oct 27 12:24:04 2007 -0500
++
++    Allow pagers to activate windows regardless of the value of *deny-raise-request*.
++
++commit b4d78bc66a2441e89aa44090eb6a49ba9160be84
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Oct 25 19:13:51 2007 -0500
++
++    Reintroduce (frame-by-number) and (head-by-number) functions.
++
++commit 2d28155634de8ca315c1b22c7b3abf6972b5a6a9
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Oct 23 16:45:15 2007 -0500
++
++    Fix completely broken *deny-raise-request*.
++    
++    Add function (maybe-raise-window).  Use (maybe-raise-window) _NET_ACTIVE_WINDOW
++    and configure-request handlers. Use (frame-window) to determine if window is
++    already visible, rather than (window-state).
++
++commit ac5b14282886661a8dd810221c7ac5b715ffacb6
++Merge: 1e3cb24... 52401a7...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Oct 20 12:33:06 2007 -0700
++
++    Merge branch 'tsdh'
++
++commit 1e3cb247dd153794ea2b9916968b1b430dfee532
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Oct 20 12:31:53 2007 -0700
++
++    fix bug in manual generation
++    
++    manual.lisp (generate-command-doc): output @end deffn, not defvar
++
++commit 52401a76c5322520992614fa49287a1d738ef661
++Author: Tassilo Horn <tassilo@member.fsf.org>
++Date:   Thu Oct 18 12:37:11 2007 +0200
++
++    - implemented new type :command and command describe-command.
++
++commit e68455ffdb9962e0afcfd8da76fd1c1ccb09a7c9
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Oct 16 23:46:00 2007 -0500
++
++    StumpISH: Enable command completion when rlwrap is installed.
++
++commit 5eac7d29bd23e2124429cc59673632b885ab55a3
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Oct 15 22:00:23 2007 -0500
++
++    COLOR: Add color-stack. ^[ pushes ^] pops.
++    
++    This allows modular things (like a cpu bar on the mode-line) to change colors
++    at will and always revert to the previous color settings.
++
++commit fe8e86f5f8ac6256f8ebad215d74da46e040cfc4
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Mon Oct 15 12:44:52 2007 -0700
++
++    fix define-stumpwm-command macro expansion error
++    
++    user.lisp (rip-docstring): move to a labels structure inside define-stumpwm-command macro
++
++commit 29ae9df23079da193fb46eac205bb6327301d4f8
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Mon Oct 15 00:05:29 2007 -0700
++
++    move command documentation to lisp files.
++    
++    manual (generate-command-doc): new function.
++
++commit 6a1031e3ca84900e364081443189813932ff8bdc
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Oct 14 21:00:30 2007 -0700
++
++    move variable documentation from texi to source.
++    
++    manual.lisp (generate-variable-doc): implement
++
++commit b7d731a2a327751270f0f34e5b2df2368a8b3cb5
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Oct 14 17:24:44 2007 -0700
++
++    move function documentation from texi manual to .lisp files and generate texi manual from source.
++    
++    add manual.lisp, which takes stumpwm.texi.in and generates stumpwm.texi.
++
++commit 2fea3bf46b191bc2ff95c18d08c3c495a806da4e
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Oct 14 17:17:01 2007 -0700
++
++    add TAGS to .gitignore
++
++commit fd61e77e07307823aaa87c42c2a7c3e581ce817c
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Oct 14 13:50:06 2007 -0700
++
++    fix define-frame-preference typo
++
++commit 99b4ae809be7615778004ed264900f096150a911
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Oct 14 14:03:16 2007 -0500
++
++    Optimize group switching.
++    
++    * Hide windows from bottom to top.
++    
++    This keeps you from having to look at every window in the old group before the
++    switch happens.
++    
++    * Show new windows before hiding old.
++    
++    This prevents unnecessarily exposing the root window, and therefore makes for
++    completely flicker-free group switching.
++
++commit 96a6ae0eef857ba56e8990304edde3d94a701fdd
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Oct 11 12:45:55 2007 -0500
++
++    Use :exposure handler for redrawing the frame indicator.
++    
++    This eliminates the need for many calls to (show-frame-indicator) after
++    root-window-covering activities. It also avoids drawing the frame indicator
++    more times than truly necessary, and corruption of the frame indicator when
++    running under Xnest.
++
++commit 8a29aff29cd43cc07983e7285c56572c09a123df
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Oct 13 18:09:47 2007 -0700
++
++    Move exported symbols from package.lisp to their respective files.
++
++commit 232907094031f89035a2be87d8932639a4a09122
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Oct 13 17:27:22 2007 -0700
++
++    fix docstring typo in *mode-line-click-hook*
++
++commit fe99a6882b1ee051b4dd19cadadcce907683a55c
++Merge: 29c1e5a... a402740...
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Oct 13 11:07:11 2007 -0500
++
++    Merge branch 'master' of git://git.savannah.nongnu.org/stumpwm
++
++commit 29c1e5a2fba348821b4d822bd8ccb1abecb131f8
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Oct 12 18:44:20 2007 -0500
++
++    Provide pointer x/y in click hooks and allow click-focusing of empty frames.
++    
++    New option *root-click-focuses-frame*.
++
++commit a1afc8e8bbf12a3ab095f74ff7c0258b3cc8035f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Oct 12 16:31:19 2007 -0500
++
++    Don't draw the frame indicator if there's only one head and one frame.
++    
++    This addresses some complaints on IRC about seeing the frame outline at
++    startup. There is no informational value to the outline in this scenario, so
++    get rid of it.
++
++commit a4027408d337876860e3f5a85e00cca925e9fc45
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Oct 12 01:22:32 2007 -0700
++
++    update installation documentation
++
++commit e88c0f84baabd9be926e6aa456644bb22f4fcb26
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Oct 11 23:16:05 2007 -0500
++
++    Avoid hiding already hidden windows in (xwin-hide).
++    
++    This prevents invalid accounting of window-unmap-ignores.
++
++commit 09c18326ee8db70e5c7e30bcdfb307b7808bfeb4
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Thu Oct 11 15:41:03 2007 -0700
++
++    fix syntax typo
++
++commit c519891cb6510172bb2fd10227ee7cc7e445267c
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Thu Oct 11 15:36:55 2007 -0700
++
++    parse DISPLAY string with a regex. properly handle protocol.
++    
++    stumpwm.lisp (parse-display-string): rewrite using a regex
++    (stumpwm): remove optional protocol argument
++
++commit bf325edc359d74704786016104ae33bbebfd07f4
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Thu Oct 11 15:35:51 2007 -0700
++
++    fix docstring for *window-placement-rules*
++
++commit 69e07bf58f37d990f9f290b751e2a9b008b9e1f0
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Thu Oct 11 15:35:15 2007 -0700
++
++    add clisp compiler files
++
++commit 0c32e8b96d3093ac49628828bd85e5097a6e18d2
++Merge: a729b03... 47acbca...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Thu Oct 11 14:17:28 2007 -0700
++
++    Merge branch 'master' of ssh://sabetts@git.sv.gnu.org/srv/git/stumpwm
++
++commit a729b03eb1c660c600e6966812b84f2ea35e22e1
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Thu Oct 11 14:16:24 2007 -0700
++
++    update docs on run-or-raise
++
++commit 2d599cdcbd43cfc6724534ff78ffce7ad6a196ca
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Oct 10 23:13:32 2007 -0500
++
++    Add *root-click-hook* and *mode-line-click-hook*.
++
++commit aee535443531496108d7096991e66f98c73ee612
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Oct 10 21:48:20 2007 -0500
++
++    Try not to alter (screen-heads) in (maybe-cancel-mode-line-timer).
++
++commit 47acbcadeaa490241e6581c263693b99ac6d88ea
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Oct 10 00:30:35 2007 -0500
++
++    Don't use (hide-window) in (pull-window).
++    
++    Use the lower level xwin hide/unhide instead (because (hide-window) is really
++    only for windows hidden by the user).
++
++commit e8650b59398bf4e01209883151eee5e20527bcc2
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Oct 9 23:54:59 2007 -0500
++
++    Don't lose track of focus in (hide-window).
++    
++    This fixes the bug where the keyboard appears to freeze when running mplayer
++    with the pointer in the root window. It also eliminates the need for
++    hackishness in (move-focus-and-or-window).
++
++commit 0e44df3ca889ad2133e9f4fd7906bc91b779fce3
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Oct 9 23:16:54 2007 -0500
++
++    Improve debugging output for windows.
++
++commit 373c59e8e9bcb27a3dc8fc8987061d4e1e4befaa
++Merge: cabd9aa... 95b710b...
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Oct 9 00:47:05 2007 -0500
++
++    Merge branch 'master' of git://git.savannah.nongnu.org/stumpwm
++
++commit 95b710bfc237d4cb8e43ba864f0f9b18b628dd76
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Mon Oct 8 14:19:21 2007 -0700
++
++    correct key binding in docs
++
++commit cabd9aa791c6ba34b8755e1ba06e51c660f1b306
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Oct 8 12:49:12 2007 -0500
++
++    Fix :sloppy mouse focus for group switching and dialogs.
++    
++    This and 41b5a67e42c2a42b8e1560c65fedbde3e6235c25 cause the :enter-notify
++    handler to ignore events for windows not (frame-window) of some frame in the
++    current groups of all screens. That is, windows not on top. This fixes the bug
++    where switching groups with :sloppy enabled caused an infinite loop of
++    refocusing, as well as the bug where it was impossible to focus a fixed-size
++    window (the window under it being focused when the mouse passed over).
++
++commit 576603962d3f8c03ccd7dddd601625012ae8d46d
++Merge: 3ceca9d... 41b5a67...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Mon Oct 8 01:46:45 2007 -0700
++
++    Merge branch 'male'
++
++commit 3ceca9d13b68c3c4f6576232b5d1bb27c06a8a5a
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Mon Oct 8 01:44:46 2007 -0700
++
++    give xlib:event-listen a whole number timeout
++    
++    on osx sbcl it doesnt accept fractions
++
++commit 41b5a67e42c2a42b8e1560c65fedbde3e6235c25
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Oct 8 03:31:20 2007 -0500
++
++    Fix sloppy focus.
++
++commit 3723bcd361796e5676374fb57aa022bc19d006ff
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Oct 8 02:54:52 2007 -0500
++
++    Focus frame AFTER hiding windows.
++
++commit 2e2c600aa842b407609a10a3018a907937d5bdd1
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Oct 8 01:57:43 2007 -0500
++
++    Fix mismerge of button-press handler.
++
++commit 54b68d41f87ca19e260db7479ed5023191aa361f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Oct 8 01:42:38 2007 -0500
++
++    Fix mismerge of (focus-forward).
++
++commit 3ba42019dc94d43a7fdcccbc51bf105ccf8ed1fb
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Oct 7 21:25:35 2007 -0500
++
++    Update mode-lines in focus-window.
++
++commit a849ce9817d31a3810671908d356a21f2ad25e6b
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Oct 7 17:45:05 2007 -0500
++
++    Fix mismerge of dump/restore placement-rules.
++
++commit 244be2baaae59991303ea008b25603245047765f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Oct 7 19:12:57 2007 -0500
++
++    Use reverse video in (fmt-highlight).
++    
++    *highlight-color-code* didn't take into account the fact that the user may have
++    already changed from the default color, and would prefer if highlighting didn't
++    reset colors. Reverse video always works, and is always reversible.
++
++commit bbf0a79f25db1b7aa9e67ae34abe708f0c1a6e8e
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Oct 7 19:08:34 2007 -0500
++
++    Add reverse-video color codes (^R and ^r).
++
++commit 83a46061a2e00145ef227c6f4168cae27d793f2f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Oct 7 17:58:40 2007 -0500
++
++    Add missing :title key in define-frame-preference.
++
++commit 012665445a88b85b70e912bdd4c696096c7736fd
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Oct 7 18:03:37 2007 -0700
++
++    when setting up each screen, unhide all the windows in each group before assigning focus.
++
++commit dfb1716f6b8123b6b3ceb8c4e8e960e0c40b268e
++Author: Istvan Marko <mi-stump@kismala.com>
++Date:   Sun Sep 30 21:55:11 2007 -0700
++
++    Get interactive commands in fdump.lisp working.
++    
++    Should fix the dump-group, dump-screen and dump-desktop commands. Also, PRIN1
++    instead of PRINC should be used to make the dump file suitable for READ.
++
++commit 58e08d0724396334bc0dc950f37570d0f1d4618f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Oct 7 17:26:16 2007 -0500
++
++    Include fdump.lisp in clisp build.
++
++commit bc2c6310905309e403443a1e7b14766ff1d2bd75
++Merge: 6377c4c... 0126654...
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Oct 7 17:23:14 2007 -0500
++
++    Merge branch 'master' of git://git.savannah.nongnu.org/stumpwm
++
++commit 6377c4cd900d204985c49f9aa3325184e88378f0
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Oct 7 16:56:03 2007 -0500
++
++    Don't fail in string-match for small lengths of PAT.
++
++commit 23f086d45e8e84d18b463c85fa061a6fa25da8f4
++Merge: 0ae8e8f... cb088c0...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Oct 7 04:52:32 2007 -0700
++
++    Merge branch 'male.' discard the fdump code but keep the placement rule stuff
++    
++    Conflicts:
++    
++    	core.lisp
++    	user.lisp
++
++commit 0ae8e8f2bfc11b0ca2f2671dea3f1a4eab41b98e
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Oct 7 04:27:50 2007 -0700
++
++    highlight the current window in modeline's %W and current group in %g
++    
++    mode-line.lisp: add group name to default modeline
++    primitives.lisp: new global *highlight-color-code*
++
++commit 36e9ba0c025538973884453b7614f049dd445b23
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Oct 7 02:44:08 2007 -0700
++
++    verify the structure is correct in define-frame-preferences
++    
++    add clear-window-placement-rules function. use it in sample-stumpwmrc.lisp
++
++commit f0b9adaa7baa3457fb4c6b2349f6ca95c29bf428
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Oct 7 02:35:10 2007 -0700
++
++    fix typo in docs
++
++commit 471cc1924a71ae2d80ed45d8429a5f8cc214eab0
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Oct 6 20:48:19 2007 -0700
++
++    fix draw-frame-numbers error. remove get-*-pixel functions
++    
++    draw-frame-numbers was using get-*-pixel functions, which are no longer used.
++
++commit c8a2e56408972838c8ea341cd7e0b83aca8d762b
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Oct 6 20:39:28 2007 -0700
++
++    improve error output to include a backtrace
++    
++    core.lisp: new exported function err prints a backtrace along with a message. Use where appropriate.
++    user.lisp (interactive-command): print a backtrace when an error occurs in the command.
++
++commit bde79aa3412d30c140d71591f69c669c346c388b
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Oct 6 20:37:53 2007 -0700
++
++    add stumpwm-mode.el
++
++commit 8d4524c445a97af8fd1c4fdb4e3fb955e0a33408
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Oct 6 20:34:58 2007 -0700
++
++    minor touch ups to color.lisp adn stumpish
++    
++    stumpish: use bash for stumpwmish, not /bin/sh
++    color.lisp: move *colors* comment to docstring
++
++commit 83d8913f73959514cf7702ce981aa33793270cc2
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Oct 6 18:32:47 2007 -0700
++
++    add autogen.sh. remove stumpwm.sbcl and stumpwm.clisp
++
++commit cb088c006a61dfb69b3251d4e2e0793dcff7bbd4
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Oct 4 20:11:30 2007 -0500
++
++    Don't fail in string-match for small lengths of PAT.
++
++commit df67398bd27781711f4d457f4907f3e4e2d0a1f5
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Oct 4 19:48:46 2007 -0500
++
++    Add commands for remembering, dumping, restoring and forgetting window rules.
++
++commit 93bbd4ec0f4ff5c1d273bdc8a2bd33655091ced2
++Merge: 8c2a992... 8385c7e...
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Oct 2 19:14:52 2007 -0500
++
++    Merge branch 'master' into test-merge
++    
++    Conflicts:
++    
++    	core.lisp
++    	package.lisp
++    	primitives.lisp
++    	sample-stumpwmrc.lisp
++    	stumpwm.lisp
++    	user.lisp
++
++commit 8385c7e198ab53f37ee2046c2f86aa94bd92e782
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Oct 2 13:54:07 2007 -0500
++
++    Force input focus in "move-window".
++
++commit e8809dca76780f81dabec5eb415bb41a892fe776
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Oct 1 17:49:57 2007 -0500
++
++    Fix inadvertently broken %g mode-line formatter.
++
++commit f779e8451e23da2e41658e6710762a0f5e1cd0ec
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Oct 1 02:32:51 2007 -0500
++
++    Optimize window movement.
++    
++    Hide window before pulling to prevent unnecessary drawing as the window is
++    moved and resized.
++
++commit 4cece2b96907cba17c8f092cfc70aa9f2d195773
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Oct 1 02:24:22 2007 -0500
++
++    Don't unnecessarily focus frame in "move-window".
++
++commit 02cb3d1b018fce872fc4641cbd865a33f56595a9
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 29 13:09:33 2007 -0500
++
++    Don't fail in (window-leader) if transient-for returns an invalid id.
++
++commit 8c2a99200ef037574ad62377b19ec41355976bb9
++Merge: 3e42a85... 6d922e7...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 29 02:01:01 2007 -0700
++
++    Merge commit '6d922e7dad67674ff9281c4e70161e722ea9a4b5' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++
++commit 3e42a85ed9cad5ef611e40ec274d673736612902
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 29 01:51:50 2007 -0700
++
++    add changelog entries
++
++commit 1648dd75eff4ade77bcc04124c3b72fe0c840b4c
++Merge: 38c83ba... a231ce1...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 29 01:20:24 2007 -0700
++
++    Merge commit 'a231ce1cdced9f85b21ebac84861b21242ce9369' into merge-male
++
++commit 38c83baafeefb9d265ca3c0a9ff03921b73d2815
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 29 01:19:21 2007 -0700
++
++    add changelog entries.
++
++commit d6b35b1a6b6418dce2157ed0040dec0fe9572694
++Merge: dc3b50c... e69ccb4...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 29 00:45:39 2007 -0700
++
++    Merge commit 'e69ccb4a11778e7746a3cc943539bf2918e2867e' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++
++commit dc3b50cb3fc0eecd7776ec66be5ce91b2f8fb542
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 29 00:40:13 2007 -0700
++
++    add changelog entries. docstring for *processing-existing-windows*.
++
++commit 1a1a28395d3d64ca4cb328e393911b42e0b8662f
++Merge: 8c841f3... ed28584...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:55:32 2007 -0700
++
++    Merge commit 'ed28584292992a4e0e99359254aeab0e5a4eb000' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++
++commit 8c841f3108e9c3d8b93344302b763c4b78a5042a
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:46:35 2007 -0700
++
++    add changelog entries
++
++commit e8bdc5df6537bf2007b3e90a62331c9d922a1ad3
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:44:22 2007 -0700
++
++    add changelog
++
++commit 14c38637cf8ef1df0c9bf9ccf684b2bd5b57d76c
++Merge: a0e62b7... 8b6e140...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:44:07 2007 -0700
++
++    Merge commit '8b6e140cf2552ff4967fe4a64604dd02ef808ec8' into merge-male
++
++commit a0e62b75f2202024712f10923c90e69c5f6f6cc4
++Merge: d15a299... d781144...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:43:00 2007 -0700
++
++    Merge commit 'd7811445a2c4edbce1e8901bc612e40beec86076' into merge-male
++
++commit d15a299db096a878ead65d54be340d7654d30d78
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:41:09 2007 -0700
++
++    add changelog entry
++
++commit 2de54f0de7af2b3db784f9c4b25a64f9ae0a231f
++Merge: e76b072... c7ad141...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:31:44 2007 -0700
++
++    Merge commit 'c7ad1419bde51aa032bd874ae7ece8643de4416e' into merge-male
++
++commit e76b0720eeb1bfd070880ffcb6382422e3809f3a
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:28:41 2007 -0700
++
++    add changelog entries
++
++commit 5473d98abce1204daf72499f0450cb59a1b09644
++Merge: f4cc322... f5eabc2...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:25:08 2007 -0700
++
++    Merge commit 'f5eabc29d4c4f8f39b1d0f1edfc4a52fd4549acd' into merge-male
++
++commit f4cc3221b5713c38588688e04e07a85014c7ee1a
++Merge: d3918c8... b9daf9f...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:24:08 2007 -0700
++
++    Merge commit 'b9daf9f6b28f17c1fb497b7b63c6ab05ae83ca2f' into merge-male
++
++commit d3918c85326dde6144572235976fdc028109f499
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:23:18 2007 -0700
++
++    add changelog entries
++
++commit faaf9596590c5294a5688f68a797e9a112cb9d36
++Merge: 3ab36e1... cf958ec...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:20:43 2007 -0700
++
++    Merge commit 'cf958ecd552b1b36a98e0b7ea2b6628aa943f68b' into merge-male
++
++commit 3ab36e1f452e99c176b4fa42c2fa16c9be34ada7
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 23:19:30 2007 -0700
++
++    add changelog entries
++
++commit 1d723b24afded8e37df7b8d01c7bc320d65a7456
++Merge: e78a496... 2272678...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 20:56:41 2007 -0700
++
++    Merge commit '22726784ffe02bfe91cf374fa44e9b65bc99d3aa' into merge-male
++
++commit e78a4968f6b1a5882d59319b65cfa9d402cd05e7
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 20:55:07 2007 -0700
++
++    add changelog
++
++commit 9af659fa0b676386ceb9e3c612aca357a51d2a45
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 28 22:26:11 2007 -0500
++
++    % is percent, not dollar!
++
++commit f2976dbeaa32c2d7f0774ea09d3a2661cae43c17
++Merge: 52ca583... 8b5e385...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 20:25:22 2007 -0700
++
++    Merge commit '8b5e38585018d890d3e7f9c18f376418b5f94d8f' into merge-male
++
++commit 52ca58386ac0571fbc80d4c9e741babc1115a7a9
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 20:24:57 2007 -0700
++
++    add changelog
++
++commit 2f5ac28dd2cd3dc69233abab8e3726da22ff9387
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 28 22:24:14 2007 -0500
++
++    Reinstate :exposure handler for mode-lines.
++
++commit 112ed4346d2433e2fa8f515f35ae5db866bef26f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 28 21:40:43 2007 -0500
++
++    Global whitespace cleanup.
++
++commit b37b14af272272b3c38f75f4a1618baab2e2e1e8
++Merge: 81b99fb... c670e15...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 19:24:34 2007 -0700
++
++    Merge commit 'c670e152feeffb89c45118ece03a51dd1258202e' into merge-male
++
++commit 81b99fb01743f6c0221c02fa7d72a9a57fd25e5a
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 19:23:38 2007 -0700
++
++    add changelog. keep screen-mode-line-mode
++
++commit 556ae0d8ab7018eac74e8b86eab45b3ae1c7a1fe
++Merge: 77366e6... 2a7dea9...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 17:41:14 2007 -0700
++
++    Merge commit '2a7dea9231a466dd874571187e66dfc25915cb55' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++
++commit 77366e6a753f1e1e2926d52bd209547161aa18c0
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 17:26:32 2007 -0700
++
++    add changelog entry for b5ab9fb1bdc8850ad94d2af9164a7bfdb00c8b43
++
++commit 3431f77ac8496afa6b11e94714a369c591337aaf
++Merge: 7f5e3aa... b5ab9fb...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 17:24:12 2007 -0700
++
++    Merge commit 'b5ab9fb1bdc8850ad94d2af9164a7bfdb00c8b43' into merge-male
++
++commit 7f5e3aa83a46ff1c2a92bfa4cc5dfcde4db4b563
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 17:23:36 2007 -0700
++
++    add changelog for dd3047e100ab6e6103614de83e2d1fc39b19d454
++
++commit ed400cffe494584fa3efdfda398056bd729348fd
++Merge: 82df94e... dd3047e...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 17:22:49 2007 -0700
++
++    Merge commit 'dd3047e100ab6e6103614de83e2d1fc39b19d454' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++
++commit 82df94e11061759488c6b796bb50af9d3cc984b0
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 17:15:38 2007 -0700
++
++    add changelog entries for 7065f4f359d8fc6058e5de4ebe41e06d64a5cc2a
++
++commit 5462b7f5a63478ecdd92cd9986880662e8f5e142
++Merge: a482db6... 7065f4f...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 16:53:46 2007 -0700
++
++    Merge commit '7065f4f359d8fc6058e5de4ebe41e06d64a5cc2a' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++    	primitives.lisp
++    	user.lisp
++
++commit a482db6ed1a22093876ee91fea152a4b04cf3aaa
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 16:01:36 2007 -0700
++
++    add changelog entry for b6ce36ea68f72a6d94f95532025c466e8b2d462b
++
++commit 5504834e56324b1abbe7e2ade3963dca1fb1f7b8
++Merge: 8a81e57... b6ce36e...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 16:00:43 2007 -0700
++
++    Merge commit 'b6ce36ea68f72a6d94f95532025c466e8b2d462b' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++
++commit 8a81e579eb7d4c67510ffaa3d5d0101e2b5c15cf
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 15:53:13 2007 -0700
++
++    add changelog for 8685f51a524b0601b1bf20d03182b7fd618e2005
++
++commit 7a3850d7cf5d59a59f2d9c91839a8aecf918d106
++Merge: ffd90d8... 8685f51...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 15:46:09 2007 -0700
++
++    Merge commit '8685f51a524b0601b1bf20d03182b7fd618e2005' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++
++commit ffd90d86b35f86300cc5516457af380286a23476
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 15:38:05 2007 -0700
++
++    add changelog entry for 9f47438ea885735b81f76e80cfd90d3aad3dad46. touch up code a bit.
++
++commit 0a9134750db2fb35ba4a59d5bd47d8e237802e0f
++Merge: b43514e... 9f47438...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 28 15:19:12 2007 -0700
++
++    Merge commit '9f47438ea885735b81f76e80cfd90d3aad3dad46' into merge-male
++
++commit f1a996a2efb07104713d03de8b19e7ecd2af98be
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 28 15:21:48 2007 -0500
++
++    Don't draw frame outlines for background activities.
++
++commit 3e95f9aa285f6170a0c31d7b41224f8e81d40980
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 24 20:34:01 2007 -0500
++
++    Revamp the frame-indicator.
++    
++    Window boarder already indicates current frame when
++    the frame contains a window. Let the frame-outline do
++    the same when the frame doesn't. Also, don't reallocate
++    the frame-outline GC for each redraw.
++
++commit 35cfeaafeae58e18333c186026c5974abcb68dbc
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 24 06:38:41 2007 -0500
++
++    Add command "gother".
++
++commit b7c4e18081fa8442230d902404a775e43bc266ae
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 24 06:24:52 2007 -0500
++
++    Don't reference nil variable.
++
++commit 089d4e0b3a63d1201d5d24ecc1c1c0b77f234805
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 23 10:00:03 2007 -0500
++
++    Flush display output at critical times.
++    
++    Fixes some subtle timing problems which resulted in
++    corruption of message display. StumpWM now renders as
++    expected under Xnest.
++
++commit abe668a9db5efd63741dc5f5aacd0ef9d7fe9e94
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 23 05:55:19 2007 -0500
++
++    stumpish: Improve command line syntax.
++
++commit ff9366ffa11a8fa81d9e9a078d7d1e42c2ce623c
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 23 03:28:31 2007 -0500
++
++    color: Remove unreferenced varaible.
++
++commit 1dbb41adc5a8fa4288b01d2d2813e48900aa1886
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 23 03:27:21 2007 -0500
++
++    Add new command interface--StumpIsh
++    
++    The ratpoison external command facility is overly complex
++    and hard to integrate with other tools. Therefore a new,
++    simplified interface is introduced which extends StumpWM's
++    interactivity considerably.
++    
++    * Added STUMPwm Interactive SHell to contrib/
++    * Add command "commands" to list all interactive commands.
++
++commit d7dacacb4196711720d8dddfdf341888e642a416
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 22 23:54:09 2007 -0500
++
++    Support window groups (henceforth known as gangs) and modal dailogs.
++    
++    Window gangs are defined by clients using WM_CLIENT_LEADER and
++    WM_HINS.group_leader properties. A client will often have a main window and its
++    subwindows belonging to the same gang. The (window-gang) function may be used
++    to return a list of other members of a given window's gang.
++    
++    Modal windows and modal dialogs have the property of blocking input to the
++    application for the life of the window. Without WM support, this can lead to
++    the confusing situation wherein a program appears to be frozen because its
++    modal dialog has become obscured. Therefore, modal dialogs will always be kept
++    above the windows in their 'shadow' (usually includes other dialogs of the
++    application.) Additionally, moving a modal window to another group will cause
++    the windows in its shadow to be moved. Likewise, moving a shadowed window will
++    cause the modal shadowing it and all the other windows in the modal's shadow to
++    be moved. This is to ensure that a modal window and frozen, shadowed windows
++    will never belong to different groups, which could be very confusing for the
++    user.
++
++commit 81592ab88858ebf3160fe615ca59bc0fb0a4c2c5
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 20 23:58:00 2007 -0500
++
++    Update mode-lines after leaving fullscreen mode.
++
++commit 7d91aec59dbf8d98385945a7096d9e67a9be89f7
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 20 16:44:26 2007 -0500
++
++    Maximize when restoring withdrawn windows.
++    
++    This fixes (at least) the problem where Ardour's 'plugins' dialog shows up
++    empty after being restored (because, it appears, GTK has moved the window in
++    the meantime.)
++
++commit 357f8c896572b1cd2a02a0ab37a0c30fa80e9ce7
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 20 04:58:27 2007 -0500
++
++    Improve the default mode-line format (group-name, head-windows).
++
++commit b3dbfab1f9f743d82c4dce71fc7ec986fbb55412
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 20 03:45:19 2007 -0500
++
++    COLOR: take local state out of ccontexts.
++    
++    Current colors and color-map should be local to render-strings. Make it so.
++
++commit a7bc0511dd4cf6938dc0dc4a38a5ab39fd150341
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 20 02:52:20 2007 -0500
++
++    Consolidate :group-name command arg type into into :group.
++    
++    Numbers and partial names are accepted for all group commands,
++    instead of just "gselect".
++
++commit 0665c3c4f57f38f01e187e4a82e75d2245cacc89
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 19 23:21:36 2007 -0500
++
++    Update default-bright ccontext entry for new mode-lines.
++
++commit a8cc10d4ee256cb06e8bbb8004cc9b16cd14d0c4
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 19 23:20:24 2007 -0500
++
++    Add mode-line formatter %n for current group name.
++
++commit e879bfc03af4c4a2d573492577ff56381e50e279
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 18 20:55:57 2007 -0500
++
++    Optimize xwin hide/unhide behavior.
++    
++    Unmap parent before subwindows in xwin-hide, preventing
++    unnecessary drawing of window background. Unmap parent's
++    subwindows in window hide rather than xwin.
++
++commit 29b042af59fb5aa5e363bdbc949a4dc87451c4d6
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 19 00:28:18 2007 -0500
++
++    Fix 12 hour formatters in format-time-string.
++    
++    0:01 is 12:01AM, not 0:01AM!
++
++commit 498b74c6b9a9c753806b3af899660d787a094e56
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 8 15:56:19 2007 -0500
++
++    Use (sleep) instead of busy waiting.
++
++commit 4c3f08d176b37c540ec71cff4ca3d2803221012d
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 19 02:06:35 2007 -0500
++
++    Call (update-colors-for-screen) in (init-screen).
++    
++    This prevents an invalid ccontext and therefore crash
++    if the user has no (set-*-color) statements in their
++    stumpwmrc.
++
++commit eff31e084677da791992c4aef7868f278198ed6e
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 18 20:15:57 2007 -0500
++
++    Don't give an error when this is no window for "move-window"
++
++commit 60c07ee30e34d5db3f27b7c7aebe7d3ceef9a1dc
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 18 07:09:49 2007 -0500
++
++    Update mode lines when a window's name changes.
++
++commit 0ecd3e969564fc717f102a8709295154e7184873
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 9 22:09:22 2007 -0500
++
++    Add some color to (message) calls.
++
++commit 28f0c066ccc95b2c78a0112d1925994c188ecde4
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 18 00:26:34 2007 -0500
++
++    Try harder to avoid calling alloc-color.
++    
++    This gets rid of get-*-color-pixel functions and makes focus-color and unfocus
++    color work like all the rest.
++
++commit 8dfd59163ca6514b05097bc0c3676857f98e87da
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 15 19:34:41 2007 -0500
++
++    Isolate message and mode-line color contexts.
++
++commit ef82d67012745237f32e2d348547e8d7a9a308e0
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 15 17:56:10 2007 -0500
++
++    Allow color codes in mode-line formats.
++
++commit ff5f6eae69774f694cf7cc78533ead6d5fd38ea9
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 15 15:54:18 2007 -0500
++
++    Don't call alloc-color constantly in get-fg-color-pixel and friends.
++
++commit 2601eaf4a50536e8aa64124474d3e5683e7a6b7c
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 15 01:17:56 2007 -0500
++
++    Use vectors for colormaps.
++
++commit cb8199ba7522489749c953ce0f1479067a4b8efe
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 14 14:12:16 2007 -0500
++
++    Improve colormap generation and always use color-map-norm for bg color.
++
++commit 78b167950cc8c843374a9ac2a8710c92e602d577
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 11 10:40:30 2007 -0500
++
++    Only map message windows AFTER resizing them.
++
++commit c8893acfbfdf45ece0376839de5cd900e9254b1c
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 10 22:23:33 2007 -0500
++
++    Handle invalid color codes.
++
++commit a542f1c8325ef537823f151eae44ce4045924338
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 10 17:14:19 2007 -0500
++
++    Minor clean up of set-color.
++
++commit 1e7e9b93dc77979b39630627c958b4c5fde27c7d
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 10 16:21:27 2007 -0500
++
++    Update NEWS.
++
++commit c39e8a12c12f725931408033b2e3e74adff1e7fa
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 10 15:41:42 2007 -0500
++
++    Split color handling into color.lisp
++
++commit 947978af8b538e2d84042afb6e7e91fb93331e3e
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 10 14:15:13 2007 -0500
++
++    Allow escaping of the color escape character.
++
++commit d7e7f1196836cb51b3a250fa1f698b46159b2ae6
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 9 22:00:26 2007 -0500
++
++    Clean up color namespace.
++
++commit 745b1c9ebe6c1e33b103dbc619ad56860598911a
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 9 21:41:40 2007 -0500
++
++    Improve support for C strings.
++
++commit 221e89d68b2bc9e33f1673735122f01c5f99fcba
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 9 16:50:45 2007 -0500
++
++    Begin to support C color codes in the message window.
++
++commit 7b7f055d3cf1978c65fa2ae96301f5da37e35854
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 18 02:35:46 2007 -0500
++
++    Take border into account when calculating height of mode-lines.
++
++commit b43514e5693cc3cad5d2f8446689afc41c39888c
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Tue Sep 18 00:08:18 2007 -0700
++
++    add changelog for 773c66764a070f69513ef1350d90852e63b7e9e8
++
++commit 471af5c38d4641dd31877f86b5d807bcb135062f
++Merge: d8d0e28... 773c667...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Tue Sep 18 00:06:44 2007 -0700
++
++    Merge commit '773c66764a070f69513ef1350d90852e63b7e9e8' into merge-male
++
++commit d8d0e288f8cfa3eacc3753c52e274946d1aeae62
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Tue Sep 18 00:06:13 2007 -0700
++
++    add changelog for f28e2eb2cae77a5fd69db6625deb9b8656e16e9d
++
++commit 157d7eefdb4477cbcf52e57335bd2bf2f8d93b35
++Merge: 047dea5... f28e2eb...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Tue Sep 18 00:05:17 2007 -0700
++
++    Merge commit 'f28e2eb2cae77a5fd69db6625deb9b8656e16e9d' into merge-male
++
++commit 047dea575c2968813ca72da9221e5d657a257999
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Tue Sep 18 00:04:15 2007 -0700
++
++    add changelog for 4bca9cdb4c7e9fd556c9450bffb093e115124299
++
++commit 087d704c754ad00ca90e94785d63511cd0913fb2
++Merge: 1ef0bc8... 4bca9cd...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Tue Sep 18 00:03:04 2007 -0700
++
++    Merge commit '4bca9cdb4c7e9fd556c9450bffb093e115124299' into merge-male
++
++commit 1ef0bc84b03c3b2a23d9b5ab1e4d385cec183c2c
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Tue Sep 18 00:01:23 2007 -0700
++
++    add changelog for 04d705ee7b4624509c066f5c2e7fdbf3660a7d79
++
++commit 9337ddf18eb49456e50f79c193112de5c932cb24
++Merge: 62750ca... 04d705e...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Mon Sep 17 23:59:07 2007 -0700
++
++    Merge commit '04d705ee7b4624509c066f5c2e7fdbf3660a7d79' into merge-male
++
++commit 62750ca3c590bf8d882fab445c98a70e484111da
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Mon Sep 17 23:57:36 2007 -0700
++
++    minor formatting and comment touch ups. add changelog entry for a5b96d2d4710bd3be42020ab59717e3984c391e9
++
++commit 31e3f369cc608e671d8dd21390b8932ff97c28b0
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 17 18:14:08 2007 -0500
++
++    Rewrite remove-split to deal better with heads.
++    
++    This avoids printing the "No more frames!" message when there
++    actually are more frames.
++
++commit b16e00b253dea7ef909cadea28161f2f2b7d888d
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 15 22:04:06 2007 -0500
++
++    Update mode lines after XRandR screen manipulation.
++    
++    (update-screen-mode-lines) renamed to (update-all-mode-lines).
++    Added (update-mode-lines).
++
++commit 329090e40d447c4c32d032bc3c3bbc129029e34e
++Merge: 50e8c2f... a5b96d2...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 15:15:40 2007 -0700
++
++    Merge commit 'a5b96d2d4710bd3be42020ab59717e3984c391e9' into merge-male
++
++commit 50e8c2f3b5f911acacc77afc3edf78aa1ac64d7d
++Merge: 945f786... 6db80b1...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 15:05:10 2007 -0700
++
++    Merge commit '6db80b1cbff1b82a98b8931a785b4d0af4b77747' into merge-male
++
++commit 945f78651067ca34fd2a744d59a92466fabff54b
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 13:43:32 2007 -0700
++
++    add changelog for 00d60eede354a5315f9760a64b935d67810641d8
++
++commit 5c7e48f90e3e9af03cf057f46ee8aa7280002f4a
++Merge: 9c37db9... 00d60ee...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 13:37:45 2007 -0700
++
++    Merge commit '00d60eede354a5315f9760a64b935d67810641d8' into merge-male
++
++commit 9c37db9ce456c1d446ca23fc653c40c56249af67
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 13:36:37 2007 -0700
++
++    add changelog entry for 0ac73b5d5be8daa0897acda4a1721323e98080f8
++
++commit a327519e4cae6828af6087ec106878789159328d
++Merge: 7c73f53... 0ac73b5...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 13:32:46 2007 -0700
++
++    Merge commit '0ac73b5d5be8daa0897acda4a1721323e98080f8' into merge-male
++
++commit 7c73f53e7bb84e16526fea6ef72edb89314a1d70
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 13:32:32 2007 -0700
++
++    minor indenting to move-focus-and-or-window. add changelog entries.
++
++commit 36d1970243389a054a74698f9dd04fa0a5766add
++Merge: afc4390... 09c75f6...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 13:27:27 2007 -0700
++
++    Merge commit '09c75f6cbfefe6eb3443758f8a590cba2e46a0f2' into merge-male
++
++commit afc43904c9d5ad86a8433178dd6d1b1e47b88a0c
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 13:26:51 2007 -0700
++
++    fix minor error in improved frame outline patch. add changelog entries
++
++commit f80bcf5028381e862017ba1a3a87b626bfb031d9
++Merge: 9a05374... 5771786...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 12:57:55 2007 -0700
++
++    Merge commit '577178612beefaced186724c98f9099aa39a0188' into merge-male
++
++commit 9a05374f48dbe4279b29039572f1b3eeb8c24749
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 12:56:36 2007 -0700
++
++    fix up xwin-hide and rename *focus-policy* to *mouse-focus-policy*
++
++commit 3c1cdd2d061747e908bab88b7b390a6ada98922c
++Merge: 3d00cc7... 0a0a55e...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 11:32:52 2007 -0700
++
++    Merge commit '0a0a55e7d3f0b918333641d5166b78b31e499b2d' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++
++commit 3d00cc73978db8c47680e2befb464519bf92226c
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sun Sep 16 01:15:05 2007 -0700
++
++    fix up xinerama patch. use cl-ppcre to parse xpdyinfo head strings.
++
++commit 6569253eef2405408b2b90a9edc903a85dc3d49a
++Merge: db06b7d... be3ffa8...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 15 18:27:12 2007 -0700
++
++    Merge commit 'be3ffa8b64b1a9ba2de775b74ebbe831e76bce42' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp
++    	user.lisp
++
++commit db06b7d8f8f4c2a74aed56b6969b387d50e3cd62
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 15 16:03:40 2007 -0700
++
++    add .gitattributes
++
++commit cb16ac3b807674010d83564febe102ca9d33a42b
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 14 16:04:28 2007 -0500
++
++    Update NEWS.
++
++commit 0507c54875f7f4143a493446a996b98a80a75888
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 14 16:01:54 2007 -0500
++
++    XRandR: Cleanup and rearrange.
++
++commit 039dd1d98c5d83bd21889eb45181f09e15a64e02
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 14 01:52:50 2007 -0500
++
++    XRandR: Deactivate mode-lines in (remove-head).
++
++commit 07199e8d654645c4aaf62c6a39e5604735725ba4
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 14 01:30:55 2007 -0500
++
++    XRandR: Try harder to place windows when adding/removing heads.
++
++commit 66bec61dafee4a819e258ecaaf4b4e56c9de702a
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 14 00:38:13 2007 -0500
++
++    XRandR: Also reposition trees when scaling.
++
++commit db4ccaa66f5fa80549cffa550ee0cde54212f6f1
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 13 18:54:10 2007 -0500
++
++    XRandR: Handle added/removed heads.
++
++commit d6a7429161344e914eb4d8e5356eae744fd5c6ee
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 13 16:10:09 2007 -0500
++
++    XRandR: clean up (scale-screen).
++
++commit f4c0609641e9fbd0319ab815a56bd7752987b0b3
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 13 02:12:39 2007 -0500
++
++    XRandR: Actually scale frame-trees.
++
++commit 2dba7b59ae716df88c8ba1f6d52a0e4ba0098a66
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 12 23:38:21 2007 -0500
++
++    Crudely begin to support XRandR.
++
++commit 80f4c9d1b42db9ee5528e9da8c1ceebaeabb88d0
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 12 16:12:14 2007 -0500
++
++    Allow adjustment of interactive resize increment.
++    
++    new variable: *resize-increment*
++    new setter: (set-resize-increment)
++
++commit d5863c772a1df45821f906ad5b1dbf4ecbc8f4ff
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 12 14:44:51 2007 -0500
++
++    Always assign focus after resize.
++
++commit a3e2878360df685276efca6d833940479ef79fde
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 12 11:19:56 2007 -0500
++
++    When doing resize, only draw frame outlines for the current head.
++
++commit 7d92510138a8ed2020ae2afee8d3051d93654b8f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 11 22:57:17 2007 -0500
++
++    Add option *resize-hides-windows* and accompanying functionality.
++
++commit c1e213bacd3485a5d514027d2e2c673471eddb0b
++Author: Magnus Henoch <mange@freemail.hu>
++Date:   Thu Sep 13 22:30:06 2007 +0200
++
++    s/hanlde-window-move/handle-window-move/
++
++commit 69227740bb791558b21185b2af734ece4adf9f8b
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 13 02:15:56 2007 -0500
++
++    Use height of current head for calculating layout in display-keybinding.
++
++commit 46e6aed2557b879f314c387f1ed21735d69ebcb7
++Author: Patzy <patzy@appart.kicks-ass.net>
++Date:   Wed Sep 12 17:56:32 2007 -0500
++
++    Add option *run-or-raise-all-screens*.
++    
++    JML: Minor fixes and deletions.
++    
++    Signed-off-by: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++
++commit a2e0a2fc8c00c4be648bb92969312cd9bc36dfe6
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 12 19:12:57 2007 -0500
++
++    Oops. Make :on-click work across multiple screens again.
++
++commit 097e5098a009d708754d0e89c8eee12ca42f6e3b
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 12 18:12:25 2007 -0500
++
++    Ditch "shell" and "web" commands. Such things belong in ~/stumpwmrc.
++
++commit 6637b8fdbd9b9f505a814e7a224cfb0108a766fc
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 12 11:32:13 2007 -0500
++
++    When toggling the mode-line, only update frames on the mode-line's head.
++
++commit e2b265f2893f31f41b94a04a7a3dee4ff1c6be66
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 11 21:13:36 2007 -0500
++
++    Simplify handling of _NET_CLIENT_LIST_STACKING
++
++commit a89d972017fa2eeff49510d167508015fd974da7
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 11 16:56:52 2007 -0500
++
++    Oops. Don't clear _NET_CLIENT_LIST_STACKING at startup!
++    
++    Now process-existing-windows works as advertised by respecting
++    the stacking order of windows.
++
++commit daafdfa60327aa415880ca539dc90691c204a108
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 11 13:47:45 2007 -0500
++
++    Fix typo in add-group causing normal group numbers to start at 0.
++
++commit b5925a85fb9dbd96ccf38124aeb72740ae8fe9cd
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 11 11:18:32 2007 -0500
++
++    Don't depend on 'data' being a list when processing client messages.
++
++commit abaf32f7d6bf6f91d81a7df243421c5b662c5a73
++Author: Magnus Henoch <mange@freemail.hu>
++Date:   Tue Sep 11 17:38:25 2007 +0200
++
++    Fix order of arguments to SORT in PROCESS-EXISTING-WINDOWS
++
++commit 626da036495869738ae558b85ac8f9d9ccd523b0
++Author: Magnus Henoch <mange@freemail.hu>
++Date:   Mon Aug 27 04:47:20 2007 +0200
++
++    s/winodw/window/ in comment
++
++commit ea67124524b53861a4e6552b0d2d466931c6dae8
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 10 21:32:54 2007 -0500
++
++    Always show the bindings for a given keymap when (unbound) ? is pressed.
++
++commit 75b8a91872ae68b7ddc07b84ffdde63549a1249b
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 8 10:39:43 2007 -0500
++
++    Don't fail in pick-prefered-frame '(:choice) if window lacks size hints.
++
++commit 31e98f8c92a275e2812a2ea2c9b5f4bb354e68fd
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 8 01:03:04 2007 -0700
++
++    add changelog entry for 15cb3d27e15e14dca3375282e673306929b7eecd
++
++commit 44ba41d460b25d3a58a90f39c30212ad0a37b87b
++Merge: 5dfdc3b... 15cb3d2...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 8 01:02:28 2007 -0700
++
++    Merge commit '15cb3d27e15e14dca3375282e673306929b7eecd' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp - conflict in add-group
++
++commit 5dfdc3b43e0982c032c808b36789f616e1b76371
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 8 00:53:17 2007 -0700
++
++    touch up hidden group patch
++
++commit 767e367d33a000e3c01fcfc37a8265ef6719f716
++Merge: e0c56ab... a54755f...
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Sat Sep 8 00:39:10 2007 -0700
++
++    Merge commit 'a54755f8dc0ccfe55b08878f4e19a606fe1a7632' into merge-male
++    
++    Conflicts:
++    
++    	core.lisp - just a minor conflict with sort-windows
++
++commit 992383011ead219ca86bff2f519659e62f2b71e7
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 7 23:45:34 2007 -0500
++
++    New hook: *key-press-hook*
++
++commit e0c56abdac2d84b930d63f30b451be45352b9b2f
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 7 22:33:22 2007 -0700
++
++    commit changelog changes. woops.
++
++commit 776a041db290ed7b0823cad9f1c3d062421ee2e1
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 7 22:20:24 2007 -0700
++
++    minor patching up of window placement code and improved frame dumping
++    
++    moved all the frame dumping stuff to fdump.lisp and rewrote most of it.
++
++commit 03f58befc888f39c8532ee4433c9fd38107d7aff
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 7 22:05:33 2007 -0700
++
++    add documentation on using asdf-install to install clx.
++
++commit f6db8399fc2ab80b57ab031b3523f2440b2451b6
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 7 22:04:55 2007 -0700
++
++    * stumpwm.lisp (stumpwm-internal-loop): round the event timeout up
++
++commit 0c17da1ba7fa37d7b1c99064cd0bedebe753bf5d
++Author: Shawn Betts <sabetts@gmail.com>
++Date:   Fri Sep 7 21:59:20 2007 -0700
++
++    add .gitignore
++
++commit 6d922e7dad67674ff9281c4e70161e722ea9a4b5
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 7 04:14:41 2007 -0500
++
++    Don't run *focus-frame-hook* when the current frame hasn't really changed.
++
++commit 933bad94d2956cc35cec49c0df2ce631c876238c
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 7 03:55:13 2007 -0500
++
++    Report errors in run-hook-with-args instead of ignoring them.
++
++commit f90da9bc662e93954eccfb1c72641d11d9521a08
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 7 03:15:30 2007 -0500
++
++    Don't call ignore-errors in run-hook if there isn't a hook to run.
++
++commit 4e46f2343bc0f66cf8f7301e62976d3c7c891ae4
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 7 00:47:46 2007 -0500
++
++    Normalize the window rule system.
++    
++    run-or-raise, deny-map-request, and deny-raise-request are made to
++    use the same rule evaluation as place-window, eliminating unnecessary
++    code.
++
++commit a231ce1cdced9f85b21ebac84861b21242ce9369
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Sep 7 01:44:25 2007 -0500
++
++    Try to be more compliant with the ICCCM re. synth. ConfigureNotify events.
++
++commit 5a7d5039535d64e81b90144a0b72909e7af6a2d1
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 6 23:04:43 2007 -0500
++
++    Always provide focus at startup, even if there are no windows.
++
++commit 0cd48bd214a2636d823e10f36077cf8eb0de1530
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 6 19:18:19 2007 -0500
++
++    Clean up handling of window stacking order.
++
++commit 9f1fd296029e9c97d24cdcadcf7ecc35de034fab
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 23:27:44 2007 -0500
++
++    Send synthetic configure notify events from maximize-window
++
++commit e69ccb4a11778e7746a3cc943539bf2918e2867e
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 19:44:33 2007 -0500
++
++    Respect _NET_CLIENT_LIST_STACKING order when processing existing windows.
++
++commit ed28584292992a4e0e99359254aeab0e5a4eb000
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 4 14:38:30 2007 -0500
++
++    When processing existing windows, just map ones in the current group.
++
++commit ed7480f8f29dc46a1f86b05cded83000c8564f11
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 20:02:17 2007 -0500
++
++    Fix swapped width and height in call to xwin-send-configuration-notify.
++
++commit 08cd429d92eb3c475de327d602342ee798ca8b32
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 15:46:15 2007 -0500
++
++    Add function handle-window-move.
++
++commit 359bcb53bec8f16c896ee5bf8f6b79e25ce48525
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 13:39:41 2007 -0500
++
++    Add option *honor-window-moves*
++
++commit c5d3d1556d4c6ddd8152ed6dc3f461b823f8921f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 13:35:55 2007 -0500
++
++    Ignore location hints on windows of type :transient and :dialog
++
++commit 7e79840e6159b9219286d3395f7afbc7e5b638c4
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 03:41:09 2007 -0500
++
++    Let configure-requests move windows to new frames.
++    
++    This allows the rearrangement of windows via pagers.
++
++commit a00b431169d9051b24f7d43b1f6ddb37d1ed4c58
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 01:13:44 2007 -0500
++
++    Give a window in each group focus when placing existing windows.
++
++commit 488ed70ed0834d88b75bf5248e964a8096bfcc39
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 00:43:40 2007 -0500
++
++    Add :choice option to *new-window-prefered-frame*
++    
++    :choice being application/user choice. This allows the use of -geometry
++    arguments to place clients in specific frames.
++
++commit 92c000788590def70f9a55ff829b8b12b1b69367
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 4 16:27:41 2007 -0500
++
++    Respect _NET_CURRENT_DESKTOP when restarting.
++
++commit aa2faaba14b33c6cf3f588c17890376bf76f1eb3
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 3 23:53:54 2007 -0500
++
++    Try to put existing windows in the groups and frames they want.
++
++commit 3980cf743230379acd54edd7f548cbbc53241093
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Sep 3 21:34:35 2007 -0500
++
++    Delay calling process-existing-windows until after load-rc-file.
++
++commit 7a6da05d42d320f856a6ae23d8b081e117b6123d
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Sep 5 02:56:00 2007 -0500
++
++    Instead of faking _NET_CLIENT_LIST_STACKING, do it for real.
++
++commit 377d368d6a6f4ce4e318a65f9d561645734dc953
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 19:21:19 2007 -0500
++
++    Don't hide non-visible frame windows.
++
++commit ecc8a618284264d504a404c219c20c2d3a0274c1
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Sep 6 17:29:17 2007 -0500
++
++    Get rid of obsoleted mode-line-add-systray-window.
++
++commit 8b6e140cf2552ff4967fe4a64604dd02ef808ec8
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 4 22:44:16 2007 -0500
++
++    Fix screen-windows and all-windows to be nondestructive.
++
++commit d7811445a2c4edbce1e8901bc612e40beec86076
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 4 21:17:45 2007 -0500
++
++    Add binding M for gmove-marked to *groups-map*
++
++commit 159fdc4910a3cbdb3b102040fbcb1f2a08cf6fcf
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Sep 4 19:22:14 2007 -0500
++
++    Cleanup debug message in process-existing-windows.
++
++commit 8957fc97cf983bfd74b1970661ddb101a9d05c12
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 19:03:53 2007 -0500
++
++    Update NEWS.
++
++commit c7ad1419bde51aa032bd874ae7ece8643de4416e
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 18:37:05 2007 -0500
++
++    Improve Xinerama logic of resize-mode-line.
++
++commit 16a2cfbe51b6e7ea79c6eff00198151cbc8faab5
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 18:25:16 2007 -0500
++
++    Make show-frame-indicator honor frame scaling.
++
++commit f5eabc29d4c4f8f39b1d0f1edfc4a52fd4549acd
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 18:15:04 2007 -0500
++
++    Be less sensitive when detecting panel position.
++
++commit b9daf9f6b28f17c1fb497b7b63c6ab05ae83ca2f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 00:49:08 2007 -0500
++
++    Make restore-window update the _NET_WM_DESKTOP property.
++
++commit 4b89b2b9eda82a49a1decd2b6a25e9c9d3fc2b27
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 13:19:54 2007 -0500
++
++    Only map stumpwm mode-line windows AFTER resizing them.
++
++commit 4d64f33fccca4227af131e2382eae79b0644de24
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 13:14:49 2007 -0500
++
++    Fixup maybe-canel-mode-line-timer.
++
++commit cf958ecd552b1b36a98e0b7ea2b6628aa943f68b
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 00:20:33 2007 -0500
++
++    Fix window gravity for frame scaling.
++
++commit 22726784ffe02bfe91cf374fa44e9b65bc99d3aa
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 1 20:50:20 2007 -0500
++
++    Update mode-line documentation.
++
++commit 00a6f27acc4f1a592d3b77c92a6b033106cdc196
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 1 23:56:41 2007 -0500
++
++    Greatly simplify dynamic frame scaling.
++
++commit 7292e5df9371d148503a1c49e68367bdb01d21ae
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 1 19:04:31 2007 -0500
++
++    Improve handling of broken panels.
++
++commit d718467cea61223807a950ca63ea409ec77d7b59
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 1 17:23:54 2007 -0500
++
++    Simplify systray window support.
++
++commit b26f4b1912fbb0acdefd048b17722e8bb142084d
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 1 15:37:59 2007 -0500
++
++    Add some omitted properties to +netwm-supported+.
++
++commit de55cfeb1f8b9f26ef6afb93996eab7c6a13b7c9
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 1 13:24:27 2007 -0500
++
++    Fake _NET_CLIENT_LIST_STACKING for gnome-panels's sake.
++
++commit 8b5e38585018d890d3e7f9c18f376418b5f94d8f
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Aug 31 16:45:50 2007 -0500
++
++    Fix typo in add-systray-window.
++
++commit 7214b612711585c6f1e3ec0bd0e785682b220a23
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 1 13:09:46 2007 -0500
++
++    Add new mode-line formatters %h (head) and %W (windows on head).
++
++commit 8bf975519dd0a75618574b06b3f87db2f2105716
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Aug 31 16:14:50 2007 -0500
++
++    Allow external panels to choose their location.
++
++commit 1c9152524a0280fee29c72e1ac70d385b8f44eaa
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Sep 1 10:31:21 2007 -0500
++
++    Try harder to place panels on the appropriate head.
++
++commit 9b9ae2b0e221d037edcd3525595a55e983e93a9a
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Aug 31 12:30:55 2007 -0500
++
++    Improve support for external taskbars.
++
++commit 60ee8396586eafcada089848cd21248e183655be
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Aug 31 20:11:19 2007 -0500
++
++    Don't bother to create a stumpwm mode-line window for external panels.
++
++commit e04d47516ed3ee4b0b0072960035bff1d494ba86
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 30 23:26:05 2007 -0500
++
++    Allow external dock apps to run in the mode-line.
++
++commit 544307b138da1e793418f8068bcec66ca0e643cf
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Aug 31 19:59:48 2007 -0500
++
++    Handle destruction of external panels gracefully.
++
++commit 3a0a892cd68415ad12247c3987c914358accd657
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Aug 31 17:49:37 2007 -0500
++
++    Limit height of external panel to one quarter of head height.
++
++commit 66bdc8d2d70de99f4233db09b3ad56cc2840936a
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Aug 31 17:06:34 2007 -0500
++
++    Ignore width in place-mode-line-window.
++
++commit c670e152feeffb89c45118ece03a51dd1258202e
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 30 22:10:15 2007 -0500
++
++    Make resize-mode-line work with xinerama.
++
++commit 2a7dea9231a466dd874571187e66dfc25915cb55
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Aug 25 23:39:21 2007 -0500
++
++    Make mode-lines per-head and forbid mode-line code from fiddling with
++    
++    the frame tree.
++
++commit 592e8c7823093506c48b9fc1d37681a5aa4b181a
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 30 22:08:29 2007 -0500
++
++    Make draw-frame-outlines and friends respect mode-line adjustments.
++
++commit 3ce737b198035497ca9adc61a6ecf7074ce7f6e1
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 30 21:25:12 2007 -0500
++
++    Compensate frame size for mode-line dynamically.
++
++commit dd6e835dd80161d6993aee262e288097b3ba4e05
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 14:07:57 2007 -0500
++
++    Evaluate window placement policy when restoring windows.
++
++commit b5ab9fb1bdc8850ad94d2af9164a7bfdb00c8b43
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sun Sep 2 01:14:12 2007 -0500
++
++    Call register-window from the proper place.
++
++commit dd3047e100ab6e6103614de83e2d1fc39b19d454
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Fri Aug 31 17:33:21 2007 -0500
++
++    Make add-group update netwm desktop numbers.
++
++commit 82d4a3d503f8786b3decc16295531b8a0af01abf
++Author: Magnus Henoch <mange@freemail.hu>
++Date:   Fri Aug 31 22:42:52 2007 +0200
++
++    MAKE-HEADS: compatibility with NetBSD sed
++
++commit 13aff08b460ebad54a65900683a1337152720828
++Author: Magnus Henoch <mange@freemail.hu>
++Date:   Fri Aug 31 22:02:46 2007 +0200
++
++    MAKE-HEADS: fall back to default configuration if we get no Xinerama info from xdpyinfo
++
++commit 7065f4f359d8fc6058e5de4ebe41e06d64a5cc2a
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 30 18:29:43 2007 -0500
++
++    Added _NET_WM_STATE_FULLSCREEN support.
++
++commit b6ce36ea68f72a6d94f95532025c466e8b2d462b
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 30 13:52:26 2007 -0500
++
++    Ignore cloned heads in Xinerama configurations.
++
++commit 8685f51a524b0601b1bf20d03182b7fd618e2005
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Aug 28 21:53:07 2007 -0500
++
++    Refine window hints fix in f28e2eb2c...
++
++commit 06e0389f4a98acb7e5c08d39be47ab8e6f7bb55c
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Aug 28 17:35:49 2007 -0500
++
++    Clean up calls to get-window-placement.
++
++commit 9f47438ea885735b81f76e80cfd90d3aad3dad46
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Aug 28 16:50:56 2007 -0500
++
++    Make move-window-to-group check placement rules for target frame.
++
++commit 773c66764a070f69513ef1350d90852e63b7e9e8
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Aug 28 10:48:36 2007 -0500
++
++    Prevent button grabbing from interfering with key grabbing.
++
++commit f28e2eb2cae77a5fd69db6625deb9b8656e16e9d
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Aug 25 13:54:51 2007 -0500
++
++    Fix window-hints logic for transient windows.
++
++commit 4bca9cdb4c7e9fd556c9450bffb093e115124299
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 23 18:11:43 2007 -0500
++
++    Comment out some unfinished NET_WM_STATE code.
++
++commit 04d705ee7b4624509c066f5c2e7fdbf3660a7d79
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 23 16:35:22 2007 -0500
++
++    Added command 'gmove-marked'.
++
++commit a5b96d2d4710bd3be42020ab59717e3984c391e9
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 23 13:01:46 2007 -0500
++
++    More NETWM compliance: _NET_CLOSE_WINDOW, _NET_WM_ALLOWED_ACTIONS
++
++commit 6db80b1cbff1b82a98b8931a785b4d0af4b77747
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 23 01:24:24 2007 -0500
++
++    Fixed typo in draw-frame-outlines.
++
++commit 00d60eede354a5315f9760a64b935d67810641d8
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 23 00:04:17 2007 -0500
++
++    Support _NET_ACTIVE_WINDOW
++
++commit 0ac73b5d5be8daa0897acda4a1721323e98080f8
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Wed Aug 22 22:48:08 2007 -0500
++
++    Fix updating of NET_DESKTOP_NAMES.
++
++commit 09c75f6cbfefe6eb3443758f8a590cba2e46a0f2
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Aug 21 00:37:05 2007 -0500
++
++    Added command 'move-window'.
++
++commit d09e9ca3ddca8fe9400fe5889528ed6b3c6580c8
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Thu Aug 23 01:23:06 2007 -0500
++
++    Added missing _NET_CLIENT_LIST to +netwm-supported+
++
++commit 577178612beefaced186724c98f9099aa39a0188
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Aug 13 23:24:42 2007 -0500
++
++    Improved draw-frame-outlines and added *frame-outline-width* variable.
++
++commit 0a0a55e7d3f0b918333641d5166b78b31e499b2d
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Aug 11 17:09:30 2007 -0500
++
++    Added new rat focus models
++
++commit be3ffa8b64b1a9ba2de775b74ebbe831e76bce42
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Aug 11 15:30:36 2007 -0500
++
++    Added Xinerama Support
++
++commit 15cb3d27e15e14dca3375282e673306929b7eecd
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Aug 13 10:20:38 2007 -0500
++
++    Added sanity checks to add-group.
++
++commit a54755f8dc0ccfe55b08878f4e19a606fe1a7632
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Aug 11 17:44:44 2007 -0500
++
++    Added support for hidden groups + netwm-group-id fixes.
++
++commit ea5ca8c90fd9a90eec36ea4960f037e0152760d7
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Aug 11 16:27:04 2007 -0500
++
++    Added frame save and restore.
++
++commit 73bfb5e98fc3017abde85c7bf8b2724882bcf7fe
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Tue Aug 14 10:14:08 2007 -0500
++
++    Made place-window call switch-to-screen when raising windows.
++
++commit e20e0d1c331e100c747ee3a92fb50550418f7ce2
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Mon Aug 13 13:36:43 2007 -0500
++
++    Restored omitted "syncplace" command.
++
++commit 0a131a33ecb17aaa332ebf62c60bc6367bbe69f6
++Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
++Date:   Sat Aug 11 18:32:06 2007 -0500
++
++    Added rule based window placement.
++
++commit 613b32f8ec047dad75987618711681f448b1fe47
++Author: sabetts <sabetts>
++Date:   Thu Aug 23 21:38:12 2007 +0000
++
++    *** empty log message ***
++
++commit 0bbdb1c9a62cc2cac5cf692f40c61061c0f9c5e4
++Author: sabetts <sabetts>
++Date:   Wed Aug 22 20:01:16 2007 +0000
++
++    (stumpwm-internal-loop): always give a timeout when listening for events.
++
++commit 1522d3cf5b8ca1ed7b6174e1359dd27e252b6903
++Author: sabetts <sabetts>
++Date:   Wed Aug 15 23:11:38 2007 +0000
++
++    (format-time-string): restructure to be compatible with clisp
++
++commit 40a08e955f0b1db53d9d76f93d8fac6297f3e3a7
++Author: sabetts <sabetts>
++Date:   Sun Aug 5 23:50:41 2007 +0000
++
++    *** empty log message ***
++
++commit 336dcab34dd5a8fbec09d842b3d07a4599e93944
++Author: sabetts <sabetts>
++Date:   Sun Aug 5 23:33:58 2007 +0000
++
++    *** empty log message ***
++
++commit 82d2cfce0a68c003802dbe082742abc3333b9a20
++Author: sabetts <sabetts>
++Date:   Sun Aug 5 23:33:51 2007 +0000
++
++    * core.lisp (xwin-role): new function
++    (hide-window): don't do anything if window is already hidden
++    (group-add-window): fill window's role slot
++    (restore-window): likewise
++    (copy-frame-tree): call copy function in mapcar
++    (update-window-properties): listen for :wm_window_role changes
++    
++    * primitives.lisp (*window-formatters*): new formatter #\r
++    (window): new slot, role
++    
++    * user.lisp (choose-frame-by-number): handle an error in read-from-string
++
++commit 35b004c21c851ea30d20ba9237a7b4c1c487aea8
++Author: sabetts <sabetts>
++Date:   Sun Aug 5 06:45:37 2007 +0000
++
++    (choose-frame-by-number): handle an error in read-from-string
++
++commit d632cdab1240f3423c7bfab897868616192fef28
++Author: sabetts <sabetts>
++Date:   Fri Aug 3 21:08:33 2007 +0000
++
++    *** empty log message ***
++
++commit b0d8e4432b912752f91b1598330bdf0bbc15109b
++Author: sabetts <sabetts>
++Date:   Thu Aug 2 09:35:14 2007 +0000
++
++    (resize-frame): fix up crusty debug output
++
++commit 9b99664d1d51101487b00e2ca260d2cd5ecc335d
++Author: sabetts <sabetts>
++Date:   Wed Aug 1 20:32:44 2007 +0000
++
++    *** empty log message ***
++
++commit 4bb9c43f6f269dd4b34fcfbc0ad7792921282b8c
++Author: sabetts <sabetts>
++Date:   Wed Aug 1 03:15:05 2007 +0000
++
++    (get-edge): new function
++    (find-closest-frame): remove function
++    (neighbour): new function
++    ("move-focus"): use neighbour to find destination frame
++
++commit 204dfa4e76f18e51384a04e477782b0c45449d24
++Author: sabetts <sabetts>
++Date:   Wed Aug 1 03:00:13 2007 +0000
++
++    (time-lambda): new macro
++    (*month-names*): new defvar
++    (*day-names*): likewise
++    (*format-time-string-alist*): likewise
++    (*format-time-string-default*): likewise
++    (format-time-string): return a formatted date-time string givena
++    format string.
++
++commit d4dd292b46ea153895fc6f00064d1a8ab0df4dae
++Author: sabetts <sabetts>
++Date:   Wed Aug 1 02:26:49 2007 +0000
++
++    * primitives.lisp (string-to-utf8): new function
++    
++    * core.lisp (netwm-group-id): new function
++    (switch-to-group): update netwm current desktop property
++    (move-window-to-group): update window's netwm desktop property
++    (netwm-update-groups): new function
++    (kill-group): call netwm-update-groups
++    (netwm-set-group-properties): new function
++    (add-group): call netwm-set-group-properties
++    (group-add-window): update window's netwm desktop property
++    (netwm-remove-window): new function
++    (withdraw-window): call netwm-remove-window
++    (netwm-set-properties): rename from net-set-properties. add netwm
++    desktop properties.
++    (init-screen): call netwm-set-properties
++    (:client-message): new event handler
++
++commit 360c3e2b3b0bc55afc49fd5b0537da7124d7d031
++Author: sabetts <sabetts>
++Date:   Wed Aug 1 01:15:33 2007 +0000
++
++    *** empty log message ***
++
++commit ce87f3bdf0732289601435a222f9d215cdf8db2b
++Author: sabetts <sabetts>
++Date:   Thu Jul 26 20:47:59 2007 +0000
++
++    check for makeinfo
++
++commit 988f8bbaf95d04e63930d3aee6e052cdc0f42faf
++Author: sabetts <sabetts>
++Date:   Fri Jul 6 07:36:08 2007 +0000
++
++    (withdraw-window): raise a new window in the old window's frame.
++
++commit 736a3e8daea22450c38678c85e1893b0a194c7d2
++Author: sabetts <sabetts>
++Date:   Fri Jun 29 21:36:46 2007 +0000
++
++    *** empty log message ***
++
++commit 0732c0d36ebc44ee30b819abdec332e0b220b2d3
++Author: sabetts <sabetts>
++Date:   Fri Jun 22 19:35:36 2007 +0000
++
++    * primitives.lisp (*top-level-error-hook*): new global
++    
++    * stumpwm.lisp (stumpwm-internal-loop): call *top-level-error-hook* when an error occurs.
++
++commit e5d4e52093bd4869d1a7876f71d35e63db1f2e85
++Author: sabetts <sabetts>
++Date:   Wed Jun 13 06:00:22 2007 +0000
++
++    * stumpwm.lisp (get-next-timeout): don't truncate the value
++    
++    * core.lisp (frame-raise-window): raise new window before hiding old ones
++
++commit 4a087fed1520c3e8b7f3c96f9a5cafd2104b34ac
++Author: sabetts <sabetts>
++Date:   Wed May 16 22:49:56 2007 +0000
++
++    *** empty log message ***
++
++commit 586f99c89456d44bdad05d18fcd64c90dceee721
++Author: sabetts <sabetts>
++Date:   Wed May 16 09:52:31 2007 +0000
++
++    (withdraw-window): unmap the parent window
++    (translate-id): remove debug output
++
++commit af3ef939901f9d3c1fa200f7788e3cf2b114edc0
++Author: sabetts <sabetts>
++Date:   Mon May 14 23:20:54 2007 +0000
++
++    (redraw-screen-mode-line): new function
++    (redraw-mode-line-for): call redraw-screen-mode-line
++
++commit 5d5435b9d05571e1eff1b735f34d2540835475bb
++Author: sabetts <sabetts>
++Date:   Mon May 14 13:47:35 2007 +0000
++
++    (redraw-mode-line-for): add debug output
++
++commit 2b240cd575dbe367d1df606f929b6ba82eea655d
++Author: sabetts <sabetts>
++Date:   Mon May 14 13:43:34 2007 +0000
++
++    (redraw-mode-line-for): add debug output
++
++commit 2042238e4897b48957fd046b79e911b05042a980
++Author: sabetts <sabetts>
++Date:   Mon May 14 13:31:07 2007 +0000
++
++    * core.lisp (translate-id): add debug output
++    
++    * mode-line.lisp (redraw-mode-line-for): add debug output
++
++commit 502476b4a30711f7c8d68cf569768b05996745ef
++Author: sabetts <sabetts>
++Date:   Mon May 14 13:19:07 2007 +0000
++
++    *** empty log message ***
++
++commit dbf47763d9976648487b32044a1db19b2629412d
++Author: sabetts <sabetts>
++Date:   Sun May 13 23:38:32 2007 +0000
++
++    (mode-line-format-elt): add debugging for :eval
++
++commit 0941ff8f5734ba660f6e354a98e2211fdf8d3b35
++Author: sabetts <sabetts>
++Date:   Sun May 13 04:52:00 2007 +0000
++
++    (stumpwm): add quit-stumpwm restart. set *package* to *default-package*
++
++commit 96728ed209ac45966507435b4613b01a787744e0
++Author: sabetts <sabetts>
++Date:   Sun May 13 04:43:12 2007 +0000
++
++    * stumpwm.lisp (stumpwm): add quit-stumpwm restart. set *package* to *default-package*
++    
++    * primitives.lisp (*default-package*): new global
++
++commit d1edf4261334e1c6278719613d16fb004b90bfd3
++Author: sabetts <sabetts>
++Date:   Sat May 12 11:17:54 2007 +0000
++
++    * core.lisp (pick-prefered-frame): make sure tile-group-last-frame
++    is valid.
++    (update-window-border): give non-normal windows a transparent background
++    (reparent-window): likewise
++    
++    * core.lisp (group-add-window): call pick-prefered-frame
++    (pick-prefered-frame): new function
++    (restore-window): call pick-prefered-frame
++    (restore-window): only focus the new window if it's in the current frame
++    (:map-request): likewise
++    (maybe-hide-windows): use remove, not delete.
++
++commit a4203b8e9ed8029cebbb5bcaf59d1d8953f674a4
++Author: sabetts <sabetts>
++Date:   Sat May 12 10:43:25 2007 +0000
++
++    * core.lisp (pick-prefered-frame): make sure tile-group-last-frame
++    is valid.
++
++commit b806d1fff8d52ab68498c363e615344ab82c80d4
++Author: sabetts <sabetts>
++Date:   Sat May 12 10:38:29 2007 +0000
++
++    *** empty log message ***
++
++commit 9b957b7f8cf358ff72319c68c5965647853a7beb
++Author: sabetts <sabetts>
++Date:   Sat May 12 10:23:37 2007 +0000
++
++    * primitives.lisp (print-object frame): include the frame number
++    (*new-window-prefered-frame*): new global variable
++    
++    * core.lisp (group-add-window): call pick-prefered-frame
++    (pick-prefered-frame): new function
++    (restore-window): call pick-prefered-frame
++    (restore-window): only focus the new window if it's in the current frame
++    (:map-request): likewise
++    (maybe-hide-windows): use remove, not delete.
++
++commit 77ceef5c7333ce63348ca31353894b103f862b0b
++Author: sabetts <sabetts>
++Date:   Fri May 11 21:57:24 2007 +0000
++
++    *** empty log message ***
++
++commit 43b51342d7de804fd2941a9d21aa5902c5f7c366
++Author: sabetts <sabetts>
++Date:   Fri May 11 08:29:18 2007 +0000
++
++    (stumpwm-internal-loop): don't ungrab the keyboard
++    when entering the debugger.
++
++commit c7548610f0f179cfbec9e9884aac0edf47625403
++Author: sabetts <sabetts>
++Date:   Thu May 10 22:33:45 2007 +0000
++
++    (:key-press): ungrab the keyboard after reading the key.
++
++commit 2327d781297ca22acdb325ac79f71d71bb924ebb
++Author: sabetts <sabetts>
++Date:   Thu May 10 21:42:05 2007 +0000
++
++    (handle-keymap): don't grab the keyboard
++    (:key-press): grab the keyboard at the beginning. ungrab it at the
++    very end. call allow-events after grabbing.
++
++commit d91b488445290128d896bfae95daad4316024d99
++Author: sabetts <sabetts>
++Date:   Thu May 10 10:36:14 2007 +0000
++
++    * core.lisp (grab-pointer): call xlib:display-finish-output
++    (grab-keyboard): likwise
++    (ungrab-keyboard): likwise
++    
++    * user.lisp (eval-line): dont take screen arg. callers updated.
++
++commit a2a3f7058c81452622204faf375d97d6b885c7dc
++Author: sabetts <sabetts>
++Date:   Wed May 9 20:53:12 2007 +0000
++
++    (:configure-request): more verbose debug output
++
++commit 7e57e84eacc9372bf4170e8088389e6374da374d
++Author: sabetts <sabetts>
++Date:   Wed May 9 20:25:51 2007 +0000
++
++    (:configure-request): more verbose debug output
++    (grab-keyboard): likwise
++    (ungrab-keyboard): likwise
++    (:focus-out): new event handler
++
++commit 7e4a06c264c7ee5d2c9297661833d7cee23e706a
++Author: sabetts <sabetts>
++Date:   Tue May 8 01:56:00 2007 +0000
++
++    *** empty log message ***
++
++commit b89a41190b03baf95cd4cecae46207f24c179f0f
++Author: sabetts <sabetts>
++Date:   Tue May 8 01:32:47 2007 +0000
++
++    * user.lisp (eval-line): print all values
++    (columnize): new function
++    (display-keybinding): print prefix keys. print bindings in columns
++    ("reload"): properly notify when asdf isn't loaded
++    
++    * primitives.lisp (*suppress-abort-messages*): new global
++    (concat): new defun
++    
++    * kmap.lisp (search-kmap): match command before checking if its a kmap
++    
++    * user.lisp ("windowlist"): properly tell the user when there are
++    no managed windows.
++    (argument-pop-or-read): throw :abort
++    (argument-pop-rest-or-read): likewise
++    (:frame): likewise
++    ("colon"): likewise
++    ("windowlist"): likewise
++    (parse-and-run-command): likewise
++    (interactive-command): echo "Abort." for aborted commands unless *suppress-echo-timeout* is on.
++    (display-keybinding): use message-no-timeout
++
++commit ea28cdb82ea1ee27e727ac461f0057481fefdb43
++Author: sabetts <sabetts>
++Date:   Mon May 7 22:12:53 2007 +0000
++
++    ("windowlist"): properly tell the user when there are
++    no managed windows.
++
++commit 2c038369e04deb8ef52eeb36ef14f954d6ccf997
++Author: sabetts <sabetts>
++Date:   Mon May 7 22:06:33 2007 +0000
++
++    (*input-map*): bind ESC to input-abort
++
++commit fe7ffe5bedf3714c0847788c4b9025c334577c50
++Author: sabetts <sabetts>
++Date:   Mon May 7 15:14:31 2007 +0000
++
++    *** empty log message ***
++
++commit cedec5545710ed0628f466b558f848d3b7b76482
++Author: sabetts <sabetts>
++Date:   Mon May 7 15:04:28 2007 +0000
++
++    *** empty log message ***
++
++commit d7981e2c5c05699794b13bf4456629e7bcd55d9d
++Author: sabetts <sabetts>
++Date:   Mon May 7 00:04:20 2007 +0000
++
++    * user.lisp ("gnew"): check if group exists
++    ("gnewbg"): likewise
++    
++    * input.lisp (input-find-completions): make sure the symbol is fboundp
++    
++    * core.lisp (find-group): new function
++
++commit dcf172f6dab8a7a684b556e803fe24d9de5bd5aa
++Author: sabetts <sabetts>
++Date:   Sat May 5 04:53:07 2007 +0000
++
++    * primitives.lisp (*focus-color*): set to gray
++    
++    * user.lisp ("loadrc"): wrap in with-restarts-menu
++    ("lastmsg"): handle case when there is no last message.
++    ("gmerge"): new command
++    (*root-map*): switch around window navigating bindings to be the same as ratpoison
++    
++    * primitives.lisp (*window-format*): crop title at 50 chars
++    (*startup-message*): new defvar
++
++commit 2c66765856381c3e0f5bfbd4512d18bfd3d5dcac
++Author: sabetts <sabetts>
++Date:   Sat May 5 04:22:03 2007 +0000
++
++    * user.lisp ("loadrc"): wrap in with-restarts-menu
++    ("lastmsg"): handle case when there is no last message.
++    ("gmerge"): new command
++    
++    * stumpwm.lisp (load-rc-file): take new argument, catch-errors.
++    (stumpwm): print *startup-message* when non-nil on start up.
++    
++    * primitives.lisp (*window-format*): crop title at 50 chars
++    (*startup-message*): new defvar
++
++commit 692f600c3fdedb29d152001d099a59a0d152a6dd
++Author: sabetts <sabetts>
++Date:   Fri May 4 22:25:01 2007 +0000
++
++    (add-window): call screen-add-mapped-window
++    (restore-window): likewise
++    (withdraw-window): call screen-remove-mapped-window
++    (netwm-update-client-list): new function
++    (screen-add-mapped-window): likewise
++    (screen-remove-mapped-window): likewise
++    (net-set-properties): set the _NET_CLIENT_LIST property
++
++commit b569be4976ce639337313d23ac62c32c7358af70
++Author: sabetts <sabetts>
++Date:   Thu May 3 21:12:57 2007 +0000
++
++    * make-image.lisp: return error code 0 for sbcl
++    set SBCL_HOME for sbcl.
++    
++    * Makefile: new file
++    
++    * primitives.lisp (*new-frame-action*): new global
++
++commit f64b20834e4ffdb067e28d5a13a1837481b8e5d1
++Author: sabetts <sabetts>
++Date:   Thu May 3 13:41:19 2007 +0000
++
++    return error code 0 for sbcl
++
++commit 8bef994ad46c6101692f475e1d5d9abf1e7f7c6c
++Author: sabetts <sabetts>
++Date:   Thu May 3 12:57:28 2007 +0000
++
++    new file
++
++commit 36670cb4ed115206af8087ddaf698b3bea6d03f1
++Author: sabetts <sabetts>
++Date:   Thu May 3 09:48:11 2007 +0000
++
++    *** empty log message ***
++
++commit ac59acae13439d574eb303860d99b7fe511f9c45
++Author: sabetts <sabetts>
++Date:   Thu May 3 09:46:44 2007 +0000
++
++    * primitives.lisp (*new-frame-action*): new global
++    
++    * core.lisp (choose-new-frame-window): new function
++    (split-frame): call choose-new-frame-window. show the new frame's
++    window.
++
++commit 0e9df7bb9550b8b4e2a9306e618b3fdfb7588b10
++Author: sabetts <sabetts>
++Date:   Sat Apr 28 01:41:41 2007 +0000
++
++    * primitives.lisp (+netwm-supported+): new constant
++    (+netwm-window-types+): likewise
++    (+wm-take-focus+): remove constant
++    (+wm-state+): likewise
++    (+wm-protocols+): likewise
++    (+wm-delete-window+): likewise
++    (utf8-to-string): new function
++    
++    * core.lisp (send-selection): pass args to change-property
++    properly.
++    (translate-id): replace unknown chars with ?
++    (xwin-net-wm-name): new function
++    (xwin-name): call xwin-net-wm-name
++    (default-border-width-for-type): handle :dialog type
++    (gravity-for-window): likewise
++    (xwin-type): return supported netwm types
++    (xwin-strut): newfunction
++    (delete-window): intern the atom
++    (net-set-properties): new function
++    (init-screen): call net-set-properties
++    
++    * stumpwm.lisp (timer-p): remove function
++    
++    * primitives.lisp (print-backtrace): new function
++    (print-backtrace): print to *standard-output* for sbcl
++    
++    * stumpwm.lisp (stumpwm-internal-loop): use handler-bind for
++    errors. print a backtrace for the error.
++
++commit 2cdbff1ba8914958a05ad46d3f58752f54ae89ae
++Author: sabetts <sabetts>
++Date:   Fri Apr 27 23:01:53 2007 +0000
++
++    * core.lisp (send-selection): pass args to change-property
++    properly.
++    
++    * stumpwm.lisp (timer-p): remove function
++    
++    * primitives.lisp (print-backtrace): new function
++    (print-backtrace): print to *standard-output* for sbcl
++    
++    * stumpwm.lisp (stumpwm-internal-loop): use handler-bind for
++    errors. print a backtrace for the error.
++
++commit b8fe52e922b4ba63e013e107417e741bd3a17cd1
++Author: sabetts <sabetts>
++Date:   Fri Apr 27 09:05:15 2007 +0000
++
++    (stumpwm-internal-loop): use handler-bind for
++    errors. print a backtrace for the error.
++
++commit 5cc0174d7b1544fa7a5d6c3820e222890883d237
++Author: sabetts <sabetts>
++Date:   Wed Apr 25 22:23:00 2007 +0000
++
++    * user.lisp (*root-map*): add "h" binding
++    (*help-map*): new global
++    (lookup-symbol): new function
++    (:variable): new stumpwm type
++    (:function): likewise
++    (:key-seq): likewise
++    ("describe-key"): new command
++    ("describe-variable"): likewise
++    ("describe-function"): likewise
++    ("where-is"): likewise
++    
++    * primitives.lisp (*suppress-echo-timeout*): rename from
++    *supress-echo-timeout*. all callers updated.
++    
++    * kmap.lisp (print-key-seq): new function
++    (lookup-key-sequence): likewise
++    (kmap-p): likewise
++    (search-kmap): likewise
++    
++    * input.lisp (read-key-no-modifiers): new function
++    (read-one-char): call read-key-no-modifiers
++    
++    * core.lisp (unmap-all-message-windows): cancel the timer
++    (unmap-all-frame-indicators): likewise
++    (reset-message-window-timer): just call the unmap function in the
++    timer
++    (reset-frame-indicator-timer): likewise
++    (echo-string-list): if *suppress-echo-timeout* is T, cancel the
++    message timer.
++    (message-no-timeout): new function
++    (read-from-keymap): take optional update-fn argument
++    (handle-keymap): likewise
++    
++    * primitives.lisp (*window-name-source*): new global
++    
++    * core.lisp (window-name): use *window-name-source* to decide what
++    value to return.
++    
++    * user.lisp (*root-map*): new "A" binding
++    ("title"): new command
++    
++    * primitives.lisp (window): rename name slot to title. all callers
++    updated.
++    
++    * core.lisp (window-name): new function
++    
++    * user.lisp ("reload"): use restarts-menu
++    (select-from-menu): make prompt optional. display prompt in menu.
++    (restarts-menu): new function
++    (with-restarts-menu): new macro
++    (with-restarts-menu): use handler-bind, not handler-case
++    (restarts-menu): remove newlines from restarts, errors
++    
++    * core.lisp (handle-event): add a top-level restart
++    
++    * primitives.lisp (*timeout*): remove global
++    (reset-timeout): remove function
++    (reset-timeout-for-frame-indicator): remove function
++    (*frame-indicator-timer*): new global
++    (*message-window-timer*): likewise
++    
++    * core.lisp (reset-message-window-timer): new function
++    (reset-frame-indicator-timer): likewise
++    (show-frame-indicator): call reset-frame-indicator-timer
++    (echo-string-list): call reset-message-window-timer
++
++commit df0b02f8209447f009acad38384fd4b15a5e27af
++Author: sabetts <sabetts>
++Date:   Wed Apr 25 20:14:41 2007 +0000
++
++    *** empty log message ***
++
++commit 127b84a8a9b8ac1862d27d99545c6499c0d1c51b
++Author: sabetts <sabetts>
++Date:   Wed Apr 25 18:50:12 2007 +0000
++
++    * stumpwm.lisp (get-next-timeout): return a whole number
++    
++    * stumpwm.lisp (*timer-list*): new global
++    (timer): new defstruct
++    (timer-p): new function
++    (run-with-timer): likewise
++    (cancel-timer): likewise
++    (schedule-timer): likewise
++    (sort-timers): likewise
++    (run-expired-timers): likewise
++    (get-next-timeout): likewise
++    (stumpwm-internal-loop): handle timers
++
++commit 87a31ef8c289e5031753c4bcff36893bc868f29e
++Author: sabetts <sabetts>
++Date:   Wed Apr 25 10:37:47 2007 +0000
++
++    * primitives.lisp (*window-name-source*): new global
++    
++    * core.lisp (window-name): use *window-name-source* to decide what
++    value to return.
++    
++    * primitives.lisp (window): rename name slot to title. all callers
++    updated.
++    
++    * core.lisp (window-name): new function
++    
++    * core.lisp (handle-event): add a top-level restart
++    
++    * primitives.lisp (*timeout*): remove global
++    (reset-timeout): remove function
++    (reset-timeout-for-frame-indicator): remove function
++    (*frame-indicator-timer*): new global
++    (*message-window-timer*): likewise
++    
++    * core.lisp (reset-message-window-timer): new function
++    (reset-frame-indicator-timer): likewise
++    (show-frame-indicator): call reset-frame-indicator-timer
++    (echo-string-list): call reset-message-window-timer
++
++commit 6958c73b10a10c9547e0e53f1a7f989840c7d54f
++Author: sabetts <sabetts>
++Date:   Wed Apr 25 10:20:05 2007 +0000
++
++    * user.lisp (*root-map*): new "A" binding
++    ("title"): new command
++    
++    * primitives.lisp (window): rename name slot to title. all callers
++    updated.
++    
++    * core.lisp (window-name): new function
++    
++    * user.lisp ("reload"): use restarts-menu
++    (select-from-menu): make prompt optional. display prompt in menu.
++    (restarts-menu): new function
++    (with-restarts-menu): new macro
++    (with-restarts-menu): use handler-bind, not handler-case
++    (restarts-menu): remove newlines from restarts, errors
++    
++    * core.lisp (handle-event): add a top-level restart
++    
++    * primitives.lisp (*timeout*): remove global
++    (reset-timeout): remove function
++    (reset-timeout-for-frame-indicator): remove function
++    (*frame-indicator-timer*): new global
++    (*message-window-timer*): likewise
++    
++    * core.lisp (reset-message-window-timer): new function
++    (reset-frame-indicator-timer): likewise
++    (show-frame-indicator): call reset-frame-indicator-timer
++    (echo-string-list): call reset-message-window-timer
++
++commit 685375700552871c2772a7cb3098fd0c6c70fd5c
++Author: sabetts <sabetts>
++Date:   Wed Apr 25 10:03:36 2007 +0000
++
++    ("reload"): use restarts-menu
++    (select-from-menu): make prompt optional. display prompt in menu.
++    (restarts-menu): new function
++    (with-restarts-menu): new macro
++    (with-restarts-menu): use handler-bind, not handler-case
++    (restarts-menu): remove newlines from restarts, errors
++
++commit 264b385ca72898e1cc03beb85a45e535d58b2eb0
++Author: sabetts <sabetts>
++Date:   Wed Apr 25 09:13:23 2007 +0000
++
++    *** empty log message ***
++
++commit d4e93f8d4aff91584182887b2cbafd71188d2635
++Author: sabetts <sabetts>
++Date:   Wed Apr 25 09:07:10 2007 +0000
++
++    * user.lisp ("reload"): use restarts-menu
++    (select-from-menu): make prompt optional. display prompt in menu.
++    (restarts-menu): new function
++    (with-restarts-menu): new macro
++    
++    * core.lisp (handle-event): add a top-level restart
++    
++    * stumpwm.lisp (*timer-list*): new global
++    (timer): new defstruct
++    (timer-p): new function
++    (run-with-timer): likewise
++    (cancel-timer): likewise
++    (schedule-timer): likewise
++    (sort-timers): likewise
++    (run-expired-timers): likewise
++    (get-next-timeout): likewise
++    (stumpwm-internal-loop): handle timers
++    
++    * core.lisp (reset-message-window-timer): new function
++    (reset-frame-indicator-timer): likewise
++    (show-frame-indicator): call reset-frame-indicator-timer
++    (echo-string-list): call reset-message-window-timer
++
++commit 33ce6e63032372552972e6fb321b5a0b046192de
++Author: sabetts <sabetts>
++Date:   Wed Apr 25 08:08:34 2007 +0000
++
++    * stumpwm.lisp (*timer-list*): new global
++    (timer): new defstruct
++    (timer-p): new function
++    (run-with-timer): likewise
++    (cancel-timer): likewise
++    (schedule-timer): likewise
++    (sort-timers): likewise
++    (run-expired-timers): likewise
++    (get-next-timeout): likewise
++    (stumpwm-internal-loop): handle timers
++    
++    * primitives.lisp (*timeout*): remove global
++    (reset-timeout): remove function
++    (reset-timeout-for-frame-indicator): remove function
++    (*frame-indicator-timer*): new global
++    (*message-window-timer*): likewise
++    
++    * mode-line.lisp (*mode-line-timeout*): new global
++    (*mode-line-timer*): likewise
++    (update-screen-mode-lines): new function
++    (turn-on-mode-line-timer): likewise
++    (maybe-cancel-mode-line-timer): likewise
++    (toggle-mode-line): call maybe-cancel-mode-line-timer and turn-on-mode-line-timer
++    
++    * core.lisp (reset-message-window-timer): new function
++    (reset-frame-indicator-timer): likewise
++    (show-frame-indicator): call reset-frame-indicator-timer
++    (echo-string-list): call reset-message-window-timer
++
++commit f84904c2e58815c671cd3380602bd3b74b20dd3f
++Author: sabetts <sabetts>
++Date:   Mon Apr 23 22:52:40 2007 +0000
++
++    (toggle-mode-line): use :bottom not 'bottom in expand-tree calls
++
++commit a7b0af9245711a417eb3e0b7e388fe84c546b0f6
++Author: sabetts <sabetts>
++Date:   Mon Apr 23 13:20:47 2007 +0000
++
++    * core.lisp (split-frame-h): properly handle modulo
++    (split-frame-v): likewise
++    (expand-tree): properly expand the children with modulo
++    (join-subtrees): rewrite
++    (offset-frames): new function
++    (balance-frames): properly resize with modulo
++    (expand-tree): resize proportionally
++    
++    * core.lisp (def-thing-attr-macro): new macro
++    (switch-to-group): call *focus-group-hook* hook
++    (focus-window): don't call *unfocus-window-hook*. pass both old
++    and new windows to *focus-window-hook*
++    (make-initial-frame): just take the screen as an argument. all
++    callers updated.
++    (funcall-on-leaf): handle >2 children
++    (funcall-on-node): likewise
++    (replace-frame-in-tree): likewise
++    (tree-accum-fn): likewise
++    (tree-iterate): likewise
++    (tree-row-split): likewise
++    (tree-column-split): likewise
++    (expand-tree): likwise
++    (join-subtrees): likewise
++    (resize-frame): likewise
++    (sibling-internal): new function
++    (sibling): remove function
++    (next-sibling): new function
++    (prev-sibling): likewise
++    (tree-width): calculate correctly
++    (tree-height): likewise
++    (tree-parent): new function
++    (tree-split-type): new function
++    (offset-tree): new function
++    (offset-tree-dir): call offset-tree
++    (spree-root-branch): remove function
++    (depth-first-search): likewise
++    (offset-frames): likewise
++    (balance-frames): new function
++    (split-frame): splice frames that are split in the same direction
++    as their parent into the parent list.
++    (message): new function. all (echo-string (current-screen) ..)
++    callers updated.
++    (current-group): new
++    function. all (screen-current-group (current-screen)) callers
++    updated.
++    (closest-sibling): new function
++
++commit 425b1583347c9d34c3781941987c81dc652cf50c
++Author: sabetts <sabetts>
++Date:   Mon Apr 23 12:50:08 2007 +0000
++
++    * core.lisp (split-frame-h): properly handle modulo
++    (split-frame-v): likewise
++    (expand-tree): properly expand the children with modulo
++    (join-subtrees): rewrite
++    (offset-frames): new function
++    (balance-frames): properly resize with modulo
++    
++    * user.lisp (*root-map*): add + binding
++    (split-frame-in-dir): new function
++    ("hsplit"): call split-frame-in-dir
++    ("vsplit"): likewise
++    (horiz-split-frame): remove function
++    (vert-split-frame): likewise
++    (remove-split): call closest-sibling
++    ("resize"): display message when there's only 1 frame
++    ("balance-frames"): new command
++    
++    * core.lisp (def-thing-attr-macro): new macro
++    (switch-to-group): call *focus-group-hook* hook
++    (focus-window): don't call *unfocus-window-hook*. pass both old
++    and new windows to *focus-window-hook*
++    (make-initial-frame): just take the screen as an argument. all
++    callers updated.
++    (funcall-on-leaf): handle >2 children
++    (funcall-on-node): likewise
++    (replace-frame-in-tree): likewise
++    (tree-accum-fn): likewise
++    (tree-iterate): likewise
++    (tree-row-split): likewise
++    (tree-column-split): likewise
++    (expand-tree): likwise
++    (join-subtrees): likewise
++    (resize-frame): likewise
++    (sibling-internal): new function
++    (sibling): remove function
++    (next-sibling): new function
++    (prev-sibling): likewise
++    (tree-width): calculate correctly
++    (tree-height): likewise
++    (tree-parent): new function
++    (tree-split-type): new function
++    (offset-tree): new function
++    (offset-tree-dir): call offset-tree
++    (spree-root-branch): remove function
++    (depth-first-search): likewise
++    (offset-frames): likewise
++    (balance-frames): new function
++    (split-frame): splice frames that are split in the same direction
++    as their parent into the parent list.
++    (message): new function. all (echo-string (current-screen) ..)
++    callers updated.
++    (current-group): new
++    function. all (screen-current-group (current-screen)) callers
++    updated.
++    (closest-sibling): new function
++
++commit ab3548a02cc9354826169dfa63293b25d3418f8d
++Author: sabetts <sabetts>
++Date:   Mon Apr 23 09:59:30 2007 +0000
++
++    * user.lisp (*root-map*): add + binding
++    (split-frame-in-dir): new function
++    ("hsplit"): call split-frame-in-dir
++    ("vsplit"): likewise
++    (horiz-split-frame): remove function
++    (vert-split-frame): likewise
++    (remove-split): call closest-sibling
++    ("resize"): display message when there's only 1 frame
++    ("balance-frames"): new command
++    
++    * primitives.lisp (*unfocus-window-hook*): remove global var
++    (*focus-group-hook*): new global var
++    (screen): remove current-frame slot
++    (print-object): use parens instead of < and >
++    (print-object): likewise
++    (list-splice-replace): new function
++    (*min-frame-width*): new global var
++    (*min-frame-height*): likewise
++    
++    * core.lisp (def-thing-attr-macro): new macro
++    (switch-to-group): call *focus-group-hook* hook
++    (focus-window): don't call *unfocus-window-hook*. pass both old
++    and new windows to *focus-window-hook*
++    (make-initial-frame): just take the screen as an argument. all
++    callers updated.
++    (funcall-on-leaf): handle >2 children
++    (funcall-on-node): likewise
++    (replace-frame-in-tree): likewise
++    (tree-accum-fn): likewise
++    (tree-iterate): likewise
++    (tree-row-split): likewise
++    (tree-column-split): likewise
++    (expand-tree): likwise
++    (join-subtrees): likewise
++    (resize-frame): likewise
++    (sibling-internal): new function
++    (sibling): remove function
++    (next-sibling): new function
++    (prev-sibling): likewise
++    (tree-width): calculate correctly
++    (tree-height): likewise
++    (tree-parent): new function
++    (tree-split-type): new function
++    (offset-tree): new function
++    (offset-tree-dir): call offset-tree
++    (spree-root-branch): remove function
++    (depth-first-search): likewise
++    (offset-frames): likewise
++    (balance-frames): new function
++    (split-frame): splice frames that are split in the same direction
++    as their parent into the parent list.
++    (message): new function
++    (current-group): new
++    function. all (screen-current-group (current-screen)) callers
++    updated.
++    (closest-sibling): new function
++
++commit a0e78d1f84a0a8e43d75b76f953a44643845de27
++Author: sabetts <sabetts>
++Date:   Tue Feb 27 17:28:26 2007 +0000
++
++    *** empty log message ***
++
++commit 624f4952feab27f48965f75782fad7f177795e15
++Author: sabetts <sabetts>
++Date:   Mon Feb 26 23:38:26 2007 +0000
++
++    * user.lisp ("command-mode"): echo a message about how to exit command mode
++    
++    * stumpwm.lisp (stumpwm): raise one of the windows in the initial frame
++    
++    * primitives.lisp (*deny-map-request*): new global
++    (*deny-raise-request*): likewise
++    (*suppress-deny-messages*): likewise
++    (match-res-or-type): new function
++    (deny-request-p): likewise
++    
++    * core.lisp (move-window-to-group): raise the window in its new frame if the frame is empty
++    (group-add-window): windows default to iconic
++    (process-mapped-window): don't map the parent window
++    (find-withdrawn-window): add type declare
++    (withdraw-window): likewise
++    (destroy-window): likewise
++    (restore-window): likewise
++    (move-window-to-head): likewise
++    (restore-window): deny some windows their map request
++    (handle-managed-window): likewise
++    (:map-request): likwise
++
++commit 2dd42fc147c3f2cec67738a64c6ae94b04ff6d0b
++Author: sabetts <sabetts>
++Date:   Mon Feb 26 20:30:44 2007 +0000
++
++    *** empty log message ***
++
++commit bb8c46af82064bf59df020d490b5d17e77d1d010
++Author: sabetts <sabetts>
++Date:   Sun Feb 25 04:28:18 2007 +0000
++
++    *** empty log message ***
++
++commit 1639d1e095b751645dfbdf1a04c9f65a5cdaee6a
++Author: sabetts <sabetts>
++Date:   Sun Feb 25 04:26:37 2007 +0000
++
++    * core.lisp (:key-press): only grab the key when reading another key
++    
++    * primitives.lisp (screen): new slot msg-border-width
++    
++    * core.lisp (set-msg-border-width): new function
++    (update-border-all-screens): likewise
++    (update-border-for-screen): likewise
++    
++    * input.lisp (draw-input-bucket): wrap window resizing in its own with-state
++    
++    * core.lisp (no-focus): call update-window-border
++
++commit a27aa439be38006e2b631fbd849b8405c8f75827
++Author: sabetts <sabetts>
++Date:   Sun Feb 25 03:16:19 2007 +0000
++
++    (no-focus): call update-window-border
++
++commit 95e0e3dd833211599e14d92794cc32631832c9ce
++Author: sabetts <sabetts>
++Date:   Thu Feb 22 00:22:11 2007 +0000
++
++    (send-fake-key): add :x :y :root-x :root-y
++
++commit 49efe154e3a3882dc1f0c3420679737849dc5086
++Author: sabetts <sabetts>
++Date:   Tue Feb 20 19:29:28 2007 +0000
++
++    * input.lisp (setup-input-window): use xlib:with-state
++    (draw-input-bucket): likewise
++    
++    * core.lisp (screen-y): use xlib:with-state
++    (true-height): likewise
++    (true-width): likewise
++    (maximize-window): likewise
++    (setup-win-gravity): likewise
++    (setup-message-window): likewise
++    (show-frame-indicator): likewise
++    (echo-in-window): likewise
++
++commit f8d6965c1333a5b8020b44e3cd8f4c367f7502b4
++Author: sabetts <sabetts>
++Date:   Sun Feb 18 03:03:12 2007 +0000
++
++    (error-handler): ignore match-errors
++
++commit 7031c1a418860c644915a5e0e06b9a8f047ebf62
++Author: sabetts <sabetts>
++Date:   Fri Feb 16 07:42:26 2007 +0000
++
++    *** empty log message ***
++
++commit 0eebb3fa52805b3c18d3c36480daa82f702c9f75
++Author: sabetts <sabetts>
++Date:   Fri Feb 16 07:24:37 2007 +0000
++
++    * user.lisp (:gravity): new arg type
++    ("gravity"): new command
++    
++    * stumpwm.sbcl: use keyword symbols
++    
++    * primitives.lisp (+default-window-background-color+): new constant
++    (*normal-gravity*): new global
++    (*maxsize-gravity*): likewise
++    (*transient-gravity*): likewise
++    (window): add gravity slot
++    (screen): add win-bg-color slot
++    
++    * input.lisp (input-find-completions): handle alist completion lists
++    (input-complete): likewise
++    
++    * core.lisp (update-window-border): clear the parent window with
++    its background color
++    (update-window-gravity): new function
++    (set-normal-gravity): likewise
++    (set-maxsize-gravity): likewise
++    (set-transient-gravity): likewise
++    (gravity-for-window): likewise
++    (geometry-hints): work with window gravity
++    (maximize-window): bind extra geometry-hints ret values
++    (set-win-bg-color): new function
++    (get-win-bg-color-pixel): likewise
++    (get-gravity-coords): likewise
++    (update-colors-for-screen): update the window parent's background
++    color
++    (init-screen): init screen-win-bg-color
++
++commit 0347bbe038f80be14d1054ff91e4ab68faaf4924
++Author: sabetts <sabetts>
++Date:   Fri Feb 9 23:07:34 2007 +0000
++
++    (handle-managed-window): show the frame indicator on focus change
++
++commit cada1fa83f51478ce89f3d6330fe284bcf13b15b
++Author: sabetts <sabetts>
++Date:   Fri Feb 9 05:52:18 2007 +0000
++
++    (dformat): string out non base-char chars
++
++commit 181a478aac9554f691600a1de55194c4276448e6
++Author: sabetts <sabetts>
++Date:   Tue Feb 6 05:22:55 2007 +0000
++
++    * user.lisp (banish-pointer): call screen-true-height
++    
++    * core.lisp (frame-raise-window): hide windows & raise before focusing window
++    (screen-true-height): new function
++
++commit 52b61aaebddef81ca248ded1d6836d37f3f0e5a8
++Author: sabetts <sabetts>
++Date:   Tue Feb 6 05:17:51 2007 +0000
++
++    (frame-raise-window): hide windows & raise before focusing window
++
++commit 141e1aa3b95cdc558963fb6a7ba9b9751ccf2814
++Author: sabetts <sabetts>
++Date:   Mon Feb 5 20:21:24 2007 +0000
++
++    * user.lisp ("ratclick"): call current-window
++    ("gmove"): likewise
++    ("insert"): likewise
++    ("mark"): likewise
++    (other-hidden-window): remove unused lexical var f
++    
++    * core.lisp (restore-window): update all X caches for window
++    (xwin-type): an aspect hint window is considered :maxsize
++    (maybe-hide-windows): rename from maybe-hide-window. take the
++    group and frame as args. hide all windows in the frame.
++    (focus-window): don't hide any windows
++    (frame-raise-window): call maybe-hide-windows
++    (current-window): new function
++
++commit d852ed1118bb8a223720fc2c4309661ff97b07e7
++Author: sabetts <sabetts>
++Date:   Sun Feb 4 23:08:08 2007 +0000
++
++    * primitives.lisp (screen): add withdrawn-windows slot
++    
++    * core.lisp (geometry-hints): use ceiling for aspect ratio hints
++    (reparent-window): grab the server
++    (remove-window): remove function
++    (find-withdrawn-window): new function
++    (restore-window): likewise
++    (withdraw-window): likewise
++    (destroy-window): likewise
++    (:map-request): handle withdrawn windows
++    (:unmap-notify): call withdraw-window
++    (:destroy-notify): call destroy-window
++    (:reparent-notify): new event handler
++
++commit 6f48269f6692dd4f61cf2a76bc127b15bbcc27c8
++Author: sabetts <sabetts>
++Date:   Thu Feb 1 22:09:16 2007 +0000
++
++    (pull-other-hidden-window): rename from other-hidden-window. all callers updated.
++    (other-hidden-window): new function
++
++commit 689fcb4c1fd4df135c2e30ad11204039630f3e38
++Author: sabetts <sabetts>
++Date:   Thu Feb 1 22:00:08 2007 +0000
++
++    * user.lisp (pull-other-hidden-window): rename from other-hidden-window. all callers updated.
++    
++    * core.lisp (save-frame-excursion): new macro
++
++commit 238c1984ed9109bb3a8554411353b477facb0077
++Author: sabetts <sabetts>
++Date:   Wed Jan 31 23:38:55 2007 +0000
++
++    * core.lisp (split-frame-v): call *new-frame-hook*
++    (split-frame-h): likewise
++    
++    * primitives.lisp (*new-frame-hook*): new hook
++    
++    * core.lisp (current-group): new function
++
++commit d93f33ab6327b6437bb583f2bdf4f424cbd55767
++Author: sabetts <sabetts>
++Date:   Wed Jan 31 22:25:26 2007 +0000
++
++    (current-group): new function
++
++commit 582438280db9d5317ec269fe6fe517d7535de3d7
++Author: sabetts <sabetts>
++Date:   Sun Jan 28 22:06:32 2007 +0000
++
++    (set-font): open the font for each screen
++    (add-group): put the new group at the end of the group list
++    (remove-window): update the mode line
++    (process-mapped-window): likewise
++
++commit 1cc60fd12c56af92c152b5d6e03ab9330f758e61
++Author: sabetts <sabetts>
++Date:   Sun Jan 28 21:55:04 2007 +0000
++
++    (set-font): open the font for each screen
++    (add-group): put the new group at the end of the group list
++
++commit bbd75b7dc589b21303ff58d001dd5b108c1f8d33
++Author: sabetts <sabetts>
++Date:   Sun Jan 28 21:23:16 2007 +0000
++
++    (set-font): open the font for each screen
++
++commit 7cbd2627677730c1ac73ce271e35f2438e5b15a6
++Author: sabetts <sabetts>
++Date:   Sun Jan 28 20:40:17 2007 +0000
++
++    (mode-line-format-elt): use the symbol as a string if it's unbound. ignore T and NIL
++    (screen-mode-line-mode): check the arg types
++    (toggle-mode-line): likewise
++
++commit 76925350d6899a9811ab9ce8269a5575170a5c87
++Author: sabetts <sabetts>
++Date:   Sat Jan 27 21:00:04 2007 +0000
++
++    * stumpwm.lisp (stumpwm-internal-loop): print the error before throwing :quit
++    
++    * stumpwm.lisp (error-handler): new function
++
++commit 485fed3de983379aebdbc12ce630b2f922507200
++Author: sabetts <sabetts>
++Date:   Sat Jan 27 20:49:03 2007 +0000
++
++    *** empty log message ***
++
++commit be7c932bfb1818d508e23a912dc8c7931cc30ef3
++Author: sabetts <sabetts>
++Date:   Sat Jan 27 10:38:07 2007 +0000
++
++    * core.lisp (reparent-window): give normal windows a black bg
++    
++    * core.lisp (xwin-send-configuration-notify): take the geometry as arguments. all callers updated.
++    (geometry-hints): use cached window geometry slots
++    (reparent-window): likewise
++    (maximize-window): call set-window-geometry
++    (group-add-window): init x y width height border-width window slots
++    (process-mapped-window): call set-window-geometry
++    (handle-unmanaged-window): new function
++    (handle-managed-window): likewise
++    (:configure-request): call handle-managed-window and handle-unmanaged-window
++    (update-window-properties): only maximize the window being updated
++    (handle-event): catch xlib:window-error and xlib:drawable-error events
++
++commit dbe9a8470eca5b2baf5f2bf6947744fc398253a0
++Author: sabetts <sabetts>
++Date:   Sat Jan 27 08:55:47 2007 +0000
++
++    *** empty log message ***
++
++commit 27990599b48f916de4e7083b2045ca2c5f3e5a53
++Author: sabetts <sabetts>
++Date:   Sat Jan 27 07:49:18 2007 +0000
++
++    * core.lisp (reparent-window): give normal windows a black bg
++    
++    * core.lisp (xwin-send-configuration-notify): take the geometry as arguments. all callers updated.
++    (geometry-hints): use cached window geometry slots
++    (reparent-window): likewise
++    (maximize-window): call set-window-geometry
++    (group-add-window): init x y width height border-width window slots
++    (process-mapped-window): call set-window-geometry
++    (handle-unmanaged-window): new function
++    (handle-managed-window): likewise
++    (:configure-request): call handle-managed-window and handle-unmanaged-window
++    (update-window-properties): only maximize the window being updated
++    (handle-event): catch xlib:window-error and xlib:drawable-error events
++
++commit c888f53c01836bd9cf392b338bf22795c9484709
++Author: sabetts <sabetts>
++Date:   Sat Jan 27 07:46:07 2007 +0000
++
++    * primitives.lisp (window): new slots x y width height border-width
++    
++    * core.lisp (xwin-send-configuration-notify): take the geometry as arguments. all callers updated.
++    (geometry-hints): use cached window geometry slots
++    (reparent-window): likewise
++    (maximize-window): call set-window-geometry
++    (group-add-window): init x y width height border-width window slots
++    (process-mapped-window): call set-window-geometry
++    (handle-unmanaged-window): new function
++    (handle-managed-window): likewise
++    (:configure-request): call handle-managed-window and handle-unmanaged-window
++    (update-window-properties): only maximize the window being updated
++    (handle-event): catch xlib:window-error and xlib:drawable-error events
++
++commit 8671974242e4f84978ef9626bc8596bfb70c2a3b
++Author: sabetts <sabetts>
++Date:   Sat Jan 27 05:32:35 2007 +0000
++
++    (xwin-send-configuration-notify): take the geometry as arguments. all callers updated.
++    (geometry-hints): use cached window geometry slots
++    (reparent-window): likewise
++    (maximize-window): call set-window-geometry
++    (group-add-window): init x y width height border-width window slots
++    (process-mapped-window): call set-window-geometry
++    (handle-unmanaged-window): new function
++    (handle-managed-window): likewise
++    (:configure-request): call handle-managed-window and handle-unmanaged-window
++    (update-window-properties): only maximize the window being updated
++    (handle-event): catch xlib:window-error and xlib:drawable-error events
++
++commit c8aa2b06277e6673aedf021624e30486bb84ee3e
++Author: sabetts <sabetts>
++Date:   Sat Jan 27 05:05:39 2007 +0000
++
++    * stumpwm.lisp (error-handler): new function
++    
++    * primitives.lisp (window): new slots x y width height border-width
++    
++    * core.lisp (xwin-send-configuration-notify): take the geometry as arguments. all callers updated.
++    (geometry-hints): use cached window geometry slots
++    (reparent-window): likewise
++    (maximize-window): call set-window-geometry
++    (group-add-window): init x y width height border-width window slots
++    (process-mapped-window): call set-window-geometry
++    (handle-unmanaged-window): new function
++    (handle-managed-window): likewise
++    (:configure-request): call handle-managed-window and handle-unmanaged-window
++    (update-window-properties): only maximize the window being updated
++    (handle-event): catch xlib:window-error and xlib:drawable-error events
++
++commit e8b8aa77ca7971689e9c98971a1bb0a7f55ef11e
++Author: sabetts <sabetts>
++Date:   Fri Jan 26 23:44:53 2007 +0000
++
++    * stumpwm.lisp (error-handler): new defun
++    (stumpwm): set error handler
++    (stumpwm-internal-loop): remove catch for drawable and window-error
++    
++    * stumpwm.lisp (stumpwm-internal-loop): handle window-error and
++    drawable-error errors
++
++commit c25157e3aad689fc05f43dd2831e7f1683ba9cbe
++Author: sabetts <sabetts>
++Date:   Fri Jan 26 23:33:35 2007 +0000
++
++    * stumpwm.lisp (error-handler): new defun
++    (stumpwm): set error handler
++    
++    * stumpwm.lisp (stumpwm-internal-loop): handle window-error and
++    drawable-error errors
++
++commit a626a70cd1b170ff6044af7f30ac725aad5939a5
++Author: sabetts <sabetts>
++Date:   Fri Jan 26 08:02:22 2007 +0000
++
++    * core.lisp (set-font): use the first font that matches
++    
++    * core.lisp (handle-event): remove handler-case
++
++commit 703f16fe5e60b5d5c9b49ba67d18e9f55d476c99
++Author: sabetts <sabetts>
++Date:   Fri Jan 26 07:55:22 2007 +0000
++
++    * stumpwm.lisp (stumpwm-internal-loop): handle window-error and
++    drawable-error errors
++    
++    * core.lisp (handle-event): remove handler-case
++
++commit e7da10c244e8cfaacc4efa6f62520ad8d0c523d7
++Author: sabetts <sabetts>
++Date:   Fri Jan 26 00:32:23 2007 +0000
++
++    * user.lisp (window-send-string): handle RET and TAB
++    
++    * user.lisp ("move-focus"): use error for invalid directions
++
++commit 0ecd259abadee1ecb86aa42cda92d6d2ef14ccb4
++Author: sabetts <sabetts>
++Date:   Fri Jan 26 00:19:43 2007 +0000
++
++    * core.lisp (key-to-keycode+state): new function
++    (send-fake-key): use key-to-keycode+state
++    
++    * core.lisp (echo-string-list): run *message-hook* hook
++
++commit 21387c1e9a46650d903f3c5e10f44f06820bfcbb
++Author: sabetts <sabetts>
++Date:   Fri Jan 26 00:11:11 2007 +0000
++
++    (draw-input-bucket): make room for the cursor
++
++commit ea05ec970548b228633e27fe05a50d29ddec0a91
++Author: sabetts <sabetts>
++Date:   Fri Jan 26 00:05:50 2007 +0000
++
++    (draw-input-bucket): make room for the cursor
++
++commit 51a0a831c990ba1ce725ee5f4bdb02d05a4b094f
++Author: sabetts <sabetts>
++Date:   Thu Jan 25 23:10:31 2007 +0000
++
++    *** empty log message ***
++
++commit 4d7329e3148f934b7838845c9b2ac94b6e8c5692
++Author: sabetts <sabetts>
++Date:   Thu Jan 25 23:03:52 2007 +0000
++
++    *** empty log message ***
++
++commit 89b5a584e2771795956474c94a7d2fa97cc6003e
++Author: sabetts <sabetts>
++Date:   Thu Jan 25 22:51:41 2007 +0000
++
++    * primitives.lisp (*debug-level*): new defvar
++    (*debug-stream*): likewise
++    (dformat): send output to *debug-stream*
++    
++    * user.lisp ("move-focus"): use error for invalid directions
++    
++    * stumpwm.lisp (stumpwm): call display-finish-output after each init-screen
++    
++    * core.lisp (echo-string-list): run *message-hook* hook
++
++commit 4b68f109e299fb38196dd248eadc0c5f14f1b242
++Author: sabetts <sabetts>
++Date:   Sun Jan 21 02:01:01 2007 +0000
++
++    *** empty log message ***
++
++commit ccae6d60207c24b9b02435d5340eb8edd511558a
++Author: sabetts <sabetts>
++Date:   Sun Jan 21 02:00:14 2007 +0000
++
++    only require :clx in sbcl
++
++commit 2b5a57e1caab8c45d4ab7e36b3ac893bf8c251cc
++Author: sabetts <sabetts>
++Date:   Wed Jan 17 10:22:13 2007 +0000
++
++    * core.lisp (show-frame-indicator): clear the frame indicator on
++    all other screens.
++    
++    * core.lisp (send-fake-click): new function
++
++commit 193eeb7f65330654735c81a17675b0dcc6964f59
++Author: sabetts <sabetts>
++Date:   Wed Jan 17 10:22:13 2007 +0000
++
++    * core.lisp (show-frame-indicator): clear the frame indicator on
++    all other screens.
++    
++    * core.lisp (send-fake-click): new function
++
++commit 7d679d3ad154c6b1d9b6ab05278b8a8d0cbb91d3
++Author: sabetts <sabetts>
++Date:   Wed Jan 17 10:13:50 2007 +0000
++
++    * user.lisp ("ratclick"): new function
++    
++    * core.lisp (send-fake-click): new function
++    
++    * user.lisp ("snext"): force the frame indicator to show
++    ("sprev"): likewise
++    ("sother"): likewise
++
++commit 19479ce54b537d0fb5be6140b8f454e1be092c34
++Author: sabetts <sabetts>
++Date:   Mon Jan 15 09:01:23 2007 +0000
++
++    * user.lisp (*root-map*): bind mark to C-t # and lastmsg back to m
++    and C-m. Bind C-t C-t to other-in-frame.
++    
++    * user.lisp (*root-map*): add C-SPC binding. bind lastmsg to M. bind mark to m and C-m
++    ("fselect"): make arg non-optional
++    ("mark"): new command
++    ("clear-marks"): likewise
++    ("pull-marked"): likewise
++
++commit 91b485159b1ab7820b0cf0a9f1fb9fa2e6b94ba7
++Author: sabetts <sabetts>
++Date:   Mon Jan 15 08:35:02 2007 +0000
++
++    *** empty log message ***
++
++commit 6111de2fce74ccbdc389f9a2931e4c7d994b34e6
++Author: sabetts <sabetts>
++Date:   Mon Jan 15 07:13:04 2007 +0000
++
++    (input-find-completions): properly match strings
++
++commit f7c64ab87a46f864a889b607ceaf44f392999ca2
++Author: sabetts <sabetts>
++Date:   Mon Jan 15 06:08:27 2007 +0000
++
++    * user.lisp (*root-map*): add C-SPC binding. bind lastmsg to M. bind mark to m and C-m
++    ("fselect"): make arg non-optional
++    ("mark"): new command
++    ("clear-marks"): likewise
++    ("pull-marked"): likewise
++    
++    * primitives.lisp (window): new slot marked
++    (screen): new slot marked-gc
++    (*window-formatters*): add formatter #\m
++    (*window-format*): add %m
++    
++    * mode-line.lisp (make-mode-line-window): add :exposure to event mask
++    
++    * core.lisp (fmt-window-marked): new function
++    (update-window-mark): likewise
++    (marked-windows): likewise
++    (clear-window-marks): likewise
++    (show-frame-indicator): don't draw it if there's only 1 frame
++    (init-screen): initialise marked-gc
++    (:exposure): new event handler
++
++commit 4f972fc48183bbc32ad23481f275e5a3fd304706
++Author: sabetts <sabetts>
++Date:   Mon Jan 15 03:26:57 2007 +0000
++
++    * user.lisp (focus-forward): add predicate function
++    (other-hidden-window): fix hidden windows predicate function
++    ("pull-hidden-next"): pass predicate function to focus-forward
++    ("pull-hidden-previous"): likewise
++    ("prev-in-frame"): call frame-sort-windows
++    ("next-in-frame"): likewise
++    ("command-mode"): new command
++    ("abort"): pop the top map
++    
++    * user.lisp (*root-map*): bind pull-hidden-next,
++    pull-hidden-previous, pull-hidden-other, other-in-frame,
++    next-in-frame, prev-in-frame
++    (pull-window): new function
++    (focus-forward): new argument pull-p. use pull-window
++    (pull-window-by-number): use pull-window
++    (other-hidden-window): new function
++    (other-window-in-frame): likewise
++    ("pull-hidden-next"): new command
++    ("pull-hidden-previous"): likewise
++    ("pull-hidden-other"): likewise
++    ("next-in-frame"): likewise
++    ("prev-in-frame"): likewise
++    ("other-in-frame"): likewise
++    (other-window): use the group's window list to find the other
++    window.
++    ("other"): show the frame indicator if a frame switch occurred.
++
++commit d76d72ac551b025ca369f842da2c9d109c16e3df
++Author: sabetts <sabetts>
++Date:   Mon Jan 15 03:19:20 2007 +0000
++
++    * user.lisp (focus-forward): add predicate function
++    (other-hidden-window): fix hidden windows predicate function
++    ("pull-hidden-next"): pass predicate function to focus-forward
++    ("pull-hidden-previous"): likewise
++    ("prev-in-frame"): call frame-sort-windows
++    ("next-in-frame"): likewise
++    
++    * user.lisp (*root-map*): bind pull-hidden-next,
++    pull-hidden-previous, pull-hidden-other, other-in-frame,
++    next-in-frame, prev-in-frame
++    (pull-window): new function
++    (focus-forward): new argument pull-p. use pull-window
++    (pull-window-by-number): use pull-window
++    (other-hidden-window): new function
++    (other-window-in-frame): likewise
++    ("pull-hidden-next"): new command
++    ("pull-hidden-previous"): likewise
++    ("pull-hidden-other"): likewise
++    ("next-in-frame"): likewise
++    ("prev-in-frame"): likewise
++    ("other-in-frame"): likewise
++    (other-window): use the group's window list to find the other
++    window.
++    ("other"): show the frame indicator if a frame switch occurred.
++
++commit 45128c5b4964faf0929101baa8e8b3f551827eb7
++Author: sabetts <sabetts>
++Date:   Mon Jan 15 00:34:08 2007 +0000
++
++    (format-expand): handle the case when % is the
++    last char in the string.
++
++commit 2fbb6707be12ab9fff16fbacfac4a6038ac6d9b4
++Author: sabetts <sabetts>
++Date:   Sun Jan 14 23:09:05 2007 +0000
++
++    (*root-map*): bind pull-hidden-next,
++    pull-hidden-previous, pull-hidden-other, other-in-frame,
++    next-in-frame, prev-in-frame
++    (pull-window): new function
++    (focus-forward): new argument pull-p. use pull-window
++    (pull-window-by-number): use pull-window
++    (other-hidden-window): new function
++    (other-window-in-frame): likewise
++    ("pull-hidden-next"): new command
++    ("pull-hidden-previous"): likewise
++    ("pull-hidden-other"): likewise
++    ("next-in-frame"): likewise
++    ("prev-in-frame"): likewise
++    ("other-in-frame"): likewise
++    (other-window): use the group's window list to find the other
++    window.
++    ("other"): show the frame indicator if a frame switch occurred.
++
++commit d3ff5e6ee9186d508a0078c9ee101aee1c625fe5
++Author: sabetts <sabetts>
++Date:   Sun Jan 14 22:39:44 2007 +0000
++
++    (*root-map*): bind pull-hidden-next,
++    pull-hidden-previous, pull-hidden-other, other-in-frame,
++    next-in-frame, prev-in-frame
++    (pull-window): new function
++    (focus-forward): new argument pull-p. use pull-window
++    (pull-window-by-number): use pull-window
++    (other-hidden-window): new function
++    (other-window-in-frame): likewise
++    ("pull-hidden-next"): new command
++    ("pull-hidden-previous"): likewise
++    ("pull-hidden-other"): likewise
++    ("next-in-frame"): likewise
++    ("prev-in-frame"): likewise
++    ("other-in-frame"): likewise
++
++commit e9fecd1f419a33766cb5366a10952226460d1198
++Author: sabetts <sabetts>
++Date:   Thu Jan 11 19:00:08 2007 +0000
++
++    ("putsel"): new command
++    ("getsel"): likewise
++
++commit 2f1c76ae5571ef72b52b5e0d19396397f25268fe
++Author: sabetts <sabetts>
++Date:   Thu Jan 11 18:33:48 2007 +0000
++
++    properly error out when clx isn't detected.
++
++commit e0c68a4ec3aed94f98f5bb9f4f632931ffa36242
++Author: sabetts <sabetts>
++Date:   Wed Jan 10 00:29:59 2007 +0000
++
++    (font-exists-p): rewrite using xlib:list-font-names
++    (xwin-grab-keys): only grab the key if it has a corresponding keycode.
++
++commit 977219b29e302f13116629f9e86c26c20356d60d
++Author: sabetts <sabetts>
++Date:   Wed Jan 10 00:04:16 2007 +0000
++
++    (font-exists-p): rewrite using xlib:list-font-names
++
++commit f33cb28e9277edfdbd77d53bedcb2b8065227df9
++Author: sabetts <sabetts>
++Date:   Tue Jan 9 23:38:31 2007 +0000
++
++    (format-time-string): new function
++    (echo-date): call format-time-string
++
++commit ec9490e8606442fbc14aae4ae3895690513e16d1
++Author: sabetts <sabetts>
++Date:   Tue Jan 9 23:07:16 2007 +0000
++
++    * user.lisp (format-time-string): new function
++    (echo-date): call format-time-string
++    
++    * version.lisp (*version*): include a compile/load time.
++
++commit 38073d42c52305e8dacad43148ef76e13e41855a
++Author: sabetts <sabetts>
++Date:   Tue Jan 9 03:24:29 2007 +0000
++
++    *** empty log message ***
++
++commit c272222db476e9830d0fe21b0da06db45d0de671
++Author: sabetts <sabetts>
++Date:   Tue Jan 9 03:17:01 2007 +0000
++
++    (run-prog-collect-output): collect error output as well for sbcl and cmucl
++    (split-string): return ("") when splitting the empty string
++
++commit 0aa3d69f8debdaf054704864fb6d5219517ce963
++Author: sabetts <sabetts>
++Date:   Tue Jan 9 02:58:26 2007 +0000
++
++    * stumpwm.asd (:stumpwm): change around dependencies
++    
++    * mode-line.lisp (screen-mode-line-mode): new function
++
++commit 61c735e8201381260fa26ccea5d7c65da9b07ded
++Author: sabetts <sabetts>
++Date:   Mon Jan 8 00:34:08 2007 +0000
++
++    (font-exists-p): query something about the font. catch xlib:font-error conditions.
++
++commit 1436963358ed2895be2c7c40d167c5b19be7fcf7
++Author: sabetts <sabetts>
++Date:   Mon Jan 8 00:23:25 2007 +0000
++
++    (font-exists-p): query something about the font. catch xlib:font-error conditions.
++
++commit b0085e6e43c053313a24f86adda8b66e18ddd226
++Author: sabetts <sabetts>
++Date:   Sun Jan 7 23:18:49 2007 +0000
++
++    (font-exists-p): query something about the font. catch xlib:font-error conditions.
++
++commit 69b4473ac6b995ab4024080de4d2a3f32482b4c7
++Author: sabetts <sabetts>
++Date:   Sun Jan 7 22:07:00 2007 +0000
++
++    (argument-pop-or-read): new function
++    (argument-pop-rest-or-read): likewise
++    (run-or-raise): search only the current group when
++    *run-or-raise-all-groups* is NIL.
++
++commit c237ccdbcd7ea1f5ca8ebc83cfdd63e5079d0bd8
++Author: sabetts <sabetts>
++Date:   Sun Jan 7 22:03:51 2007 +0000
++
++    * primitives.lisp (*run-or-raise-all-groups*): new global var
++    
++    * user.lisp (argument-pop-or-read): new function
++    (argument-pop-rest-or-read): likewise
++    (run-or-raise): search only the current group when
++    *run-or-raise-all-groups* is NIL
++
++commit 440955a53bf61f02571726e82e906c168bb0084f
++Author: sabetts <sabetts>
++Date:   Sun Dec 17 03:54:38 2006 +0000
++
++    *** empty log message ***
++
++commit 73c83637585d42aad7b81def1584a0e70cea3e8f
++Author: sabetts <sabetts>
++Date:   Sun Dec 17 00:52:58 2006 +0000
++
++    *** empty log message ***
++
++commit 0fe3dd8f6e6584cd547792c510d3707a11089c6a
++Author: sabetts <sabetts>
++Date:   Sun Dec 17 00:51:01 2006 +0000
++
++    *** empty log message ***
++
++commit c20f6f28ab70945e6f0997c2bac9c51dda858c77
++Author: sabetts <sabetts>
++Date:   Sun Dec 17 00:44:15 2006 +0000
++
++    * core.lisp (setup-win-gravity): make sure the window doesn't go
++    off the left side of the screen.
++    
++    * user.lisp ("windows"): take optional fmt arg
++    (argument-line): new struct
++    (*command-type-hash*): new global
++    (argument-line-end-p): new function
++    (argument-pop): likewise
++    (argument-pop-rest): likewise
++    (define-stumpwm-type): new macro
++    (:window-number): new command type
++    (:number): likewise
++    (:string): likewise
++    (:key): likewise
++    (:window-name): likewise
++    (:group-name): likewise
++    (:group): likewise
++    (:frame): likewise
++    (:shell): likewise
++    (:rest): likewise
++    (parse-and-run-command): use argument-line and *command-type-hash*
++    to read in arguments
++    (interactive-command): remove screen argument. all callers updated.
++    ("colon"): use :rest as optional argument
++    (echo-groups): take a window format as an optional argument
++    ("groups"): take optional fmt arg
++    ("vgroups"): take optional group and window fmt args
++    ("windowlist"): take option fmt arg
++    
++    * input.lisp (input-forward-kill-word): new function
++    (input-backward-kill-word): likewise
++    (*input-map*): bind M-d and M-DEL
++    (read-one-line): catch :abort
++    (input-abort): throw :abort
++    
++    * user.lisp (programs-in-path): new function
++    ("exec"): change arg to type :shell
++    (parse-and-run-command): handle :shell type
++    ("insert"): new command
++    (window-send-string): new function
++    ("insert"): use window-send-string
++    
++    * input.lisp (completing-read): check the type of completions argument
++    (input-find-completions): handle the case where completions is a function
++
++commit 476d2d3ef644f663f39a19e5c1edc455dca11e91
++Author: sabetts <sabetts>
++Date:   Sat Dec 16 07:51:26 2006 +0000
++
++    * input.lisp (input-forward-kill-word): new function
++    (input-backward-kill-word): likewise
++    (*input-map*): bind M-d and M-DEL
++    
++    * input.lisp (completing-read): check the type of completions argument
++    (input-find-completions): handle the case where completions is a function
++
++commit 43a0fdafdce74bc7cdca6ad3c437cdb807f1ebc1
++Author: sabetts <sabetts>
++Date:   Sat Dec 16 05:52:02 2006 +0000
++
++    (programs-in-path): new function
++    ("exec"): change arg to type :shell
++    (parse-and-run-command): handle :shell type
++    ("insert"): new command
++    (window-send-string): new function
++    ("insert"): use window-send-string
++
++commit 57b3bc9994ba7d42c82be25a854c2cc258b9ece0
++Author: sabetts <sabetts>
++Date:   Sat Dec 16 05:16:08 2006 +0000
++
++    ("insert"): new command
++
++commit 6f469bf5d4fcbd216a11fb8b41b40960758affe6
++Author: sabetts <sabetts>
++Date:   Sat Dec 16 05:10:12 2006 +0000
++
++    * user.lisp (programs-in-path): new function
++    ("exec"): change arg to type :shell
++    (parse-and-run-command): handle :shell type
++    ("insert"): new command
++    
++    * primitives.lisp (pathname-is-executable-p): new function
++    
++    * input.lisp (completing-read): check the type of completions argument
++    (input-find-completions): handle the case where completions is a function
++
++commit bdd233c68ade35a59dbcdd369a7aab71395e9c9f
++Author: sabetts <sabetts>
++Date:   Fri Dec 15 05:46:35 2006 +0000
++
++    *** empty log message ***
++
++commit 735a4b3818e553864298e4e76a0909709aa9a523
++Author: sabetts <sabetts>
++Date:   Fri Dec 15 05:45:08 2006 +0000
++
++    * user.lisp (all-commands): new function
++    ("select"): change arg type to :window-name
++    (parse-and-run-command): use completing-read on some arg types
++    ("colon"): using completing-read
++    ("pull"): change arg type to :window-number
++    ("gselect"): change arg type to :group-name
++    
++    * input.lisp (*input-map*): bind TAB and ISO_Left_Tab to tab completion
++    (*input-last-command*): new global
++    (*input-completions*): likewise
++    (completing-read): new function
++    (read-one-line): set *input-last-command* to null
++    (input-point): new function
++    (input-validate-region): likewise
++    (input-delete-region): likewise
++    (input-substring): likewise
++    (*input-current-completions*): new global var
++    (*input-current-completions-idx*): likewise
++    (input-find-completions): new function
++    (input-complete): likewise
++    (input-complete-forward): likewise
++    (input-complete-backward): likewise
++    (process-input): set *input-last-command* to last command
++
++commit 5e16e252a76e85e8c07645a5f20d70ef4a7df778
++Author: sabetts <sabetts>
++Date:   Fri Dec 15 01:40:47 2006 +0000
++
++    * user.lisp ("snext"): show frame indicator
++    ("sprev"): likewise
++    ("sother"): likewise
++    
++    * stumpwm.lisp (stumpwm): pass host into init-screen. don't set DISPLAY env var
++    
++    * primitives.lisp (screen): new slot, host
++    (screen-display-string): new function
++    (run-prog): set the DISPLAY variable for the current screen
++    (run-prog-collect-output): likewise
++    
++    * core.lisp (init-screen): new arg, host
++    (:key-press): remove root arg
++    
++    * user.lisp ("sprev"): call sort-screens
++    
++    * stumpwm.lisp (stumpwm): pass an id to init-screen. focus a
++    window in each screen.
++    
++    * primitives.lisp (screen): new slot, id
++    (*current-screen*): remove global
++    
++    * core.lisp (no-focus): call move-screen-to-head
++    (sort-screens): new function
++    (next-screen): use sort-screens
++    (move-screen-to-head): use remove instead of delete
++    (switch-to-screen): focus the appropriate window directly
++    (screen-set-focus): call move-screen-to-head
++    (current-screen): the current screen is now the car of *screen-list*
++    (init-screen): new arg, id
++    (:key-press): do not bind *current-screen*
++    
++    * user.lisp (fmt-group-list): new function
++    (run-or-raise): search all groups for a matching window
++
++commit b755dc787a5c925d8ae05d2ef0fa7ca460c7da14
++Author: sabetts <sabetts>
++Date:   Fri Dec 15 00:07:05 2006 +0000
++
++    * user.lisp ("sprev"): call sort-screens
++    
++    * stumpwm.lisp (stumpwm): pass an id to init-screen. focus a
++    window in each screen.
++    
++    * primitives.lisp (screen): new slot, id
++    (*current-screen*): remove global
++    
++    * core.lisp (no-focus): call move-screen-to-head
++    (sort-screens): new function
++    (next-screen): use sort-screens
++    (move-screen-to-head): use remove instead of delete
++    (switch-to-screen): focus the appropriate window directly
++    (screen-set-focus): call move-screen-to-head
++    (current-screen): the current screen is now the car of *screen-list*
++    (init-screen): new arg, id
++    (:key-press): do not bind *current-screen*
++    
++    * user.lisp (fmt-group-list): new function
++    (run-or-raise): search all groups for a matching window
++
++commit a624c1bcaf6918e30f0590e6f4a35ee2e938449f
++Author: sabetts <sabetts>
++Date:   Thu Dec 14 12:03:38 2006 +0000
++
++    *** empty log message ***
++
++commit 22b8b3e02e1c260d9a728e5b0c8afe5b11ffa069
++Author: sabetts <sabetts>
++Date:   Thu Dec 14 11:22:46 2006 +0000
++
++    *** empty log message ***
++
++commit e3d5a0c0f144b9d55589faaf681f306dbc56318b
++Author: sabetts <sabetts>
++Date:   Thu Dec 14 11:10:07 2006 +0000
++
++    * mode-line.lisp (*screen-mode-line-formatters*): add %g to print the group list
++    
++    * user.lisp (fmt-group-list): new function
++    (run-or-raise): search all groups for a matching window
++
++commit 20fa831e7d679bfb65d306d6742ee2335d77572d
++Author: sabetts <sabetts>
++Date:   Thu Dec 14 08:51:09 2006 +0000
++
++    *** empty log message ***
++
++commit 22cda31724c810ce73bf934e2a7e140dfc43b2c0
++Author: sabetts <sabetts>
++Date:   Wed Dec 13 00:41:52 2006 +0000
++
++    *** empty log message ***
++
++commit 71eb75082c245ebcffa8d0b5a9942a87c3a89ad7
++Author: sabetts <sabetts>
++Date:   Wed Dec 13 00:39:47 2006 +0000
++
++    ("windowlist"): display a message when there are no windows to select from
++
++commit 58324cb9024580def2b518dd7ea88dd71894dc42
++Author: sabetts <sabetts>
++Date:   Wed Dec 13 00:33:54 2006 +0000
++
++    * stumpwm.lisp (stumpwm): update modifier mapping before calling init-screen
++    
++    * primitives.lisp (modifiers): new slot, numlock
++    
++    * kmap.lisp (x11-mods): add optional arg with-numlock
++    
++    * core.lisp (screen-y): handle the case when the mode-line is on the bottom
++    (remove-window): reparent the window back to root
++    (xwin-grab-keys): grab keys including the numlock modifier
++
++commit b1233e3362fddec605d86916a8a4c194ff9f0fc1
++Author: sabetts <sabetts>
++Date:   Wed Dec 13 00:10:16 2006 +0000
++
++    (screen-y): handle the case when the mode-line is on the bottom
++    (remove-window): reparent the window back to root
++
++commit 1f7e870a23bf6d7e8dc06a6e73f54694d0eebe47
++Author: sabetts <sabetts>
++Date:   Fri Dec 1 21:10:20 2006 +0000
++
++    * user.lisp (focus-last-frame): show the frame indicator
++    
++    * user.lisp (*root-map*): bind TAB to fother
++    (focus-last-frame): new function
++    ("fother"): new command
++
++commit a968f2961c8b278ae7928b27438a7aeaac7a9dde
++Author: sabetts <sabetts>
++Date:   Fri Dec 1 20:57:15 2006 +0000
++
++    * core.lisp (raise-window): raise the window's parent
++    (split-frame): set the group's last frame to the new frame.
++    
++    * user.lisp (*root-map*): bind TAB to fother
++    (focus-last-frame): new function
++    ("fother"): new command
++    
++    * core.lisp (focus-frame): record the last frame
++
++commit 7f6316d1a893202eae2054858a8557b8effe666f
++Author: sabetts <sabetts>
++Date:   Fri Dec 1 20:40:53 2006 +0000
++
++    * user.lisp (*root-map*): bind TAB to fother
++    (focus-last-frame): new function
++    ("fother"): new command
++    
++    * primitives.lisp (tile-group): add last-frame slot
++    
++    * core.lisp (focus-frame): record the last frame
++
++commit 37f99b5ecb7ec560c6ab49e777d42aa6514cf795
++Author: sabetts <sabetts>
++Date:   Thu Nov 30 20:16:29 2006 +0000
++
++    * user.lisp ("snext"): new command
++    ("sprev"): likewise
++    ("sother"): likewise
++    
++    * core.lisp (next-screen): new function
++    (move-screen-to-head): likewise
++    (switch-to-screen): likewise
++    
++    * user.lisp (run-commands): add a 'do' to the loop
++
++commit b0b8c13402c838ddb734a140f0c8d600d7043613
++Author: sabetts <sabetts>
++Date:   Thu Nov 30 18:35:17 2006 +0000
++
++    (run-commands): add a 'do' to the loop
++
++commit 088a380141f6de0c5cab8dd3705471d120516ed2
++Author: sabetts <sabetts>
++Date:   Mon Nov 27 02:56:04 2006 +0000
++
++    * user.lisp (*root-map*): bind C-t " to windowlist
++    ("next"): if no window is focused call other-window
++    ("prev"): likewise
++    (*menu-map*): new keymap
++    (menu-state): new struct
++    (bound-check-menu): new function
++    (menu-up): likewise
++    (menu-down): likewise
++    (menu-finish): likewise
++    (menu-abort): likewise
++    (select-from-menu): likewise
++    ("windowlist"): new command
++    (run-commands): new function
++    
++    * user.lisp (focus-next-window): cycle through all the frame windows
++    (focus-prev-window): likewise
++    (focus-forward): show the frame indicator when switching frames
++    (run-or-raise): likewise
++    ("web"): use "Firefox-bin" class
++
++commit cc20d77cd0a01ae95940f7dd3a7ea7ea51904847
++Author: sabetts <sabetts>
++Date:   Mon Nov 27 01:39:35 2006 +0000
++
++    * user.lisp (*root-map*): bind C-t " to windowlist
++    ("next"): if no window is focused call other-window
++    ("prev"): likewise
++    (*menu-map*): new keymap
++    (menu-state): new struct
++    (bound-check-menu): new function
++    (menu-up): likewise
++    (menu-down): likewise
++    (menu-finish): likewise
++    (menu-abort): likewise
++    (select-from-menu): likewise
++    ("windowlist"): new command
++    
++    * primitives.lisp (*supress-echo-timeout*): new global
++    
++    * core.lisp (echo-string-list): dont reset timeout if *supress-echo-timeout* is T
++    (read-from-keymap): new function
++    (handle-keymap): only use the kmap's symbol value if it's bound and a hash-table
++    
++    * user.lisp (focus-next-window): cycle through all the frame windows
++    (focus-prev-window): likewise
++    (focus-forward): show the frame indicator when switching frames
++    (run-or-raise): likewise
++    ("web"): use "Firefox-bin" class
++    
++    * primitives.lisp (*window-formatters*): use window-res
++    
++    * core.lisp (export-selection): transform the characters to card8's
++
++commit d55fd267241878a03a7044532ae47a1d369e9a60
++Author: sabetts <sabetts>
++Date:   Sun Nov 26 23:46:51 2006 +0000
++
++    *** empty log message ***
++
++commit 130670b2cac0d0a50db13d3579fc2de5cbf48bc9
++Author: sabetts <sabetts>
++Date:   Sun Nov 26 23:09:38 2006 +0000
++
++    * user.lisp (focus-next-window): cycle through all the frame windows
++    (focus-prev-window): likewise
++    (focus-forward): show the frame indicator when switching frames
++    (run-or-raise): likewise
++    ("web"): use "Firefox-bin" class
++    
++    * primitives.lisp (*window-formatters*): use window-res
++
++commit 42f2d4421f6248b24073dd735e7b11986676e2a8
++Author: sabetts <sabetts>
++Date:   Sun Nov 26 23:06:59 2006 +0000
++
++    (export-selection): transform the characters to card8's
++
++commit b141579815242b083dfb7761bc509e1570d15399
++Author: sabetts <sabetts>
++Date:   Sun Nov 26 20:40:50 2006 +0000
++
++    (no-focus): pass the last focused window in as an argument. callers updated.
++
++commit dba8c5bd3b423991990b7ef4c6feaabfafa32bda
++Author: sabetts <sabetts>
++Date:   Sun Nov 26 03:18:40 2006 +0000
++
++    *** empty log message ***
++
++commit 92d66815962009333439e1fb419756019afb3a08
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 23:14:10 2006 +0000
++
++    * core.lisp (add-group): check the arg types
++
++commit 127d090ac980dd8f6f2734b8c7539be52e145ffa
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 23:09:10 2006 +0000
++
++    *** empty log message ***
++
++commit c339d5b371a69bc0c5d5d17c49990659c318c890
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 23:03:53 2006 +0000
++
++    *** empty log message ***
++
++commit 583c06c6f447af5db8ff83996b69334a339c81fe
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 22:57:30 2006 +0000
++
++    *** empty log message ***
++
++commit 276f6edb3e01ab2cfa6a84ac33e11bfa2ee5789a
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 22:57:22 2006 +0000
++
++    * user.lisp (*group-map*): add bindings to move and kill groups
++    (parse-and-run-command): new option :group
++    (group-forward): call next-group
++    ("gmove"): new command
++    ("gkill"): likewise
++    
++    * primitives.lisp (run-hook-with-args): ignore errors
++    (run-hook): likewise
++    
++    * core.lisp (move-window-to-group): new function
++    (next-group): likewise
++    (merge-groups): likewise
++    (kill-group): likewise
++    (window-in-current-group-p): likewise
++    (raise-window): call window-in-current-group-p
++    (unhide-window): only actually unhide the window when the window is in the current group
++    (hide-window): likewise, but hide
++    (remove-window): bug fix involving windows in non-current groups
++    (no-focus): only actually focus nothing if the group is current
++    (focus-window): call screen-set-focus
++    (screen-set-focus): new function
++
++commit f4182b38187da9aeb6e0842878d3d8f7e4f0ff55
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 10:00:55 2006 +0000
++
++    * user.lisp ("gnext"): sort the windows
++    ("gprev"): likewise
++    
++    * core.lisp (send-fake-key): use window-xwin
++    (switch-to-group): only hide/unhide windows tagged as visible
++
++commit fd1cb71eff0f3140565057f9ba0487ce0dcbca3b
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 07:38:56 2006 +0000
++
++    *** empty log message ***
++
++commit f8ca4d106955228d62b749f85ca2800bb979c68f
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 07:09:15 2006 +0000
++
++    * core.lisp (send-fake-key): use window-xwin
++
++commit d6af1f91e20347d6d5ae22fab99ed2bd51e6cc84
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 07:02:28 2006 +0000
++
++    *** empty log message ***
++
++commit 8617c9967c684c4e91a542d034358c77ad21b812
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 06:59:50 2006 +0000
++
++    * primitives.lisp (*top-level-error-action*): default value is :abort
++    
++    * stumpwm.lisp (stumpwm-internal-loop): handle the :abort value of *top-level-error-action*
++
++commit 22f3eb195351a25d84ffb63f7609fc6f9a9425bc
++Author: sabetts <sabetts>
++Date:   Sat Nov 25 06:36:07 2006 +0000
++
++    * mode-line.lisp (toggle-mode-line): update each group's frame list
++    (redraw-mode-line-for): set *current-mode-line-formatters* to the current group
++    
++    * user.lisp (*root-map*): add lastmsg and group related bindings
++    (define-stumpwm-command): remove screen argument. all callers updated.
++    (parse-and-run-command): set *last-command*
++    (*groups-map*): new global
++    (group-forward): new function
++    ("gnew"): new command
++    ("gnewbg"): likewise
++    ("gnext"): likewise
++    ("gprev"): likewise
++    (echo-groups): new function
++    ("groups"): new command
++    ("vgroups"): likewise
++    (select-group): new function
++    ("gselect"): new command
++    
++    * primitives.lisp (group): new struct
++    (tile-group): likewise
++    (window): remove screen. add group. all callers updated.
++    (screen): remove frame-tree, window-hash. add groups,
++    current-group. all callers updated. add last-msg
++    last-msg-highlights.
++    (*current-screen*): new global
++    (find-free-number): add optional min argument
++    (*group-formatters*): new global
++    (*group-format*): likewise
++    (*last-command*): likewise
++    (*max-last-message-size*): likewise
++    (*record-last-msg-override*): likewise
++    
++    * core.lisp (move-group-to-head): new function
++    (sort-groups): likewise
++    (fmt-group-status): likewise
++    (find-free-group-number): likewise
++    (group-current-window): likewise
++    (switch-to-group): likewise
++    (add-group): likewise
++    (window-screen): likewise
++    (setf xwin-state): dont call window-xwin on win
++    (xwin-unhide): new function
++    (unhide-window): call xwin-unhide
++    (xwin-hide): new function
++    (hide-window): call xwin-hide
++    (group-add-window): new generic
++    (group-add-window): new method
++    (add-window): call group-add-window
++    (push-last-message): new function
++    (echo-nth-last-message): likewise
++    (echo-string-list): take a list of lines to highlight. call
++    push-last-message
++    (init-screen): create initial group
++    (:configure-request): only grant raise request if the window's
++    group is the current group
++    (:key-press): bind *current-screen*
++
++commit 71981fabf1bad286d4cf540b6e551e1b478782b0
++Author: sabetts <sabetts>
++Date:   Fri Nov 24 01:19:01 2006 +0000
++
++    * primitives.lisp (window): add normal-hints slot
++    
++    * user.lisp (kill-current-window): pass the xwin to xwin-kill
++    
++    * core.lisp (send-client-message): pass the xwin to send-event
++    (xwin-screen): first try searching for the screen using the window
++    (xwin-send-configuration-notify): rename from send-configure-notify
++    (geometry-hints): use the window's cached normal-hints
++    (add-window): store wm-normal-hints
++    (remove-window): set the screen-focus to nil
++    (delete-window): rename from xwin-delete. callers updated.
++    (:configure-request): don't honour border-width requests
++    (update-window-properties): new function
++    (:property-notify): call update-window-properties to handle wm properties
++    
++    * user.lisp (*resize-map*): new global
++    (*resize-backup*): new global
++    ("iresize"): new command
++    ("abort-iresize"): likewise
++    ("exit-iresize"): likewise
++    
++    * primitives.lisp (window): new struct. used almost everywhere
++    xlib:windows were. dependant code updated.
++    (print-object frame): new method
++    (print-object window): likewise
++    (screen): add message-gc and focus slots
++    (print-object screen): new method
++    
++    * user.lisp (parse-and-run-command): new parameter, :optional
++    (interactive-command): print the command, in the case of an error
++    ("colon"): make parameter the initial input and :optional
++    
++    * core.lisp (screen-height): use screen-root
++    (screen-width): likewise
++    (xwin-name): rename from window-name
++    (xwin-class): rename from window-class
++    (xwin-res-name): rename from window-res-name
++    (setf xwin-state): new function
++    (xwin-state): renamed from window-state
++    (xwin-type): renamed from window-type
++    (xwin-grab-keys): new function
++    (xwin-ungrab-keys): likewise
++    (xwin-delete): renamed from window-delete
++    (xwin-kill): renamed from window-kill
++    (find-window): new function
++    (update-colors-for-screen): update the message-gc
++    
++    * stumpwm.lisp (stumpwm): use write-line
++
++commit a71e89d475f9d4dc59abafc908fc4cbeccbad49a
++Author: sabetts <sabetts>
++Date:   Thu Nov 23 15:12:27 2006 +0000
++
++    * user.lisp (*resize-map*): new global
++    (*resize-backup*): new global
++    ("iresize"): new command
++    ("abort-iresize"): likewise
++    ("exit-iresize"): likewise
++    
++    * user.lisp (parse-and-run-command): new parameter, :optional
++    (interactive-command): print the command, in the case of an error
++    ("colon"): make parameter the initial input and :optional
++    
++    * core.lisp (screen-height): use screen-root
++    (screen-width): likewise
++    (xwin-name): rename from window-name
++    (xwin-class): rename from window-class
++    (xwin-res-name): rename from window-res-name
++    (setf xwin-state): new function
++    (xwin-state): renamed from window-state
++    (xwin-type): renamed from window-type
++    (xwin-grab-keys): new function
++    (xwin-ungrab-keys): likewise
++    (xwin-delete): renamed from window-delete
++    (xwin-kill): renamed from window-kill
++    (find-window): new function
++    (update-colors-for-screen): update the message-gc
++
++commit a168fdcf1f2d7f5fe8fb7ee19f36103258bb8d22
++Author: sabetts <sabetts>
++Date:   Thu Nov 23 14:10:45 2006 +0000
++
++    (stumpwm): use write-line
++
++commit f4ecc5ead96f9a0cf7e517d1b84a7cd2de7cb220
++Author: sabetts <sabetts>
++Date:   Thu Nov 23 14:08:26 2006 +0000
++
++    * primitives.lisp (window): new struct
++    (print-object frame): new method
++    (print-object window): likewise
++    (screen): add message-gc and focus slots
++    (print-object screen): new method
++    
++    * user.lisp (parse-and-run-command): new parameter, :optional
++    (interactive-command): print the command, in the case of an error
++    ("colon"): make parameter the initial input and :optional
++    
++    * input.lisp (draw-input-bucket): use the message-gc
++    
++    * core.lisp (screen-height): use screen-root
++    (screen-width): likewise