commit 48683d5fc8d410f993a38e87468041f92eca70af
Author: Shawn Betts <sabetts@gmail.com>
Date:   Mon Aug 3 11:54:07 2009 -0700

    update NEWS

commit 891fc44e9ee3891b3d06c55d18421c5de1497bee
Author: Shawn Betts <sabetts@gmail.com>
Date:   Mon Aug 3 11:54:02 2009 -0700

    update AUTHORS

commit b51118f9c510b51394ce23c5acfe333de49bb717
Author: Shawn Betts <sabetts@gmail.com>
Date:   Wed Jul 15 11:15:33 2009 -0700

    fix restart-hard for newer versions of sbcl

commit 3c4a53cdf32c485252510a92693e007e7a6664c9
Author: Shawn Betts <sabetts@gmail.com>
Date:   Mon Jul 13 01:02:09 2009 -0700

    make completing-read trim spaces off the beginning and end of the input
    
    callers updated.

commit feb599fc0eb03b6a139144016da6917bd125ead5
Author: Shawn Betts <sabetts@gmail.com>
Date:   Mon Jul 13 00:46:12 2009 -0700

    fix list-modules
    
    under sbcl it borked with an error.

commit 0bcdcd197c100b39063ba3ac1c6aae86cab90ca5
Author: Ben Spencer <dangerous.ben@gmail.com>
Date:   Wed Jun 3 17:51:11 2009 +0100

    Fixed non-implementation specific version of bytes-to-string.
    
    I'm not really sure if this is the right thing to do, but it seems to
    work for me under CCL.  The old version was totally broken.

commit 32b021d37643e5d6b8715972753d8b0ede25b573
Author: Shawn Betts <sabetts@gmail.com>
Date:   Mon Jul 13 00:33:13 2009 -0700

    make programs-in-path return a sorted list
    
    This fixes the problem of things like emacs22-gtk tab completing before emacs

commit e37f4fc8e27029c76cafe363af3816432ddaf6fa
Author: Shawn Betts <sabetts@gmail.com>
Date:   Mon Jul 13 00:32:23 2009 -0700

    make directory-no-deref work with sbcl versions that don't have :resolve-symlinks

commit 7fbecec233339e4587288e2e520833af4581774d
Author: Ben Spencer <dangerous.ben@gmail.com>
Date:   Tue Jun 16 23:39:06 2009 +0100

    Don't dereference symlinks in program completion list.
    
    The directory function dereferences symlinks in its results, so if you
    have /usr/bin/firefox -> ../lib/iceweasel/iceweasel (as debian does),
    you won't be able to complete on firefox.  This patch fixes that.
    I've included support for as many lisp implementations as I could, but
    I've only tested this end-to-end on sbcl, clisp and ccl.

commit 161212ab81afd04881c813b4b13e537ea9b86f30
Author: Shawn Betts <sabetts@gmail.com>
Date:   Sun Jul 12 22:02:04 2009 -0700

    refactor add-group and gnew commands
    
    add-group now
    
    * produces an error if the name is empty
    * switches to the new group if BACKGROUND argument is nil
    
    callers are updated

commit a5e1a2e149ef51eecb3730163f5e9dbb165e73d6
Author: Shawn Betts <sabetts@gmail.com>
Date:   Sun Jul 12 21:18:19 2009 -0700

    ignore capslock modifier when grabbing top level bindings
    
    capslock is now ignored the same way numlock is.

commit 75fb86ec4092bdd0da0dae0cfd5a252bcffe278f
Author: Shawn Betts <sabetts@gmail.com>
Date:   Sun Jul 12 05:46:16 2009 -0700

    make screen a class.

commit ce32b78f999701f5c61871b038f97c4ad5d95108
Author: Shawn Betts <sabetts@gmail.com>
Date:   Sun Jul 12 04:43:43 2009 -0700

    rename soft-restart to restart-soft. add restart-hard. add execv and argv functions.
    
    You can now HUP the stumpwm process with restart-hard

commit d449f456819c5813c198e3718223f4ad2b61e4b7
Author: Shawn Betts <sabetts@gmail.com>
Date:   Sun Jul 5 18:14:17 2009 -0700

    move head related functions from screen.lisp to head.lisp

commit c7f3a17c2df5585dc784d09cd64f12ca2bb855f6
Author: Dirk Sondermann <ds-stumpwm@dyximaq.de>
Date:   Sun Jun 14 13:09:07 2009 +0200

    Fix building the manual with latest SBCL
    
    pathname-is-executable-p is no longer a simple
    function in the sense of SBCL, but has become a closure. Therefore,
    sb-impl::%simple-fun-arglist fails at extracting the arglist and
    yields a value that isn't even a list.

commit 2eae3e6a6356ade7b70d52ed7b1053928d33a1ab
Author: Rupert Swarbrick <rswarbrick@googlemail.com>
Date:   Sat Jun 6 09:57:46 2009 +0100

    fix compilation with new SBCL's
    
    Compilation seems to have died with new SBCLs due to a change in the
    directory code. I think the following patch should fix it.

commit 8ae18f4229792929779ee9445ad6e9e00e5029ba
Author: Shawn Betts <sabetts@gmail.com>
Date:   Mon Jun 1 13:02:28 2009 -0700

    fix up the loop in describe-key

commit 37888f73090540edc1877385f3f9a46efef74037
Author: Ben Spencer <dangerous.ben@gmail.com>
Date:   Sat May 30 19:06:17 2009 +0100

    Modified describe-key and where-is to check group type specific keymaps.

commit a49d9554c9428ec640d513a8df238381c29ce71e
Author: Shawn Betts <sabetts@gmail.com>
Date:   Mon Jun 1 12:49:42 2009 -0700

    add Michael Raskin's window-tags.lisp to contrib/

commit 63548fd75aa98587b415332946d4de7f2b7ce641
Author: David Vazquez <davazp@es.gnu.org>
Date:   Sat May 16 04:52:08 2009 +0200

    export current-head symbol

commit b2d92acb80b0e5675a08a77dad97954d92813201
Author: Ben Spencer <dangerous.ben@gmail.com>
Date:   Sat May 23 19:01:50 2009 +0100

    Avoid crash when window placement rules specify a non-existent frame.

commit 96d8518ce34be400d16ae97c076007c713e283b2
Author: Shawn Betts <sabetts@gmail.com>
Date:   Thu May 14 18:07:08 2009 -0700

    fix programs-in-path for clisp

commit 48cf09424ae480ae37e17419d8f68a773cdbcf7e
Author: Shawn Betts <sabetts@gmail.com>
Date:   Wed May 13 13:56:08 2009 -0700

    in programs-in-path, use :wild for both name and type when searching for executables.

commit 23f251d371e8de121134fdb6f146b88a7f35e0ee
Author: Antti Nykanen <aon@iki.fi>
Date:   Sun May 3 15:19:08 2009 +0300

    Make the info command accept a format string as an argument

commit 482df740882c2e9db6b58e89743d7f968fe34fa8
Author: Antti Nykanen <aon@iki.fi>
Date:   Sat May 2 19:45:57 2009 +0300

    Don't draw frame outlines if outline width is 0
    
    This allows you to call (set-frame-outline-width 0) to get rid of the
    outlines.

commit 88dae82c11addae3cffb3930205716cd502852f4
Author: Shawn Betts <sabetts@gmail.com>
Date:   Thu Apr 30 14:44:17 2009 -0700

    fix documentation typo

commit 46dafe15e869004d2e0556fc860c49eec02ac59d
Author: Shawn Betts <sabetts@gmail.com>
Date:   Tue Apr 28 22:06:02 2009 -0700

    fix with-gcontext in wrappers.lisp for clisp 1.47

commit e6d6062bd665f014e935a7f2e5b3b395858dd18f
Author: Ben Spencer <dangerous.ben@gmail.com>
Date:   Mon Apr 27 10:34:49 2009 +0100

    Added frame-windowlist command.

commit f820eb41245cc06a709a078abbe132886123794a
Author: Friedrich Delgado Friedrichs <friedel@nomaden.org>
Date:   Sat Apr 25 01:17:05 2009 +0200

    ensure that name argument to defprogram-shortcut can be a symbol

commit ea4524a0139997b5e392407b7fb768c2d4a8f7c0
Author: Shawn Betts <sabetts@gmail.com>
Date:   Fri Apr 24 17:34:06 2009 -0700

    in dformat, restrict debugging output to standard-char's

commit 7a745e2c97de7c82561cd62d3a6d8988aea78fd3
Author: Egon Hyszczak <gone404@gmail.com>
Date:   Wed Apr 15 19:10:12 2009 -0400

    in wrappers.lisp use the posix instead of os package
    
    os is a nickname of the posix package but it was breaking with -K full on gentoo.

commit 3834c21fbd5c0ad0bce56124198e719e25e8a20f
Author: Vitaly Mayatskikh <v.mayatskih@gmail.com>
Date:   Sat Mar 14 19:25:47 2009 +0100

    Handle convert errors in bytes-to-string
    
    StumpWM crashes in bytes-to-string when it takes non-convertable
    sequence for current locale. The same error handler exists in
    utf8-to-string, apply it to bytes-to-string also.

commit 2aed028cb90bc37f53bf484d1c3e977de92daf88
Author: Shawn Betts <sabetts@gmail.com>
Date:   Fri Apr 24 14:53:24 2009 -0700

    implement intern1 and use it instead of intern

commit 890b86396d0383ca652437c4d0905d476629be0e
Author: John Li <jli@circularly.org>
Date:   Tue Feb 17 20:34:57 2009 -0500

    Fix crash when using fmt-head-window-list-hidden-windows on float group.
    
    Gotta love fixes that involve throwing away (my) bad code :). Also
    update the docstring for *hidden-window-color*.

commit 89ca5e98637a280bb47f9d2358b83f90f9eed25d
Author: John Li <jli@circularly.org>
Date:   Tue Feb 17 20:33:53 2009 -0500

    Modify defprogram-shortcut to define a run-or-pull command/binding.
    
    This is an optional argument. Use the "pullp" keyword to enable. Defaults to old
    behavior (no run-or-pull command defined).

commit 2fa9853a2608d2619e74f40a43e1b4103da2afdd
Author: John Li <jli@circularly.org>
Date:   Tue Feb 17 20:35:17 2009 -0500

    Clean up run-or-raise, add run-or-pull.
    
    This splits the labeled "find-windows" and "sort-windows-by-group" fns
    from run-or-raise out into a real fn: "find-matching-windows". Much
    cleaner, yay. The newly defined "run-or-pull" uses it.

commit 512936e20e627019e26780995f7b0ecfae01a858
Author: Shawn Betts <sabetts@gmail.com>
Date:   Wed Apr 22 02:42:30 2009 -0700

    add a workaround for clisp's with-gcontext
    
    the version in 1.44 is broken

commit a332f8ab59ec4bb7df8a7ef91732e191da07a985
Author: Vitaly Mayatskikh <v.mayatskih@gmail.com>
Date:   Mon Feb 23 15:57:33 2009 +0100

    double buffer the mode-line and message windows
    
    fixed the darn flickering mode-line and message windows,

commit 532737a290c54a4f6172a05400daa6f5986e0ddb
Author: Vitaly Mayatskikh <v.mayatskih@gmail.com>
Date:   Mon Feb 23 09:47:04 2009 +0100

    contrib/mpd.lisp sort artists and genres during browsing
    
    This patch applies on recent Morgan's patches for database browsing
    and sorts artists and genres lists.

commit ee3ed285ae238d5c40ed154badd12a24b5c7e8f1
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Mon Feb 23 19:18:31 2009 +0100

    Changed default key for :mpd-browse-add from SPC to S-SPC.
    
    The space key may be usefull for regex search when browsing the database
    so using it as a default menu key is probably not a good idea.

commit f339d974fde54a932ade26e82c01eedac8f7eac5
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Sat Feb 21 10:41:04 2009 +0100

    Fixed mpd-play-track command.
    
    1- call isn't required here. mpd playlists seems to start at 1

commit d857910cb62271522fa6d8982885466e6b56f5b9
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Sat Feb 21 00:15:26 2009 +0100

    Added playlist edition through mpd-browse-playlist menu.
    
    Also:
     - cleaned mpd-menu code
     - added mpd-remove-track, mpd-swap-tracks commands
     - added the possibility to add things to the playlist while browsing
       without exiting the menu

commit dc5faaa22c34d742dd2914e67d2aa90a16d0d39b
Author: Shawn Betts <sabetts@gmail.com>
Date:   Wed Apr 22 02:06:19 2009 -0700

    Revert "Added playlist edition through mpd-browse-playlist menu."
    
    This reverts commit 2a36c53eff022d74c9e2bdba0bef9de1c3918c48.

commit 2a36c53eff022d74c9e2bdba0bef9de1c3918c48
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Sat Feb 21 00:15:26 2009 +0100

    Added playlist edition through mpd-browse-playlist menu.
    
    Also:
     - cleaned mpd-menu code
     - added mpd-remove-track, mpd-swap-tracks commands
     - added the possibility to add things to the playlist while browsing
       without exiting the menu

commit daa93a8ba3c803bffeda39144ab46410d899dcb9
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Thu Feb 19 13:21:31 2009 +0100

    Implemented proper database browsing through menu.
    
    It adds two keybinding when using one of the mpd-browse-* command
    (except mpd-browse-playlist):
     - Left: go back to previous browsing level
     - Right: go to the next browsing level
    
    Levels are organised as follow:
     Genre -> Artist -> Album -> Tracks

commit c45482464aca797152c21cf04e9e5249bfa11bfd
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Tue Feb 17 13:55:37 2009 +0100

    Added maildir modeline formatters in contrib/.
    
    This module allows to display number of e-mails (new,total,tmp)
    of maildir mailboxes in the mode-line. See contrib/maildir.lisp
    for details.

commit 2a9c0ab4a73b383bb4c5db3d9c97b547470f1c08
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Tue Feb 17 13:52:01 2009 +0100

    Defined not-implemented condition.

commit b2e244e380c5abfed17e49abad6e9a9eb29a7527
Author: Shawn Betts <sabetts@gmail.com>
Date:   Wed Apr 22 01:44:05 2009 -0700

    add Vitaly Mayatskikh's contrib module, mem.lisp
    
    For keeping track of memory usage on the modeline

commit 2d7098b12b0e9ba6f252ea5d68dec10cfa16c447
Author: Julian Stecklina <js@alien8.de>
Date:   Wed Jan 28 21:09:10 2009 +0100

    Fixed Linux procfs version of battery-portable.

commit 9044653a7470a828313e2bf58f60a3d028c1eb92
Author: Shawn Betts <sabetts@gmail.com>
Date:   Wed Apr 22 01:31:36 2009 -0700

    add Vitaly Mayatskikh's net.lisp contrib module
    
    A Network activity formatter for the mode-line

commit 8e743ba180f9666a328f65c6cacecac53f4059e9
Author: Shawn <sabetts@juicebox>
Date:   Mon Feb 23 15:06:12 2009 -0800

    clean up asdf dependencies.

commit c4c1feaf3db6d3744b872f80b071734c342708d4
Author: Shawn <sabetts@juicebox>
Date:   Wed Jan 21 15:04:47 2009 -0800

    build the binary before the documentation

commit f94a5cbebd47b53f20c3571b34c4fa658491a4da
Author: John Li <jli@cirularly.org>
Date:   Sat Jan 17 19:30:52 2009 -0500

    Set a default *frame-number-map* to be 36 alphanum chars.
    
    If there are >10 frames, there is no way to select frames with number
    >9. Now users are covered til frame 37. Behavior is indistinguishable
    from current default until there are >10 frames.

commit f5d75ac6fc14f92749d2c06dd2aa456e38d391ee
Author: John Li <jli@cirularly.org>
Date:   Sat Jan 17 19:30:40 2009 -0500

    Fix scary exchange-direction error messages.
    
    Trying to exchange-direction (1) when no window is in the focused
    frame, (2) in a direction with no windows, or (3) off the edge of the
    screen causes an ugly error message.
    
    So, with this frame setup:
    ┌────────┬─────────┐
    │(empty) │ (window)│
    │        │         │
    │        │ :)      │
    │        │     =D  │
    │        │         │
    │        │ bobf<3  │
    │        │         │
    └────────┴─────────┘
    
    Trying to exchange-direction in any direction with either frame
    selected causes an error message (3 different ones depending on the
    action, too!), for a total of 8 ways to get yelled at :).
    
    PROOF OF FEROCIOUS WILL

commit fb264a75e6bd9d4f884942b19498ff40caef3782
Author: Shawn <sabetts@juicebox>
Date:   Tue Jan 20 00:03:44 2009 -0800

    add refresh and redisplay commands
    
    Thanks to Michael Raskin for the original patch (and to his patience).

commit d137b5951c89229fd7f1655dbc9631b4be5b2fe9
Author: Shawn <sabetts@juicebox>
Date:   Mon Jan 19 01:35:42 2009 -0800

    handle i18n characters in the frame indicator

commit 4444af8db992ba3ab77788eac20bd3163c35c9c9
Author: TC-Rucho <tc.rucho@gmail.com>
Date:   Fri Jan 16 15:46:43 2009 -0800

    Add more Logitech G15 keyboard keysyms

commit 072961ea242b914aa14b0d8a17ec533779081baa
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Sun Nov 16 16:34:19 2008 +0100

    Some more explanations in contrib/sbclfix.lisp (and some cleanup).

commit b706be6ce7efee994ed37e3d8bd24a049b38dfe3
Author: Shawn <sabetts@juicebox>
Date:   Fri Jan 16 15:22:23 2009 -0800

    fix find-module for sbcl

commit a8ddb80ef9a68cda7e497d8d7d70f529e9b0dbe2
Author: Rupert Swarbrick <rswarbrick@googlemail.com>
Date:   Wed Dec 31 23:38:13 2008 +0000

    call netwm-set-group-properties in kill-group
    
    This is useful if you use gnome-panel and workspace switcher
    applet (otherwise the applet doesn't know about the deletion).

commit 34619089cb52249d269a00de48541b159e59d6d5
Author: Vitaly Mayatskikh <v.mayatskih@gmail.com>
Date:   Thu Dec 18 11:33:01 2008 +0100

    declare mpd maps before using them
    
    SBCL complains on undeclared variables while loading mpd.lisp

commit 5758f530b438d269ba1fc2466a8a9369d76f867d
Author: James Wright <james@chumsley.org>
Date:   Thu Dec 11 18:19:36 2008 -0800

    Make gnome-panel recognize closed windows
    
    My version of gnome-panel ignores _NET_CLIENT_LIST updates when they
    are not consistent with the _NET_CLIENT_LIST_STACKING state.  However,
    when a window was unmapped, stumpwm was previously doing the following:
    
    1. update _NET_CLIENT_LIST property based on `screen-mapped-windows', which
       does not include the newly-unmapped window.
    2. update _NET_CLIENT_LIST_STACKING property based on `all-windows', which is
       created by concatenating all the windows in the group.
    
    Problem: `withdraw-window' was calling `remove-mapped-window' (which sends the
    updates) BEFORE it removed the unmapped window from its tile-group.  So the
    unmapped window was removed from _NET_CLIENT_LIST, but not from
    _NET_CLIENT_LIST_STACKING.  But gnome-panel ignores client list updates
    whenever _NET_CLIENT_LIST and_NET_CLIENT_LIST_STACKING are inconsistent.
    
    So the fix, which is much shorter than this comment, changes `withdraw-window'
    to remove the withdrawn window from its tile-group and then call
    `remove-mapped-window'.

commit b38d74ae928d814c96a290e2d1d545b69a92a760
Author: Shawn <sabetts@juicebox>
Date:   Wed Jan 14 15:38:09 2009 -0800

    downgrade asdf.lisp to 1.109

commit 975de5086b92a30d44bebab42f4d0277234e5e07
Author: Ivy Foster <ivy.foster@gmail.com>
Date:   Mon Dec 8 15:34:47 2008 -0600

    Added crossfade controls to contrib/mpd.lisp
    
        - `mpd-toggle-xfade' toggle crossfade but doesn't change the
          default crossfade value
        - `mpd-xfade-default' is the default number of seconds of
          crossfade (set for this stumpwm session with `mpd-set-xfade').
        - Keymaps now use `fill-keymap'

commit 584d225f40a8736025238e064fbab6a6d3a11c94
Author: Shawn <sabetts@juicebox>
Date:   Tue Dec 9 16:38:27 2008 -0800

    fix some of the time-* functions to return the minute instead of the month.

commit efa504d7f02b3f03be2f6399542e2dbdd0c4f837
Author: Shawn <sabetts@juicebox>
Date:   Tue Dec 9 16:28:35 2008 -0800

    update asdf.lisp

commit e4d5fe80edc9215c915d9407c261b4afa92569a1
Author: Shawn <sabetts@juicebox>
Date:   Tue Dec 9 16:19:21 2008 -0800

    use install to copy files in makefile's install rule
    
    Thanks to an unknown someone on #stumpwm for the original patch.

commit b288db4e939e2b873fedcd7490859904cd0a0dba
Author: Ivy Foster <ivy.foster@gmail.com>
Date:   Thu Nov 27 03:17:53 2008 -0600

    fix make install/uninstall and make modules work when stumpwm is installed
    
        - Makefile.in: Fixed install-info error on `make uninstall'.
        - Makefile.in: Added optional `destdir' option for `make install'.
          This is useful for packaging.
        - module.lisp: contrib/ directory no longer uses hardcoded
          name/path, allowing greater flexibility. Use `contrib-dir-set'
          to change where stumpwm looks for your modules.

commit 65b37595ab4ed6b5192ed434d9497dfd53715588
Author: Shawn <sabetts@juicebox.(none)>
Date:   Mon Nov 10 16:22:16 2008 -0800

    Revert "reimplement frame-head to watch the frame trees"
    
    This reverts commit a6d595937be4244ed0a1334e7cfe1a81c5b6c938.

commit 03c141d832ea14527b0bdbaaa40fcd08da37c1fd
Author: Shawn <sabetts@juicebox.(none)>
Date:   Mon Nov 10 16:21:57 2008 -0800

    Revert "In frame-display-y and frame-display-height, handle the frame argument being a head."
    
    This reverts commit d048a601ef52158107cb6fc84ec3af59f14f8b15.

commit d048a601ef52158107cb6fc84ec3af59f14f8b15
Author: Shawn <sabetts@juicebox>
Date:   Mon Nov 10 16:06:47 2008 -0800

    In frame-display-y and frame-display-height, handle the frame argument being a head.
    
    fixed C-t f, which was broken by patch a6d595937b

commit a6d595937be4244ed0a1334e7cfe1a81c5b6c938
Author: Shawn <sabetts@juicebox>
Date:   Fri Nov 7 16:43:22 2008 -0800

    reimplement frame-head to watch the frame trees

commit 4f0900b56df3c8dddd7917c1e76ae9f1ec4fabce
Author: Lionel Flandrin <simias.n@gmail.com>
Date:   Thu Nov 6 16:45:01 2008 +0100

    Use PPCRE for rules matching instead of the "..." syntax.

commit 5c3fd5d4c1e05ce08346300ad2ea1467496eb8f3
Author: Greg Pfeil <greg@technomadic.org>
Date:   Thu Aug 14 09:49:47 2008 -0400

    use floor instead of truncate in expand-tree
    
    this way negative values when shrinking the frame won't get underestimated.

commit afffa6c61afc22fd267758011be13ddca64d1490
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 31 14:15:57 2008 -0700

    add contrib/sbclfix.lisp
    
    a module to work around sbcl's buggy run-program.
    
    -Shawn

commit fe33d99d7ffcd8a9caf7fb6008be7d0afffae45e
Author: John Li <jli@circularly.org>
Date:   Wed Jul 16 23:24:18 2008 -0400

    Add fmt-head-window-list variant that colors "hidden" windows.
    
    Windows not displayed in any frame get their titles colored with the
    *hidden-window-color* command, "^5*" (magenta) by default. This can be
    set to "" for the behavior of fmt-head-window-list.

commit a8ea0cffbc42591d46ff6dc0e6a346a51f0780b3
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Fri Oct 24 14:57:04 2008 +0200

    Added simple disk usage formatters for the modeline.

commit 83dc80013f2853215a2a30157c56871c87c7b8ad
Author: Shawn <sabetts@juicebox>
Date:   Wed Oct 29 12:55:42 2008 -0700

    remove dump-desktop, dump-group, dump-screen aliases from documentation

commit f34c9a2f8efe2760e3b87ab415360c335d92b6dd
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Wed Oct 22 19:12:04 2008 +0200

    Added "Not connected to mpd" message to the modeline formatter.

commit 381fd4c6fc7a46c020d6c4c51e39f9c9b13a42df
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Wed Oct 22 17:18:22 2008 +0200

    Fixed mpd-toggle-* commands to work with mpd-get-status.

commit 1e3a85e1d00996e3a243b6c451b9c2deb2a03444
Author: Ivy Foster <ivy.foster@gmail.com>
Date:   Tue Oct 28 23:40:18 2008 -0500

    version.lisp{,.in} now uses defcommand

commit 6371c67642b6ee3fe93258441a2027a492c6957d
Author: Shawn <sabetts@juicebox>
Date:   Mon Oct 27 19:11:43 2008 -0700

    fix the lag in float-group when dragging to move
    
    :configure-notify and :enter-notify events were piling up causing
    extreme chunkage.

commit dfe272361ac8a520aec56e0f7bc8e342ed4eaf4b
Author: Shawn <sabetts@juicebox>
Date:   Mon Oct 27 19:10:19 2008 -0700

    fix fullscreen in float-group
    
    This required refactoring of the :configure-request event. Before a
    resize request was always sent to the current group whether the
    request had one or not. Now only requests that are actually requested
    are made.

commit 45963874d0962c4dd744435bc6b29e84471a4cf8
Author: Shawn <sabetts@juicebox>
Date:   Mon Oct 27 19:08:20 2008 -0700

    disable the *escape-fake-key* if it and *escape-key* are the same.
    
    This fixes having duplicate keybindings in the keymap lists

commit e2222e16873decd481ce9f2621ec840a27a29868
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Mon Oct 27 10:20:46 2008 +0100

    Restored message when placing window in a non-visible group.

commit bdbf07cf8997645c028a91cf498970409873d5bb
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Sat Aug 9 00:22:33 2008 +0200

    Added support for automatic group creation and/or restoration.
    
    This adds two keyword parameters to rules:
      * :create , when non-NIL the group matching the rule is created if it doesn't already exist.
        The group may be restored from a dump-file in *data-dir* if such a file exists. The dump filename
        may be specified as :create "dump-file", if not it defaults to group-name.
        Defaults to NIL.
      * :restore , for group restoration from a dump file even if the matching group already exists.
        The dump filename should be specified as :restore "dump-file".
        Defaults to NIL.

commit 636f36a3419b48ec4946b0ade3aa24f5bc88f55a
Author: Shawn <sabetts@juicebox>
Date:   Mon Oct 27 01:54:08 2008 -0700

    fix select-from-menu's call to read-from-keymap
    
    it wasn't updated when read-from-keymap changed.

commit ae6d2c8d97a4a0a6cdab3ca61aa7308e4052b1cc
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 24 10:58:32 2008 -0700

    move tile-group specific code from activate-fullscreen and deactivate-fullscreen

commit e26d52084501cda9b6beb25461282ab0e7c9ac31
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 24 10:57:34 2008 -0700

    rename frame.lisp to tile-group.lisp

commit 2e8d652e59a07230bfea090eaac37680a72496da
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 24 10:41:54 2008 -0700

    report the proper key sequence for help in the start up message
    
    it used to be hardcoded for C-t

commit 36a6b0f865bcb43530d4ae543eff807815d92fb1
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 24 10:33:51 2008 -0700

    fix unmatched paren

commit 59333fa1e94c650a924a9015daec9dd3b8eaec87
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 24 09:26:07 2008 -0700

    in list-window-properties, show the properties of the root window when there is no current window

commit 262ce540437d7d1155bb82b93c55c3508b34be2e
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 24 09:21:23 2008 -0700

    in list-window-properties, only print the first 20 digits in :cardinal properties
    
    _NET_WM_ICON can be huge.

commit 55e99b100034b0ec2df54296c05a92a087dd27f7
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 24 09:20:31 2008 -0700

    document *initializing*

commit e06e3d3c8687dac5af265c5623fc761c210d8536
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 24 09:04:44 2008 -0700

    new command, list-window-properties

commit 16569129ffcd7d5d6557270ff2cdae931cb993bb
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 24 09:02:13 2008 -0700

    rewrite split-string as a more general split-seq and use it to implement split-string

commit 3b9e6208d9c3f49569f8e99114e903488797ab06
Author: Shawn <sabetts@juicebox>
Date:   Thu Oct 23 17:10:35 2008 -0700

    add altgr support
    
    Thanks to TauPan for the original patch and testing.

commit 17febc329b5f140af031b5848fa6a6cef7225ff8
Author: Ivy Foster <ivy.foster@gmail.com>
Date:   Wed Oct 22 19:01:28 2008 -0500

    Fixed a couple of bugs in amixer.lisp

commit 6baa1eceeb7ff82982d29f94494a7bafa0824353
Author: Shawn <sabetts@juicebox>
Date:   Wed Oct 22 16:43:52 2008 -0700

    ignore head in group-sync-head
    
    gets rid of a warning

commit a9631c37dcd0978f978517e2bde2eac3d817c64f
Author: Shawn <sabetts@juicebox>
Date:   Wed Oct 22 16:42:24 2008 -0700

    minor clean ups to time.lisp
    
    - load time.lisp before mode-line.lisp
    - move the modeline time formatting code to mode-line.lisp
    - ditch *time* in time-plist

commit b5a81996fc29afe662c24b4fff9ccc54e06fb16f
Author: Shawn <sabetts@juicebox>
Date:   Wed Oct 22 16:34:42 2008 -0700

    remove duplicate definition of gravity command

commit d24ee3796009b9a1e40d16517b1c172029b35bf5
Author: Shawn <sabetts@juicebox>
Date:   Wed Oct 22 16:32:11 2008 -0700

    mark a bunch of tile-group only commands as such.

commit 55f4869b02b519d83d2cf8a89b52e384df5595f1
Author: Ivy Foster <ivy.foster@gmail.com>
Date:   Wed Oct 22 17:44:10 2008 -0500

    Added time.lisp
    
        - Output should be identical to previous time code
        - Works with (format-expand) instead of (time-lambda)
        - Added modeline support
        - *All* time commands and variables now begin with time- or
          *time-. If you customize *format-time-string-default*, do
          change the first two words.

commit 0ea16c46f0c7d672e810336f41947a9a0ae0cb32
Author: Shawn <sabetts@juicebox>
Date:   Wed Oct 22 15:06:49 2008 -0700

    rearrange the top level binding order.
    
    now *top-map* is first so user bindings aren't shadowed.

commit 93dcbacb806628f8ad58c59a0b1d55f36418a962
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Wed Oct 22 17:18:22 2008 +0200

    Fixed mpd-toggle-pause command to work with mpd-get-status.

commit 1ef37ec7aa4c9f6a9f520fb430c2f1d1d6ad3e99
Author: Shawn <sabetts@juicebox>
Date:   Tue Oct 21 22:09:25 2008 -0700

    update docs
    
    remove the help command

commit 1e11b6753b1869ad1bb9e24e426e51423cb4f812
Author: Shawn <sabetts@juicebox>
Date:   Tue Oct 21 21:50:20 2008 -0700

    add the help binding, C-t ?, to the startup message

commit ce23931cb636856622d0ad8704255cebe446ece7
Author: Shawn <sabetts@juicebox>
Date:   Tue Oct 21 21:49:53 2008 -0700

    ditch the help its C-t ? binding.
    
    stumpwm already prints the bindings without that command. it's useless.

commit d1d1059c885952fb99d6a7233a412ad04aa3ffea
Author: Shawn <sabetts@juicebox>
Date:   Tue Oct 21 19:00:55 2008 -0700

    fix maybe-map-window
    
    it was activing like maybe-raise-window.

commit e65bd69c7f6972ab6986f567298ccf589d5b3e61
Author: Shawn <sabetts@juicebox>
Date:   Tue Oct 21 21:28:10 2008 -0700

    fix two minor borkups from the merge

commit 1650598f48f313446c809223068eda3cc3f43678
Merge: 334ff3f... 82f5f11...
Author: Shawn <sabetts@juicebox>
Date:   Tue Oct 21 20:46:37 2008 -0700

    Merge branch 'master' into test
    
    straight forward stuff. A few patches changes functions that had moved
    to different files. in the case of bindings.lisp 2 bindings needed to
    be added to the new bindings code.
    
    Conflicts:
    
    	NEWS
    	bindings.lisp
    	command.lisp
    	group.lisp
    	kmap.lisp
    	screen.lisp
    	window.lisp

commit 334ff3f0ded97a08bf1155003546c351495408cf
Author: Shawn <sabetts@juicebox>
Date:   Wed Aug 27 20:38:53 2008 -0700

    fix focus/unfocus color for floating windows

commit 6b182fcdd4024c394268686f674d69e143767dc6
Author: Shawn <sabetts@juicebox>
Date:   Wed Aug 27 20:38:35 2008 -0700

    improve docs for focus-window

commit ce5362655e21547884c64fe3bf11145d1f016316
Author: Shawn <sabetts@juicebox>
Date:   Wed Aug 27 14:11:19 2008 -0700

    fix window-visible-p for tile-windows

commit 9fe89bb43e6787933ac8e5c7da5821cb0eb5b07b
Author: Shawn <sabetts@juicebox>
Date:   Wed Aug 27 13:53:49 2008 -0700

    fix :key-seq type to work with read-from-keymap

commit 7b449537682c233c478bfac2ff1fe469a962691f
Author: Shawn <sabetts@juicebox>
Date:   Wed Aug 27 13:53:00 2008 -0700

    fix the modeline for floating groups

commit 1671cf9fa1b6cbf281773b865e67a6333aa2d648
Author: Shawn <sabetts@juicebox>
Date:   Tue Aug 5 16:30:17 2008 -0700

    update NEWS

commit f918b9c2bc4c0e4a98670414b3db886a5db75788
Author: Shawn <sabetts@juicebox>
Date:   Tue Aug 5 16:24:14 2008 -0700

    update manual to reflesh changes to set-prefix-key/escape

commit 242112aafb1210a08aad81e80a3730f37f9b7430
Author: Shawn <sabetts@juicebox>
Date:   Tue Aug 5 16:22:57 2008 -0700

    in window-matches-rule-p, check if the group slot is bound before using it.

commit 671ff7249b70c4c3ffdd72cecdaaeaefb4c3578c
Author: Shawn <sabetts@juicebox>
Date:   Tue Aug 5 16:22:29 2008 -0700

    change kmaps from a hashtable to a struct containing a list
    
    This change was needed because there are now multiple top level maps
    that all hang bindings off the escape key. set-prefix-key cannot know
    what top level maps it needs to search to update the escape key, so
    *escape-key* was created which is a key struct that is used in any map
    that wants to use the escape key. Now that key's slots just need to be
    updated. But a hashtable's keys cannot change or the lookup fails, so
    a list is now used.

commit 7e9ae2d36f15aad0e8a11d4a6e43df8264183024
Author: Shawn <sabetts@juicebox>
Date:   Mon Aug 4 20:40:11 2008 -0700

    add the new lisp files to the makefile
    
    change newfloat command to gnew-float

commit 11f665c02f4a0e1654bbc4190d70571e3fb3fd2c
Author: Shawn <sabetts@juicebox>
Date:   Mon Aug 4 20:34:23 2008 -0700

    don't allow inactive commands to be called or tab completed
    
    Also, fix describe-command to handle aliases.

commit d0666155fe9f72da948954b9c52a5f41ae1af3d1
Author: Shawn <sabetts@juicebox>
Date:   Mon Aug 4 00:21:04 2008 -0700

    add window-sync generic function and use it in a few places
    
    Also call group-delete-window after the window has been removed from
    the window list in move-window-to-group.

commit 236a89f4ba7e33d56bde1f6c7d563b1af5b1658a
Author: Shawn <sabetts@juicebox>
Date:   Sun Aug 3 23:34:43 2008 -0700

    allow commands to belong to a class and tag commands appropriately
    
    Also document some undocumented commands.

commit 4366132e6b72d29c9affe62c1e28f35e96edffb8
Author: Shawn <sabetts@juicebox>
Date:   Sun Aug 3 23:27:25 2008 -0700

    fix up the window placement to properly put window in their frames on start up.

commit 1ebb8bf7137677fb6b293a06a46ae93e29725164
Author: Shawn <sabetts@juicebox>
Date:   Sun Aug 3 22:27:47 2008 -0700

    active bindings now change based on the current group
    
    there is now an alist, *group-top-maps*, that maps each group type to
    a kmap symbol. For a given group, all kmap symbols whose group type
    match the group are active along with *top-map*.

commit eba627c8e41b0a17ea724998e833a9637000c458
Author: Shawn <sabetts@juicebox>
Date:   Sun Aug 3 21:40:03 2008 -0700

    get rid of warning in with-data-file

commit 7fcf9f80750ce7df48cbf9d81098a19fad8e3a47
Author: Shawn <sabetts@juicebox>
Date:   Sun Aug 3 21:39:32 2008 -0700

    Add debug messages to manual.lisp

commit 0fe89e93958c40223e073aa62551f658a9be2700
Author: Shawn <sabetts@juicebox>
Date:   Sat Aug 2 03:16:55 2008 -0700

    add some command aliases

commit b2bb515f752eabb03ed4be4649c39c3b09e16cb0
Author: Shawn <sabetts@juicebox>
Date:   Sat Aug 2 03:10:33 2008 -0700

    distribute the window related code to the proper files

commit f121d907084ad6b6bb91a439150a8b831eafaeb4
Author: Shawn <sabetts@juicebox>
Date:   Sat Aug 2 02:07:22 2008 -0700

    implement a basic floating group

commit 3ba1e2d8eb8a52e61620b4283ce37d26e1949672
Author: Shawn <sabetts@juicebox>
Date:   Thu Jul 31 12:21:00 2008 -0700

    add a group API and isolate all tile-group related code within the api
    
    This is the first stage towards adding other window management styles
    to stumpwm.

commit 82f5f11ac89d39bc5cd2a660d2ab060607aa0ada
Author: Shawn <sabetts@juicebox>
Date:   Tue Oct 21 14:10:59 2008 -0700

    bump version to 0.9.6-git

commit f9d7c4374023cd8d658599378b5cc2ba61a77c75
Merge: a72ec83... b63e471...
Author: Shawn <sabetts@juicebox.(none)>
Date:   Tue Oct 21 14:07:48 2008 -0700

    Merge branch 'master' of ssh://sabetts@git.sv.gnu.org/srv/git/stumpwm

commit a72ec837b11830fbadf6992d71ad06dbea4efd65
Author: Shawn <sabetts@juicebox>
Date:   Tue Oct 21 13:59:48 2008 -0700

    update AUTHORS

commit def21c3c394ecf168aa6c236e0173ee3194b8044
Author: Shawn <sabetts@juicebox>
Date:   Tue Oct 21 13:55:17 2008 -0700

    update NEWS file

commit 876d33843bbcdad2af2af3cf86d8271dec3b71c2
Author: Vitaly Mayatskikh <v.mayatskih@gmail.com>
Date:   Tue Oct 21 00:10:31 2008 +0200

    mpd.lisp re-add mpd-get-song-name
    
    *mpd-collapse-album-length* and *mpd-collapse-all-length* still
    exist in export, but the code using it was swept away by recent
    commit. This commit puts it back.

commit b63e471d05c4a8020b554a9ec1a706500ee686c1
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Mon Oct 20 14:34:28 2008 +0200

    Cancel mpd timer on disconnect or connection lost.

commit be8e518d3531a994dec95760407cae19d25939e5
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Aug 19 21:03:18 2008 +0200

    Fixed typo in documentation.

commit 974aa3c50f8d27f56f85fb81fcfe9997ee842768
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Mon Aug 18 21:04:56 2008 +0200

    Change wifi.lisp to use sysfs for most of its information gathering.

commit ecbfd60e458cbe55cdd0513acd1f0cb93763d3de
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Thu Jul 31 20:51:48 2008 +0200

    Add FreeBSD to the clisp hack. This should only influence contrib modules.

commit 77d96ea9b3744d77452c15441103f0318d20a29b
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Wed Jul 30 16:12:46 2008 +0200

    Simplified CLISP :linux hack.

commit 62de04295d7e7047beb172729af3904c4413f48f
Author: Ivy Foster <ivy.foster@gmail.com>
Date:   Wed Oct 15 01:39:59 2008 -0500

    Some contrib/mpd.lisp improvements
    
        - Minor code cleanup
        - Export important user-visible variables and functions
        - Cleaned up formatting code, added flexibility. See
          documentation for variable *mpd-modeline-fmt* and/or the
          file's opening remarks for more info.
        - New command mpd-play-track allows selection of track by number

commit c34f7a45423ec15592ed834a18a73ad7c906c202
Author: Ivy Foster <ivy.foster@gmail.com>
Date:   Sun Oct 19 11:49:07 2008 -0500

    Cleaned up code in contrib/amixer.lisp
    
        - Pipes in volcontrol command now more readable
        - Now you can easily define your own channels with defvolcontrol
        - Removed redundant keysyms (now in keysyms.lisp)
        - Removed keybindings (different people have different channels
          and different preferences)

commit 797386434b38a5054f1b862a188682d808648c2c
Author: John Fremlin <john@fremlin.org>
Date:   Fri Sep 5 13:39:52 2008 +0100

    correct case when a keysym has more than one keycode

commit 50160e83409b255ba793e1fd5f41ed0660f85916
Author: Fredrik Tolf <fredrik@dolda2000.com>
Date:   Wed Oct 15 16:18:20 2008 +0200

    Contrib: aumix module

commit eb3a8b3c435f1ad0f2631fc2647d834290d4fd15
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Wed Oct 15 22:11:11 2008 +0200

    Moved mpd ping timer initialization to init-mpd-connection.
    
    This should fix the annoying error messages when loading mpd.lisp
    without calling mpd-connect or without mpd running.

commit 9155760d23a29b3b46bde3562be294803714c59f
Author: Shawn <sabetts@juicebox>
Date:   Sat Oct 18 20:23:08 2008 -0700

    normalize the wm-normal-hints structure whenever it is requested from the x server
    
    skype's profile window was setting the max-height hint to 0 which was breaking stumpwm, as seen here:
    
    #S(XLIB:WM-SIZE-HINTS :USER-SPECIFIED-POSITION-P NIL :USER-SPECIFIED-SIZE-P T
       :X NIL :Y NIL :WIDTH 300 :HEIGHT 386 :MIN-WIDTH 300 :MIN-HEIGHT 386
       :MAX-WIDTH 300
       :MAX-HEIGHT 0
       :WIDTH-INC NIL :HEIGHT-INC NIL :MIN-ASPECT NIL
       :MAX-ASPECT NIL :BASE-WIDTH NIL :BASE-HEIGHT NIL :WIN-GRAVITY :NORTH-WEST
       :PROGRAM-SPECIFIED-POSITION-P NIL :PROGRAM-SPECIFIED-SIZE-P T)

commit 19bdb635acf7822cc25bbffc73ee39c36e5c04a9
Author: Shawn <sabetts@juicebox>
Date:   Sat Oct 18 15:36:56 2008 -0700

    fix a typo in perform-top-level-error-action

commit d37b109d6c9f0d43888cd0dff5f9f31fa411da19
Author: Shawn <sabetts@juicebox>
Date:   Sat Oct 18 14:35:31 2008 -0700

    in the top level error handler, handle errors and serious-conditions seperate from everything else.
    
    For all other errors, try to recover and then fail just like an unhandled top level error.
    
    in with-restarts-menu, only catch serious-conditions and errors.

commit 4a76004ff4dae823b956347f62934a81fff088fb
Author: Shawn <sabetts@juicebox>
Date:   Sat Oct 18 14:32:42 2008 -0700

    reformat the debugging output in echo-string-list

commit 2216a859d8c8a00cef2c0d42e8d353681fc9eafc
Author: Shawn <sabetts@juicebox>
Date:   Sat Oct 18 14:31:47 2008 -0700

    add a comment to clisp's get-wm-class workaround

commit 854b572e05a518ab99135303c886d89bfeee8839
Author: Philip Fominykh <philip@glyf.org>
Date:   Sat Oct 18 01:04:04 2008 -0400

    fix run-prog, run-prog-collect-output and print-backtrace ccl support

commit 47bf1b86043fc0eaec92763f7d4ab752fced3b8a
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 17 15:16:13 2008 -0700

    add 2 more tests to test-wm-class

commit 172f13e144268e51a87f314cb771dc4513943c78
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 17 15:00:28 2008 -0700

    add workarounds.lisp which stores any workarounds for bugs in clx.
    
    Add a workaround for xlib:wm-class

commit f2fad1ed880cf380fd7dd98e6be3561ff7486636
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 17 14:59:46 2008 -0700

    add test-wm-class to test-wm.lisp

commit a4887b61fe0b5c7ea3c20cb87cb21d762e135d19
Author: 38a938c2 <38a938c2@rambler.ru>
Date:   Sat Aug 30 21:12:55 2008 +0400

    Added logging of OSD messages

commit 85a7ac0765c6b757a52bd6885b34df995fa288bc
Author: 38a938c2 <38a938c2@rambler.ru>
Date:   Sat Aug 30 21:01:10 2008 +0400

    Added a command to compact window numbers

commit 23dd92b2cdedce181a281cbff8e3e889650ddaeb
Author: Ivy Foster <ivy.foster@gmail.com>
Date:   Mon Sep 1 01:12:49 2008 -0500

    Added productivity module.

commit 2f513a9a75d0b2d2a3802db5cb93bec8eaf83b64
Author: Shawn <sabetts@juicebox>
Date:   Thu Oct 16 00:42:17 2008 -0700

    Set the _NET_FRAME_EXTENTS property on client windows

commit 6041752320c69e2358dab1d29d121787921907b8
Author: Shawn <sabetts@juicebox>
Date:   Sat Oct 4 18:00:53 2008 -0700

    document defcommand

commit aa163412123513b6f2518d175e302d4df382a32c
Author: David Hansen <david.hansen@gmx.net>
Date:   Sun Sep 14 05:48:58 2008 +0200

    Make (define-key map key nil) behave like `undefine-key'.
    
    index 54561f5..547f464 100644

commit 3127c7ffcec7b66f117c7720c6477229c33b04a9
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 3 14:15:03 2008 -0700

    add redirect-all-output and data-dir-file
    
    also document them

commit 359c994035c08aeae1f061ef5eecd6052ad193e8
Author: Shawn <sabetts@juicebox>
Date:   Fri Oct 3 14:14:40 2008 -0700

    only catch errors in eval-line

commit 637cd9cf4b794142b907b95d28ed217a65491a98
Author: Shawn <sabetts@juicebox>
Date:   Mon Sep 29 13:23:16 2008 -0700

    fix resize-frame so it doesn't overlap frames
    
    split a frame twice so you have 3 sibling frames. resize one of them
    and you'll see you can resize past the minimum frame size. eventually
    stumpwm crashes. This patch fixes this by properly computing the
    maximum resize a frame can get.

commit 38d19ca7ea93fa9ff991ffd83735e78828a71b83
Author: Shawn <sabetts@juicebox>
Date:   Wed Sep 24 02:57:19 2008 -0700

    raise an error when parsing the keysym of a key string
    
    also rename the kbd-parse condition to kbd-parse-error and make it
    inherit from error.

commit 306a604d37f3ec0d1fd1ea3f8398de996332d2f5
Author: Shawn <sabetts@juicebox>
Date:   Wed Sep 24 02:54:48 2008 -0700

    fix error handlers to catch any kind of condition and handle warnings

commit 5e7b5ee580ddd2aa4f66331ad924ca9fc9fb8c8a
Author: Shawn <sabetts@juicebox>
Date:   Wed Sep 24 02:32:54 2008 -0700

    fix argument type for bind command

commit 1c6e6f8f51623af30e1d8bf926dc646f7c242940
Author: Shawn <sabetts@juicebox>
Date:   Wed Sep 3 13:23:34 2008 -0700

    in init-screen, fall back to the * font if the default one isn't found.

commit 7128c9858b45f91cb75497f73f9fe948b209969e
Author: Lionel Flandrin <lionel.flandrin@gmail.com>
Date:   Mon Sep 1 00:19:34 2008 +0200

    Make select-from-menu matching case-sensitive when the user inputs upcase

commit 6374b40e0c0e7ea87bcf3f7ef80ec6dc186e73ef
Author: John Li <jli@circularly.org>
Date:   Sat Aug 30 23:07:16 2008 -0400

    Add show-window-properties command.

commit c96d260f041f6066a7bdc1bd0d7508cd1ddd9e70
Author: Shawn <sabetts@juicebox>
Date:   Sat Aug 30 23:51:42 2008 -0700

    Add sanity checks for incremental resize hints

commit 7e7c81132fba8e2dbd02a2f365c1272badfbd5e4
Author: Shawn <sabetts@juicebox>
Date:   Fri Aug 29 11:01:48 2008 -0700

    Revert "Added support for automatic group creation and/or restoration."
    
    The patch needs some refactoring.
    
    This reverts commit 6488f0ca9720632c6b13c0bd6a8f06588ecc7f4a.

commit c0e236e57fbe487cf51016bd3d6c8f0bad2d78e9
Author: Lionel Flandrin <lionel.flandrin@gmail.com>
Date:   Thu Aug 28 22:17:38 2008 +0200

    Make select-from-menu completion case insensitive

commit 6488f0ca9720632c6b13c0bd6a8f06588ecc7f4a
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Sat Aug 9 00:22:33 2008 +0200

    Added support for automatic group creation and/or restoration.
    
    This adds three keyword parameters to define-frame-preference:
      * :create , when T the group matching the rule is created if it doesn't already exist.
        The group may be restored from a dump-file in *data-dir* if such a file exists (see :dump-name).
        Defaults to nil.
      * :restore , for group restoration from a dump file even if the matching group already exists.
        Defaults to nil.
      * :dump-name , group dump file to use for group restoration. File should be in *data-dir*.
        Defaults to group name.

commit e4ef2d5cb51d20fee6cb69e30771359cada780e4
Author: 38a938c2 <38a938c2@rambler.ru>
Date:   Sun Aug 24 23:47:39 2008 +0400

    Self-reference fixes.
    
    It's better to support renaming of the main executable, or its being
    called via absolute path.
    From 74d93e5cd9d816ca4501c1e784d36510b3b20eeb Mon Sep 17 00:00:00 2001
    From: 38a938c2 <38a938c2@rambler.ru>
    Date: Sun, 24 Aug 2008 23:30:48 +0400
    Subject: [PATCH] Corrected self-references in stumpish

commit dc3be3333f99d1b40f7ce6f19756f3da7bc5cf24
Author: Lionel Flandrin <lionel.flandrin@gmail.com>
Date:   Sun Aug 24 13:49:23 2008 +0200

    Make select-from-menu try match unmapped user input.
    
    For instance, if the user has to choose between:
    ,--
    | "xterm"
    | "gimp"
    | "firefox"
    | "git"
    `--
    And he wants to choose "git", he can type "git", "it", "g.t" or even
    "t$" and the correct entry will be selected.

commit 1725ba4d941b01292207823f398fcdb8b9a86cb7
Author: 38a938c2 <38a938c2@rambler.ru>
Date:   Wed Aug 20 16:59:31 2008 +0400

    Added logging of destroyed XLib windows

commit fce4838e28154422c9f020b218a08f14382d9508
Author: 38a938c2 <38a938c2@rambler.ru>
Date:   Wed Aug 20 16:57:17 2008 +0400

    Added a mention of urgent-window-hook

commit 243afc8d885faadc6908749d34b85e9776e52802
Author: John Li <jli@circularly.org>
Date:   Thu Aug 14 00:17:11 2008 -0400

    Add docs on modifiers (namely, how to set up super properly).

commit 3440cd7a012fd9ad96600764024dcd484bd93581
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Tue Aug 12 13:07:45 2008 +0200

    Fixed timeout problem.
    
    This adds a timer and a new var *MPD-TIMEOUT*. When set to nil the timer is disabled.
    The value of *MPD-TIMEOUT* should be something under the real mpd server timeout value
    so the client will ping mpd every *mpd-timeout* seconds.

commit 560af12b31d656b3cc2b7104acaa74e4ca733e87
Author: Morgan Veyret <patzy@appart.kicks-ass.net>
Date:   Fri Aug 8 15:49:54 2008 +0200

    Added new commands and default keybindings in mpd client.
    
     * added browse by album/artist commands
     * added browse keymap
     * cleaned some parts of the code

commit a756a8274d93a0aac15f43643cfc53a37136c7a7
Author: John Li <jli@circularly.org>
Date:   Tue Aug 5 04:35:59 2008 -0400

    Add g{next,prev}-with-window commands.

commit 4900dbba7e001bb08bf4297b3d4f68ec9f6db611
Author: John Li <jli@circularly.org>
Date:   Tue Aug 5 04:28:50 2008 -0400

    Simplifying a couple of lines.

commit 6aa420447953a6e32a1288b2f4f02da245e4cf6e
Author: Shawn <sabetts@juicebox>
Date:   Wed Aug 27 21:06:43 2008 -0700

    update the screen-frame-window, as well, in update-colors-for-screen.

commit a5ac4dc453a913f3daf8a772b4be8ab2eb425e67
Author: John Li <jli@circularly.org>
Date:   Wed Jul 30 22:07:16 2008 -0400

    update-all-mode-lines added for mouse-based window focus events.
    
    Otherwise, the "current window" highlighting in the window list is
    incorrect until the next mode-line update.

commit 60a3294c0a49a3ef1dde51c841d9c75e44e8dab6
Author: John Li <jli@circularly.org>
Date:   Sun Jun 22 11:52:36 2008 -0400

    Modify run-or-raise to cycle through all matched windows.
    
    Sorting by window number and then by group gives a predictable cycling
    order. I removed the comments about not looking for a match because it
    didn't seem to refer to any code.

commit d745e764b15ed4ec8fe41d5e4af32342edd65180
Author: John Li <jli@circularly.org>
Date:   Thu Jul 31 01:47:19 2008 -0400

    Remove unnecessary lambda.

commit 7347f49710a0c946042d7270591e4aaab446a213
Author: John Li <jli@circularly.org>
Date:   Thu Jul 31 01:33:32 2008 -0400

    Fix multiple heads frame numbering bug.
    
    When adding a new head, the frame on the new head inherits its number
    from the head number, regardless of whether that number is in use or
    not, which can lead to frames with duplicate numbers.

commit 023ead05c365de69efc3cf11f91ad9de6d2b513f
Author: John Li <jli@circularly.org>
Date:   Tue Jul 29 21:37:49 2008 -0400

    Fix up a bit of the color docs.

commit 716ee45ad918d4db8938770ecdb1920ae3e02c24
Author: John Li <jli@circularly.org>
Date:   Sun Jul 27 23:30:03 2008 -0400

    Fix /dev/null redirect in stumpish.

commit c67664aca41d2bf5ac7f17b710da072bc386f14c
Merge: 4efa1b8... 58f84ef...
Author: Shawn <sabetts@juicebox.(none)>
Date:   Tue Jul 29 15:03:07 2008 -0700

    Merge branch 'cpubattery'

commit 4efa1b8838f2cb5e02430e2e1345a41c15606904
Author: John Li <jli@circularly.org>
Date:   Tue Jul 29 03:26:22 2008 -0400

    Fix width/height order for *window-info-format*.

commit 2022adb078fa29ccbd0256747fa6ac5cc8b47c67
Author: Lionel Flandrin <lionel.flandrin@gmail.com>
Date:   Mon Jul 28 15:54:48 2008 +0200

    Make "where-is" handle unbound command correctly

commit 2840100855309746b2563d50d6305b1c0e750898
Author: Patrick Pippen <daBittweiler@gmail.com>
Date:   Sun Jul 27 22:40:34 2008 -0500

    this remove the duplicate code from screen, group, and window.lisp
    
    added the move-to-head macro to primitives.lisp

commit 58f84ef2283307d11d594bfd047f1e2202ace9ed
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 29 23:08:41 2008 +0200

    Fixed read-line-from-sysfs for non-SBCL CLs.

commit b0710fa5568c3d6c3b8b1939bc0009909c36fa37
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 29 22:37:29 2008 +0200

    Move hack for missing :linux feature on clisp into wrappers.lisp

commit 04a8311eed7ae3a05de7acf141c74073a51cd1b7
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 29 22:01:31 2008 +0200

    CLISP doesn't provide the :linux feature on Linux.

commit da832f4ff3c3ff42b164380a59a570b5876bae8d
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 29 18:13:30 2008 +0200

    Whitespace cleanup in battery-portable.lisp

commit 5f6c97d33b1a68f6d1918c227e994527a32d18e1
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 29 17:33:48 2008 +0200

    Add warning about freezing sessions with this contrib module.

commit 1e9a1e7033bfb4bea60e983222dfaad77668cb38
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 29 17:30:38 2008 +0200

    Some fixes for wifi.lisp.
    
     - put it in its own package: stumpwm.contrib.wifi
     - uses *iwconfig-path* to find iwconfig. (It's not in my PATH)
     - use add-screen-mode-line-formatter

commit ebae657821dc22df8bdd85b7779313a78766e182
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 29 17:29:03 2008 +0200

    Use ADD-SCREEN-MODE-LINE-FORMATTER in battery-portable.lisp.

commit 1d3fb5edb03113d3ccf6757761a56ee8fa4ab1d7
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Fri Jul 25 03:48:50 2008 +0200

    Added IGNORE declaration in DEFINE-FRAME-PREFERENCE.

commit e47e6e1f5392b1b0039d2477f14a517f5ffbe05b
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 29 17:44:23 2008 +0200

    Add ADD-SCREEN-MODE-LINE-FORMATTER to properly add and update mode-line formatters.

commit 6a06468ee0be9ead0256fbd61156c517134f0bb8
Author: John Li <jli@circularly.org>
Date:   Tue Jul 29 17:03:33 2008 +0200

    Added wifi contrib module.

commit c74663837602875accab2b1e918dd5ea4f988710
Author: Shawn <sabetts@juicebox>
Date:   Mon Jul 28 15:14:57 2008 -0700

    in frame-raise-window, always call focus-frame if the frame is the current.
    
    If raising a window in the current frame we must focus it or the group
    and screen will get out of sync.

commit 73549e599427338c501fa72246643bfc41c8e17c
Author: Shawn <sabetts@juicebox>
Date:   Mon Jul 28 15:05:22 2008 -0700

    give remove-split an optional frame argument
    
    Now any frame can be removed, not just the current one.

commit ea8b6383283219772b1d7d3918a31e2494534a4a
Author: Shawn <sabetts@juicebox>
Date:   Mon Jul 28 02:59:34 2008 -0700

    change with-focus to use grab-keyboard

commit 3e8b9a7d1eaa9a9b772b5408ec22de3bc661e8fc
Author: Shawn <sabetts@juicebox>
Date:   Mon Jul 28 02:04:25 2008 -0700

    in handle-key, ensure that keymap exists before displaying its bindings

commit be0c7890c709f8d99b18c3b9314b2e2599a6ac44
Author: Shawn <sabetts@juicebox>
Date:   Mon Jul 28 02:02:35 2008 -0700

    add a place holder commands section to docs

commit 144b94c7d6485952f628121264af7cc5fbfc6466
Author: Shawn <sabetts@juicebox>
Date:   Sun Jul 27 18:26:41 2008 -0700

    add a default window name for those that don't supply one.

commit c3fbca5eed9a471e2148458307fa0084fa02ec84
Author: John Li <jli@circularly.org>
Date:   Fri Jul 25 23:53:15 2008 -0400

    Tweak neighbour to work more intuitively.
    
    Simple demonstration of the effect this has:
    1. hsplit your screen so you have 2 columns.
    2. vsplit one of the columns. You'll have something like this:
    |---|---|
    |   |   |
    |---|   |
    |   |   |
    |---|---|
    3. From the frame on the right, run (move-focus :left)
    
    Before, you end up on the bottom left frame. With this, you end up at
    the top left. Similarly, when moving :down or :up to frames that have
    equal width, you'll now select the left-most instead of the
    right-most. This makes more sense to me.
    
     frame.lisp |    2 +-
     1 files changed, 1 insertions(+), 1 deletions(-)

commit a81d53d44ce40b7d19b245d45a79780aa8335ac4
Author: John Li <jli@circularly.org>
Date:   Sat Jul 26 06:06:25 2008 -0400

    Fix remove-head bug.
    
    remove-head tried to reference part of the frame-tree (through
    toggle-mode-line) after it was previously removed.

commit cfde8f1c86aa732779e42b997e797468130417c4
Author: Shawn <sabetts@juicebox>
Date:   Sat Jul 26 16:32:00 2008 -0700

    update test-wm::get-wm-hints to handle reparenting wm

commit 6739cdb8db6a6e367633c3803979f24577fd64e2
Author: Shawn <sabetts@juicebox>
Date:   Sat Jul 26 16:04:16 2008 -0700

    add a test function for simias' decode-wm-hints backtrace
    
    backtrace available at: http://paste.lisp.org/display/64270

commit 893def9b92530e8b1e27aba1a57cfac903213cb2
Author: Shawn <sabetts@juicebox>
Date:   Thu Jul 24 11:06:42 2008 -0700

    modify break-display-xid-cache in test-wm.lisp to precipitate a xlib:lookup-error in stumpwm

commit 18b795f586e5e04488eb5ad3ac629a8417cc8036
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Thu Jul 24 15:50:05 2008 +0200

    CPU Frequency above one gigahertz is now always printed with 2 digits after the decimal point.

commit 203d6cee7a632e9a1af338f6c512286e001007e9
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Thu Jul 24 15:48:42 2008 +0200

    Fixed colorization of battery percentage.

commit b78a69d5286400493ccc94d5beeefc46b561d9fc
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Wed Jul 23 00:35:56 2008 +0200

    A sample configuration for Wmii-like keybindings.

commit 5a49b9e4c9e35800390dc6031ab4455e654a0d88
Author: Shawn <sabetts@juicebox>
Date:   Wed Jul 23 16:17:50 2008 -0700

    properly find the :one restart when recovering from a xlib:lookup-error

commit 7c9ce180934b817111fef856ee3f0b02521e7265
Author: Shawn <sabetts@juicebox>
Date:   Wed Jul 23 14:02:41 2008 -0700

    fix unregister-urgent-window and window-urgent-p for clisp 2.46

commit 83ec4d66b27ea575ec0e0785f096c2ed3d030c7f
Author: Shawn <sabetts@juicebox>
Date:   Wed Jul 23 12:08:54 2008 -0700

    fix copyright in module.lisp

commit f167ddbf2f76e22cbf156158f4e73035cb6ea68a
Author: Jonathan Moore Liles <wantingwaiting@users.sf.net>
Date:   Tue Jul 22 19:23:26 2008 -0500

    Replace next-urgent command, which got lost in the shuffle.

commit 02a263c555a81daf277d4264432f8aeeb3dc8b77
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 22 23:50:08 2008 +0200

    Fixed broken selection of available information sources when using battery-portable.

commit aa1da23df499b2d0f5b17ac1bea5a20517d60b65
Author: Shawn <sabetts@juicebox>
Date:   Tue Jul 22 14:22:45 2008 -0700

    add command load-module
    
    new file, module.lisp, handles loading and finding modules.

commit b007547f4576ae6dcb3a4f3ec45fe667d42f5841
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 22 20:08:45 2008 +0200

    Add Linux procfs support to contrib/battery-portable.lisp.

commit 0fb94a56cc6ee31eacacf1c2b2e901ca70d76e04
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 22 19:00:37 2008 +0200

    Some stupid errors have been fixed in contrib/battery-portable.lisp

commit abdbb0135969a4b6f1827dc3a97bd03bc916bccf
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 22 05:45:33 2008 +0200

    New hopefully portable battery info module (battery-portable.lisp). This is intended to replace battery.lisp in the near future.

commit f1ba25f292e98fb45cdc215cd174a776075c946f
Author: John Li <jli@circularly.org>
Date:   Tue Jul 22 05:36:56 2008 +0200

    Make battery.lisp use bar-zone-color's REVERSE argument.

commit 26e4b0f19d7e56596af75accf82d70e98322c9d7
Author: John Li <jli@circularly.org>
Date:   Tue Jul 22 05:36:16 2008 +0200

    Make bar-zone-color accept a REVERSE argument.

commit 80123d13df31d0dc6ecb99705b6261b252f39e5c
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 22 05:33:30 2008 +0200

    Added SBCL sysfs workaround.

commit d24c6b898942d968f16875bf02ba673e9f2da589
Author: Julian Stecklina <jsteckli@os.inf.tu-dresden.de>
Date:   Tue Jul 22 05:33:06 2008 +0200

    Added LOAD-CONTRIB function for easy loading of contrib modules.

commit 410483ef90ce1eaf5e0657146a0867aa2c8c84db
Author: Shawn <sabetts@juicebox>
Date:   Mon Jul 21 14:24:26 2008 -0700

    add install and uninstall Makefile rules

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
    (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 55a0f0ce2d19a71dafd19358a4498630345883e1
Author: sabetts <sabetts>
Date:   Thu Nov 23 05:57:56 2006 +0000

    *** empty log message ***

commit f6ef6d4e0374eed4d1e0665ab537efbc230827bf
Author: sabetts <sabetts>
Date:   Thu Nov 23 05:23:55 2006 +0000

    *** empty log message ***

commit 7012a26fcaae4b258e61cc35061f34748da894a7
Author: sabetts <sabetts>
Date:   Thu Nov 23 05:20:16 2006 +0000

    (stumpwm): use write-line

commit 6e329bd8fcbda3d5205266101a107321ca771226
Author: sabetts <sabetts>
Date:   Thu Nov 23 03:28:58 2006 +0000

    (:stumpwm): export a bunch of symbols

commit 7bb3bec4a4e0aacacdb8b2fd587dd2deb1090573
Author: sabetts <sabetts>
Date:   Thu Nov 23 02:36:46 2006 +0000

    *** empty log message ***

commit 1221699eb50295ca87cfc15068c3f3546b245800
Author: sabetts <sabetts>
Date:   Wed Nov 22 03:07:58 2006 +0000

    *** empty log message ***

commit 800e8d0e11245342eacd0c773a89da56814a1adf
Author: sabetts <sabetts>
Date:   Wed Nov 22 03:03:25 2006 +0000

    * user.lisp ("loadrc"): use the screen supplied to the function
    ("escape"): ignore screen
    
    * input.lisp (input-handle-selection-event): ignore selection
    (draw-input-bucket): use translate-id
    
    * mode-line.lisp (redraw-mode-line-for): use translate-id
    
    * core.lisp (translate-id): new function
    (max-width): use translate-id
    (echo-string-list): likewise

commit 428a85f5439b7a8dd42eaaa0706496cb5be1373e
Author: sabetts <sabetts>
Date:   Mon Nov 20 22:38:35 2006 +0000

    (get-x-selection): new function

commit 20d68ae8dc0b08d38dcec608cacc6f5881babb60
Author: sabetts <sabetts>
Date:   Sun Nov 19 09:28:42 2006 +0000

    * primitives.lisp (*x-selection*): new global variable
    
    * input.lisp (input-handle-key-press-event): new function
    (input-handle-selection-event): likewise
    (read-key-handle-event): call input-handle-key-press-event
    (read-key-or-selection-handle-event): new function
    (read-key-or-selection): likewise
    (read-one-line): call read-key-or-selection. handle selection
    strings.
    (input-kill-line): call set-x-selection
    (input-kill-to-beginning): likewise
    (input-insert-string): new function
    (input-insert-char): likewise
    (input-self-insert): call input-insert-char
    (input-yank-selection): new function
    
    * core.lisp (:selection-request): new event handler
    (:selection-clear): likewise
    (export-selection): new function
    (set-x-selection): likewise
    (send-selection): likewise

commit e23a68055b60b2a8213425fdc8ebb9edf81ca7dd
Author: sabetts <sabetts>
Date:   Sun Nov 19 06:57:58 2006 +0000

    ("escape"): new command

commit 0f5526c8e8c4e992bec59ce1858e1099385e4c28
Author: sabetts <sabetts>
Date:   Mon Nov 13 23:16:32 2006 +0000

    ("ratwarp"): new command
    ("ratrelwarp"): likewise
    ("loadrc"): new command

commit cf0cfbd43ecffc4710535cf3a74655050a54ff77
Author: sabetts <sabetts>
Date:   Mon Nov 13 23:10:25 2006 +0000

    * user.lisp ("ratwarp"): new command
    ("ratrelwarp"): likewise
    
    * core.lisp (warp-pointer-relative): new function

commit 6231e106334b7a4be6c5e084ed1cc3d3dc64fa35
Author: sabetts <sabetts>
Date:   Fri Nov 10 05:37:01 2006 +0000

    (stumpwm): work around sbcl's putenv bug

commit befb65aedac7114c286be08426199542c9d2e9c4
Author: sabetts <sabetts>
Date:   Thu Nov 9 23:57:18 2006 +0000

    (:mapping-notify): update clx's key mappings

commit 58e6dc2d90dd68f3fd0a01adfc04f1fc9d2caf7d
Author: sabetts <sabetts>
Date:   Sun Nov 5 23:03:37 2006 +0000

    * core.lisp (maximize-window): set the window's position to 0,0
    
    * mode-line.lisp (mode-line-format-elt): ignore errors when calling eval.

commit f0660f7504f152b1b2cb11531b74ab8c34f19ea4
Author: sabetts <sabetts>
Date:   Mon Oct 23 06:02:40 2006 +0000

    * user.lisp (*root-map*): bind "o" to fnext
    (horiz-split-frame): update window border color
    (vert-split-frame): likewise
    (remove-split): likewise
    ("only"): likewise
    (focus-frame-after): new function
    (focus-next-frame): likewise
    (focus-prev-frame): likewise
    ("fnext"): new command
    
    * stumpwm.lisp (init-atoms): intern wm_take_focus atom
    (stumpwm-internal-loop): produce debug output when ungrab is called
    (stumpwm-internal-loop): format error with ~a
    
    * primitives.lisp (*normal-border-width*): set to 1
    (*focus-color*): new global variable
    (*unfocus-color*): likewise
    (*window-parent-events*): likewise
    
    * mode-line.lisp (mode-line): new slot, position
    (*mode-line-border-width*): new global variable
    (*mode-line-pad-x*): likewise
    (*mode-line-pad-y*): likewise
    (*mode-line-background-color*): likewise
    (*mode-line-foreground-color*): likewise
    (*mode-line-border-color*): likewise
    (*screen-mode-line-format*): likewise
    (make-mode-line-window): set border color and width
    (resize-mode-line-for): new function
    (mode-line-format-elt): new method
    (mode-line-format-elt): handle new list cases
    (mode-line-format-string): just call mode-line-format-elt on
    mode-line-format
    (make-mode-line-gc): set the foreground according to mode-line colors
    (make-screen-mode-line): set position slot
    (redraw-mode-line-for): dont resize window
    (toggle-mode-line): new function
    ("mode-line"): call toggle-mode-line
    
    * core.lisp (screen-height): use true-height
    (find-screen): use xlib:window-equal
    (update-window-border): new function
    (true-height): likewise
    (true-width): likewise
    (window-screen-safe): likewise
    (def-window-attr): new macro
    (:number): replace window-number and set-window-number
    (:frame): replace window-frame and set-window-frame
    (:parent): new window attribute
    (:unmap-ignores): likewise
    (unhide-window): map window's parent
    (hide-window): unmap window's parent
    (geometry-hints): adjust for window's parent border window
    (reparent-window): new defun
    (add-window): init window-unmap-ignores
    (process-mapped-window): rename from absorb-mapped-window
    (process-mapped-window): reparent window
    (remove-window): delete window parent
    (focus-window): update windows' border color
    (grow-tree): remove function
    (grow-frames): likewise
    (internal-window-p): add input frame and focus windows.
    (echo-string): handle newlines
    (:unmap-notify): don't unmap if window-unmap-ignores is > 0
    (:destroy-notify): remove the window only if the window's screen
    can be found

commit 0694da5167780658ae2901c8285daa546e8b524b
Author: sabetts <sabetts>
Date:   Wed Oct 18 05:02:00 2006 +0000

    * user.lisp (run-shell-command): allow output to be collected.
    
    * primitives.lisp (run-prog-collect-output): new function

commit 485b40b030beee61cfca86ee5c0fc15f88d2239b
Author: sabetts <sabetts>
Date:   Wed Oct 18 04:36:25 2006 +0000

    blah this might bust

commit 2fe6e9dae12377dd9cd3e806da03e9dc6e916ba8
Author: sabetts <sabetts>
Date:   Wed Oct 18 02:26:39 2006 +0000

    (input-forward-word): use position-if-not
    (input-backward-word): likewise

commit b3f3c0e484ff48b9e54929a201e0e212dbb4ff70
Author: sabetts <sabetts>
Date:   Tue Oct 17 01:24:35 2006 +0000

    (stumpwm-internal-loop): set *debugger-hook* to a function that ungrabs the pointer

commit 903b3c97b017f355ba641fd96425941acf013f54
Author: sabetts <sabetts>
Date:   Tue Oct 17 00:29:12 2006 +0000

    (stumpwm-internal-loop): set *debugger-hook* to a function that ungrabs the pointer

commit 6c861056015aca9a1c1f32e1ac795cf1bdbb088e
Author: sabetts <sabetts>
Date:   Mon Oct 16 02:48:27 2006 +0000

    * input.lisp (input-forward-word): new function
    (input-backward-word): likewise
    *input-map*: bind input-forward-word and input-backward-word
    
    * input.lisp (is-modifier): moved from primitives.lisp

commit c02b9b2adaf81e74c9b19167897c4b279be77fad
Author: sabetts <sabetts>
Date:   Mon Oct 16 00:01:44 2006 +0000

    *** empty log message ***

commit 35c957e1d3604e6e5a129a07feddee4b31cc141b
Author: sabetts <sabetts>
Date:   Mon Oct 16 00:01:18 2006 +0000

    * user.lisp (fmt-screen-window-list): new function
    ("only"): use screen-x screen-y screen-width and screen-height
    (interactive-command): update the modeline
    
    * stumpwm.asd (:stumpwm): add mode-line
    
    * primitives.lisp (screen): add mode-line
    
    * core.lisp (screen-x): new function
    (screen-y): likewise
    (screen-height): adjust the screenheight for the modeline
    (make-initial-frame): take an x and y as well. all callers updated.
    (sync-all-frame-windows): new function
    (offset-frames): likewise
    (grow-tree): likewise
    (grow-frames): likewise
    (screen-root): likewise
    
    * primitives.lisp (char->keysym): remove unused function
    
    * input.lisp (is-modifier): moved from primitives.lisp

commit 439ef4fdbc580a2ade3fd95018efc4e93caa91f9
Author: sabetts <sabetts>
Date:   Sun Oct 15 21:00:56 2006 +0000

    * primitives.lisp (char->keysym): remove unused function
    
    * input.lisp (is-modifier): moved from primitives.lisp

commit dbc15123fb299c92a5e20692f6babf663c27f3b4
Author: sabetts <sabetts>
Date:   Tue Oct 10 04:30:37 2006 +0000

    (*input-map*): add arrow key bindings
    populate *input-map* with bindings when it's nil.

commit e98e23466b492dffb3c9d41ebfa30038d2699920
Author: sabetts <sabetts>
Date:   Thu Oct 5 18:34:54 2006 +0000

    * core.lisp (*top-map*): init to nil
    populate *top-map* with bindings when it's nil.
    
    * user.lisp (*root-map*): swap hsplit and vsplit bindings.
    (*root-map*): init to nil
    populate *root-map* with bindings when it's nil.

commit 50ca91080a491c0099ab4b848b0d905f83d88da6
Author: sabetts <sabetts>
Date:   Thu Oct 5 18:24:31 2006 +0000

    (*root-map*): swap hsplit and vsplit bindings.

commit a884ab8a708f3633b6a6d0a8d5a36f9dc544e638
Author: sabetts <sabetts>
Date:   Tue Oct 3 18:41:19 2006 +0000

    (run-prog): for sbcl and cmucl let the
    subprocess inherit the stdout and stderr streams of the current
    process.

commit eed0dc3ec4b1a02ddd88b8ec22c035c4ffe3b805
Author: sabetts <sabetts>
Date:   Tue Oct 3 18:37:54 2006 +0000

    (run-prog): for sbcl and cmucl let the
    subprocess inherit the stdout and stdin streams of the current
    process.
    (run-prog): for sbcl and cmucl also inherit stderr

commit 9b76eeaa0bf01b51b2bfe8b05f8563b2bd95268f
Author: sabetts <sabetts>
Date:   Tue Oct 3 18:36:21 2006 +0000

    (run-prog): for sbcl and cmucl let the
    subprocess inherit the stdout and stdin streams of the current
    process.

commit 9ee7bc30716c682307005256286fa438a3f1d906
Author: sabetts <sabetts>
Date:   Thu Sep 28 20:06:44 2006 +0000

    * version.lisp (*version*): new defvar
    (echo-version): new function
    ("version"): new command
    
    * user.lisp (*root-map*): bind v to version
    
    * stumpwm.asd (:stumpwm): add version.lisp

commit 3b993485f1392fcf7e6932708436213c50bdf9d8
Author: sabetts <sabetts>
Date:   Thu Sep 28 03:07:09 2006 +0000

    * sample-stumpwmrc.lisp: add example of changing prefix key.
    
    * user.lisp (set-prefix-key): verify the KEY's type.

commit 3a72a0d35611f62768712a131850a75e840f9a06
Author: sabetts <sabetts>
Date:   Tue Sep 26 20:09:23 2006 +0000

    * user.lisp ("shell"): use xterm
    
    * user.lisp (run-or-raise): new function
    ("shell"): new command
    ("web"): new command

commit 4677d3e28e0685476196f29f4186c4bcd1d7030b
Author: sabetts <sabetts>
Date:   Tue Sep 26 19:06:33 2006 +0000

    * core.lisp (expand-frame): dont quote symbols in ecase
    (expand-tree): likewise
    (resize-frame): likewise
    
    * user.lisp (run-or-raise): new function
    ("shell"): new command
    ("web"): new command

commit 42549019057ad2771cf8e0c3d87b744baf5b0989
Author: sabetts <sabetts>
Date:   Wed Aug 30 05:03:08 2006 +0000

    * user.lisp ("only"): hide windows not in the focused frame.
    (choose-frame-by-number): use get-frame-number-translation to
    search for a matching frame
    (parse-and-run-command): likewise
    
    * primitives.lisp (*focus-frame-hook*): new hook
    (*frame-number-map*): new global variable
    (get-frame-number-translation): new function
    
    * core.lisp (focus-frame): call *focus-frame-hook* hooks
    (draw-frame-numbers): use get-frame-number-translation for the frame's "id"

commit bbc802df48707441b90c78fdac8e4a9417e63d3b
Author: sabetts <sabetts>
Date:   Fri Aug 18 00:48:48 2006 +0000

    (*root-map*): bind up, down, left, right to move focus in the corresponding direction.
    (find-closest-frame): new function
    ("move-focus"): new command

commit 91d9f84045250472cd547fbdde5d8dc94408a8f2
Author: sabetts <sabetts>
Date:   Thu Jun 22 17:49:51 2006 +0000

    *** empty log message ***

commit c15db3c51516bb5b78bfb4ed0f7e4fbcce101a0e
Author: sabetts <sabetts>
Date:   Thu Jun 22 17:49:31 2006 +0000

    * stumpwm.lisp (stumpwm): call update-modifier-map
    
    * primitives.lisp (*all-modifiers*): new global
    (*modifiers*): likewise
    (screen): remove modifiers slot
    
    * kmap.lisp (x11-mods): handle meta alt syper and super modifiers
    
    * input.lisp (code-state->key): handle meta alt syper and super modifiers
    (all-modifier-codes): new function
    (get-modifier-map): new function
    (update-modifier-map): call all-modifier-codes and get-modifier-map
    
    * core.lisp (:mapping-notify): new event handler

commit c4fb00565c8808d7b67a093091a16f24c536921b
Author: sabetts <sabetts>
Date:   Sun May 7 22:56:08 2006 +0000

    * kmap.lisp (print-key): call keysym->stumpwm-name
    
    * keytrans.lisp (keysym-name->stumpwm-name): new function
    (keysym->stumpwm-name): likewise

commit 48c7bf91da5ba7e5a5edfaddbe766e600c92f35a
Author: sabetts <sabetts>
Date:   Sat May 6 19:29:18 2006 +0000

    *** empty log message ***

commit a87ec462fcb0bdcfd7d6a414205732a4b487de57
Author: sabetts <sabetts>
Date:   Sat May 6 19:28:16 2006 +0000

    * input.lisp (*input-map*): use DEL to refer to the backspace
    key. New binding, Delete. use RET to refer to the return key.
    (input-self-insert): report an error if the keysym is not associated with a character
    
    * user.lisp (*root-map*): use SPC to refer to the space key
    
    * stumpwm.asd (:stumpwm): add keysyms and keytrans files and dependancies
    
    * primitives.lisp (char->keysym): call keysym-name->keysym
    (is-modifier): use keysym names
    
    * kmap.lisp (key): replace char slot with keysym. all callers updated.
    (parse-char-name): remove function
    (parse-key): call stumpwm-name->keysym
    (print-key): call keysym->keysym-name

commit 836781de8fea20761943551f132815043c6e0096
Author: sabetts <sabetts>
Date:   Wed May 3 00:05:58 2006 +0000

    (pull-window-by-number): set the pulled window's
    frame's window to null before raising the frame's new window.
    ("only"): new command
    (*root-map*): bind "Q" to "only"

commit f0da508661987809c0ce9a07270d297dbf922482
Author: sabetts <sabetts>
Date:   Tue May 2 23:32:50 2006 +0000

    (pull-window-by-number): set the pulled window's
    frame's window to null before raising the frame's new window.

commit a3a90155819c4f99cbf296240e5338a7bc25654e
Author: sabetts <sabetts>
Date:   Sat Apr 29 19:10:56 2006 +0000

    * core.lisp (font-exists-p): new function
    (set-font): verify that the font exists first
    
    * core.lisp (set-fg-color): return nil if the color doesn't exist.
    (set-bg-color): likewise
    (set-border-color): likewise
    (color-exists-p): new function

commit 6d64e39b2372bba28d22d1dc47c0efa4cabdcf8d
Author: sabetts <sabetts>
Date:   Sat Apr 29 19:02:18 2006 +0000

    (:stumpwm): export #:set-border-color

commit 63153f8c028ca53636c95691069918dffe39776b
Author: sabetts <sabetts>
Date:   Sat Apr 29 18:59:23 2006 +0000

    (set-fg-color): return nil if the color doesn't exist.
    (set-bg-color): likewise
    (set-border-color): likewise
    (color-exists-p): new function

commit 218c86af7dad9cff0520104ee0547420147c34c0
Author: sabetts <sabetts>
Date:   Fri Apr 28 04:05:18 2006 +0000

    * user.lisp (*root-map*): bind - to fclear
    (other-window): choose the right window when the frame is empty
    (clear-frame): new function
    ("fclear"): new command
    
    * core.lisp (maybe-hide-window): hide the window if new-window is nil
    (frame-raise-window): if w is nil clear the frame

commit 2622ca3a94a5cae4283b2786e0a4d4072f61209d
Author: sabetts <sabetts>
Date:   Fri Apr 28 01:11:32 2006 +0000

    * user.lisp ("quit"): new command
    
    * stumpwm.lisp (stumpwm-internal-loop): catch a :quit tag

commit 523d08808dee152639090768c45a7e6ff4942171
Author: sabetts <sabetts>
Date:   Sun Apr 16 22:12:10 2006 +0000

    * core.lisp (handle-rp-commands): convert the response string using map.
    
    * core.lisp (window-name): call xlib:wm-name
    (window-class): call xlib:get-wm-class
    (window-res-name): likewise
    (handle-rp-commands): always return the bytes-after
    
    * core.lisp (window-name): use get-property to convert the
    property value to a string.
    (window-class): likewise
    (window-res-name): likewise
    (bytes-to-window): new function
    (handle-rp-commands): likewise
    (:property-notify): new event handler
    (handle-event): don't warn about the error.

commit eddeb2a752fe688dc029025e703565ff13547737
Author: sabetts <sabetts>
Date:   Sun Apr 16 22:04:51 2006 +0000

    *** empty log message ***

commit 5f98786b0ad05474c9185e951eb95c0428b0ace0
Author: sabetts <sabetts>
Date:   Sun Apr 16 22:04:44 2006 +0000

    * primitives.lisp (format-expand): unknown % formatters are printed verbatim.
    
    * core.lisp (window-name): call xlib:wm-name
    (window-class): call xlib:get-wm-class
    (window-res-name): likewise
    (handle-rp-commands): always return the bytes-after
    
    * primitives.lisp (remove-hook): new macro
    (dformat): ignore the args
    
    * core.lisp (window-name): use get-property to convert the
    property value to a string.
    (window-class): likewise
    (window-res-name): likewise
    (bytes-to-window): new function
    (handle-rp-commands): likewise
    (:property-notify): new event handler
    (handle-event): don't warn about the error.

commit 7e86f353af05671facb1acb606e7c33f2a144eec
Author: sabetts <sabetts>
Date:   Sun Apr 16 21:37:40 2006 +0000

    * user.lisp (parse-and-run-command): print the input as part of the error.
    
    * stumpwm.lisp (init-atoms): just set +wm-delete-window+. use
    xlib:intern-atom.
    
    * primitives.lisp (remove-hook): new macro
    (dformat): ignore the args
    
    * core.lisp (window-name): use get-property to convert the
    property value to a string.
    (window-class): likewise
    (window-res-name): likewise
    (bytes-to-window): new function
    (handle-rp-commands): likewise
    (:property-notify): new event handler
    (handle-event): don't warn about the error.

commit fb6aafe9b6e35afd1bf8758939a7c649b74fa4f9
Author: sabetts <sabetts>
Date:   Sat Apr 15 18:29:43 2006 +0000

    *** empty log message ***

commit ab5036a6091d655f765cb960d4b593566771a2f6
Author: sabetts <sabetts>
Date:   Sat Apr 15 07:33:50 2006 +0000

    (sync-keys): sync keys on the screen-focus-window.
    (init-screen): don't listen for :key-press events on
    focus-window. grab the keys on the focus-window.

commit e882c367d1a4eac2677e58f5890ececd78822208
Author: sabetts <sabetts>
Date:   Sat Apr 15 01:36:45 2006 +0000

    * user.lisp (*root-map*): bind C-h to "help"
    
    * primitives.lisp (*message-window-gravity*): new defvar
    (*input-window-gravity*): likewise
    
    * input.lisp (setup-input-window): dont set the drawable-y
    (draw-input-bucket): use setup-win-gravity
    
    * core.lisp (setup-win-gravity): new function
    (setup-message-window): use setup-win-gravity
    
    * user.lisp (*root-map*): bind C-N to "number"
    (display-keybinding): new function
    ("help"): new command
    
    * primitives.lisp (*prefix-key*): remove defvar
    (*prefix-modifiers*): likewise
    (mapcar-hash): pass the fn both the key and value. callers updated.
    
    * core.lisp (init-screen): dont grab any keys on the root window
    (init-screen): list for :key-press events on the focus window
    (init-screen): don't grab any keys on the focus window
    
    * user.lisp (*root-map*): bind "t" to "meta t"
    (parse-and-run-command): parse keys
    (send-meta-key): take a key as argument
    ("meta"): likewise
    (set-prefix-key): change the meta and other bindings
    
    * core.lisp (ungrab-keys-on-window): specify :any for :modifiers
    (sync-keys): sync with the xserver after ungrabbing keys on a windows.
    (send-fake-key): accept a key structure as an argument

commit cca1b8aa9fc1290c1bae88c03595cb04fcda4578
Author: sabetts <sabetts>
Date:   Sat Apr 15 01:16:27 2006 +0000

    * user.lisp (*root-map*): bind C-N to "number"
    (display-keybinding): new function
    ("help"): new command

commit 4e35f22597e1256d09c5a669c5662955c2f632a1
Author: sabetts <sabetts>
Date:   Sat Apr 15 01:07:23 2006 +0000

    * primitives.lisp (*prefix-key*): remove defvar
    (*prefix-modifiers*): likewise
    
    * core.lisp (init-screen): dont grab any keys on the root window
    (init-screen): list for :key-press events on the focus window
    (init-screen): don't grab any keys on the focus window
    
    * user.lisp (*root-map*): bind "t" to "meta t"
    (parse-and-run-command): parse keys
    (send-meta-key): take a key as argument
    ("meta"): likewise
    (set-prefix-key): change the meta and other bindings
    
    * stumpwm.asd: require sb-posix for sbcl
    
    * core.lisp (ungrab-keys-on-window): specify :any for :modifiers
    (sync-keys): sync with the xserver after ungrabbing keys on a windows.
    (send-fake-key): accept a key structure as an argument

commit 27f846c6d5f9859e5b7f48b155500f629bfbcaa1
Author: sabetts <sabetts>
Date:   Sat Apr 15 00:41:54 2006 +0000

    (parse-char-name): Return the char-code of the
    name-char.

commit 50971ebb31b2ed025d238ea63906199f549da2c1
Author: sabetts <sabetts>
Date:   Sat Apr 8 01:31:08 2006 +0000

    * user.lisp (set-prefix-key): new function
    
    * stumpwm.lisp (load-rc-file): use ~s to report the error. not ~a.
    (stumpwm): when the rc file fails to load, report the error
    instead of showing a welcome message.
    
    * package.lisp (:stumpwm): export some functions
    
    * kmap.lisp (lookup-command): new function
    (undefine-key): likewise
    
    * input.lisp (*input-map*): rename from *input-keymap*. callers updated.
    
    * core.lisp (:key-press): unmap the message window after reading
    the key sequence.
    (ungrab-keys-on-window): dont pass a value for :modifiers to ungrab-key
    (sync-keys): call display-finish-output

commit 5e4fe0fddea86c730ea21ab59770294af196ae6b
Author: sabetts <sabetts>
Date:   Sat Apr 8 00:26:32 2006 +0000

    (:key-press): unmap the message window after reading
    the key sequence.

commit a89ce581327612ac227527ecf7b7fee7584b8e49
Author: sabetts <sabetts>
Date:   Sat Apr 8 00:08:28 2006 +0000

    *** empty log message ***

commit 6425a5894790c6eba25b4d782139514846743e89
Author: sabetts <sabetts>
Date:   Sat Apr 8 00:08:21 2006 +0000

    (+default-foreground-color+): change to defparameter
    (+default-background-color+): likewise
    (+default-border-color+): likewise
    (+default-font-name+): likewise

commit beb11c97e150a15c24d63f105ed7d88a3270280f
Author: sabetts <sabetts>
Date:   Fri Apr 7 02:26:50 2006 +0000

    * user.lisp (*root-map*): add bindings for C-c and C-e
    
    * stumpwm.lisp (stumpwm-internal-loop): catch errors and handle
    them according to *top-level-error-action*.
    (stumpwm): echo startup string after rc file is loaded
    
    * stumpwm.asd: attempt to require :cmucl-clx
    
    * sample-stumpwmrc.lisp: bring up to date
    
    * primitives.lisp (*font-name*): remove defvar
    (*foreground-color*): likewise
    (*background-color*): likewise
    (*border-color*): likewise
    (+default-foreground-color+): new constant
    (+default-background-color+): likewise
    (+default-border-color+): likewise
    (+default-font-name+): likewise
    (*top-level-error-action*): new defvar
    (screen): new slots border-color, fg-color, bg-color
    
    * core.lisp (focus-window): catch match-error, window-error, and
    drawable-errors.
    (set-fg-color): new function
    (set-bg-color): likewise
    (set-border-color): likewise
    (set-font): likewise
    (get-fg-color-pixel): use screen's fg-color slot
    (get-bg-color-pixel): use screen's bg-color slot
    (get-border-color-pixel): use screen's border-color slot
    (init-screen): use +default-foreground-color+,
    +default-background-color+ +default-border-color+.
    (init-screen): init screen's fg-color, bg-color, border-color and font slots

commit 342837a5377151d035c80115d4aa1248cad9727a
Author: sabetts <sabetts>
Date:   Mon Apr 3 06:24:53 2006 +0000

    *** empty log message ***

commit b04729f0dba5b3ca0b1d7b4c4178643243fdb8b3
Author: sabetts <sabetts>
Date:   Sat Apr 1 21:31:26 2006 +0000

    (grab-keys-on-window): grab the keyboard synchronously.

commit 2fff6955ca3e7fadbb05bf692f06fc4a28fedd2f
Author: sabetts <sabetts>
Date:   Thu Mar 30 05:29:08 2006 +0000

    (run-prog): dont warn on sbcl.

commit d60781e49d42cfb4fdb095c860f4d90214bfee22
Author: sabetts <sabetts>
Date:   Thu Mar 30 00:36:26 2006 +0000

    *** empty log message ***

commit 664726f019fc271d4c84323040587672227fcb91
Author: sabetts <sabetts>
Date:   Thu Mar 30 00:23:48 2006 +0000

    * core.lisp (window-type): check if hints is nil
    (geometry-hints): likewise
    (define-stump-event-handler): dont catch any errors
    (:configure-request): likewise
    (handle-event): catch drawable-error and window-error errors.

commit 85b6d2b96916b10e8c6deaa2777e34f1b9ec3ad3
Author: sabetts <sabetts>
Date:   Wed Mar 29 05:57:03 2006 +0000

    * primitives.lisp (*foreground-color*): new defvar
    (*background-color*): likewise
    (*border-color*): likewise
    
    * input.lisp (draw-input-bucket): use invert-rect
    
    * core.lisp (reparent-window): use get-bg-color-pixel
    (get-color-pixel): new function
    (get-fg-color-pixel): likewise
    (get-bg-color-pixel): likewise
    (get-border-color-pixel): likewise
    (create-message-window-gcontext): use get-bg-color-pixel and
    get-fg-color-pixel
    (draw-frame-outlines): likewise
    (draw-frame-numbers): likewise
    (show-frame-indicator): likewise
    (create-inverse-gcontext): remove function
    (invert-rect): properly invert the colors
    (update-colors-for-screen): new function
    (update-colors-all-screens): likewise
    (init-screen): use *foreground-color* *background-color* and
    *border-color* for window colors

commit 59aa020dcc313c0c97276d38089da5384302b839
Author: sabetts <sabetts>
Date:   Wed Mar 29 01:10:59 2006 +0000

    * user.lisp (choose-frame-by-number): call draw-frame-outlines
    
    * core.lisp (draw-frame-outlines): new function
    (clear-frame-outlines): likewise

commit e5cfcd201fdebf53c534c36e5a276044367e165f
Author: sabetts <sabetts>
Date:   Wed Mar 29 00:42:55 2006 +0000

    * user.lisp (pull-window-by-number): get the window's frame after
    it's confirmed the window isn't nil.
    
    * core.lisp (raise-window): new function
    (maybe-hide-window): likewise
    (focus-window): call raise-window and maybe-hide-window
    (frame-raise-window): call maybe-hide-window and raise-window
    
    * core.lisp (:map-request): don't absorb already managed windows

commit 9677beea8a64ed9b80f43502633905910abfd5fa
Author: sabetts <sabetts>
Date:   Tue Mar 28 11:29:55 2006 +0000

    * primitives.lisp (dformat): ignore debug output
    
    * core.lisp (:map-request): don't absorb already managed windows

commit ddf4da28aa58ac5bfc6ffb9946278053a41a7273
Author: sabetts <sabetts>
Date:   Sun Mar 26 02:32:54 2006 +0000

    * stumpwm.lisp (stumpwm): use ' not #' in mapc.
    
    * primitives.lisp (*window-format-fn*): remove defvar
    (*maxsize-border-width*): new defvar
    (*transient-border-width*): likewise
    (*normal-border-width*): likewise
    (*window-events*): likewise
    
    * core.lisp (window-border-width): new function
    (setf window-border-width): likewise
    (default-border-width-for-type): likewise
    (unhide-window): likewise
    (hide-window): likewise
    (window-type): likewise
    (process-new-window): use *window-events*
    (process-existing-windows): hide all absorbed windows
    (absorb-mapped-window): give window a default border width
    (focus-window): properly get the currently focused window. dont do
    anything if its already focused. hide the currently focused
    window.
    (define-stump-event-handler): catch drawable-error's.
    (:configure-request): don't use parent or above-sibling args
    (:map-request): dont use parent arg
    (:unmap-notify): dont use configure-p arg. ignore the proper event type.
    (:create-notify): dont use parent window x y width height or border-width args
    (:key-press): dont use window args

commit 8ac6bfe76e2ae211c4447e929fd1a8ce88ef0216
Author: sabetts <sabetts>
Date:   Sun Mar 26 00:56:41 2006 +0000

    * core.lisp (frame-raise-window): handle the case when w is nil.

commit 9f78bbd59626dd78d4d58cdff64a0041947751a3
Author: sabetts <sabetts>
Date:   Sun Mar 26 00:41:38 2006 +0000

    * stumpwm.lisp (stumpwm-internal-loop): flush output after processing events.

commit 25540e17fa8b08c617de1d6f6f2fd16b2fe61e29
Author: sabetts <sabetts>
Date:   Sun Mar 26 00:36:27 2006 +0000

    (code-state->key): use #\Null if no keysym to char mapping exists.

commit 21440668a0a266ec49cc2e55758c8c5adcf36be9
Author: sabetts <sabetts>
Date:   Sat Mar 25 13:14:06 2006 +0000

    (other-window): display an error message when no other window can be selected

commit faf4bf103d70effa38e8003dad668b301695a401
Author: sabetts <sabetts>
Date:   Sat Mar 25 11:36:56 2006 +0000

    (*root-map*): bind C-g to abort, not g.
    (send-meta-key): don't send a key if there's no current window

commit ba96f3631138e670bfe494b2b130b8d911c81463
Author: sabetts <sabetts>
Date:   Sat Mar 25 11:34:27 2006 +0000

    *** empty log message ***

commit 50d99b7c9a68c5f5ac884e6aa42b3a682d7a7e35
Author: sabetts <sabetts>
Date:   Sat Mar 25 11:33:57 2006 +0000

    * user.lisp (*root-map*): bind C-g to abort, not g.
    
    * core.lisp (handle-keymap): accept a code and state. read the
    next key when its a keymap. return the key sequence for the
    command.
    (:key-press): call display-force-output after ungrabbing the
    pointer and keyboard. do not lookup the command. print the key
    sequence if no command was found.

commit 77d17b8159244a55ca407e9fd36341e3f7b1bb36
Author: sabetts <sabetts>
Date:   Sat Mar 25 09:48:20 2006 +0000

    *** empty log message ***

commit 07ebc18696501f4c9f90caba2aca86fa949a7f26
Author: sabetts <sabetts>
Date:   Sat Mar 25 06:39:22 2006 +0000

    *** empty log message ***

commit ee6e302884896f3be99ec0f11825c05287541bf3
Author: sabetts <sabetts>
Date:   Sat Mar 25 06:20:26 2006 +0000

    (stumpwm): give display-str a default value.

commit 71fa83bb919e04fc071f5745b2cc1b699f6bcbe9
Author: sabetts <sabetts>
Date:   Fri Mar 24 06:11:17 2006 +0000

    * stumpwm.lisp (stumpwm): remove &key
    
    * input.lisp (read-one-line): remove done var
    
    * core.lisp (*top-map*): moved from user.lisp
    (tree-x): dont accept a screen arg. all callers updated.
    (tree-y): likewise
    (tree-width): likewise
    (tree-height): likewise
    (tree-row-split): likewise
    (tree-column-split): likewise
    (expand-tree): likewise
    (join-subtrees): likewise
    (remove-frame): likewise
    (resize-frame): unknown changes

commit 2e3033e3a0b22d47047323ba35c4bf828078cf63
Author: sabetts <sabetts>
Date:   Sun Mar 19 01:53:54 2006 +0000

    *** empty log message ***

commit 5c8ba176645f4c40734b09db182620ef328ea6e7
Author: sabetts <sabetts>
Date:   Sat Mar 11 01:25:28 2006 +0000

    (remove-split): sync all frames
    ("resize"): new command
    (*root-map*): bind "Space" not " "

commit 1a2b2de406849e9d05221c660d2f03633e419743
Author: sabetts <sabetts>
Date:   Fri Mar 10 06:11:30 2006 +0000

    * user.lisp (remove-split): sync all frames
    ("resize"): new command
    
    * core.lisp (tree-iterate): new function
    (join-subtrees): tighten up code
    (depth-first-search): new function
    (spree-root-branch): likewise
    (resize-frame): likewise

commit 8d60181c7c742bcb6026423bc7562d638bb0129b
Author: sabetts <sabetts>
Date:   Fri Mar 3 06:09:09 2006 +0000

    * user.lisp (*root-map*): bind "c" to "exec xterm". bind "other" to C-t
    
    * kmap.lisp (parse-char-name): return the char-code
    
    * input.lisp (code-state->key): store char as a char-code. all callers updated.
    
    * core.lisp (:key-press): make sure cmd isn't nil

commit dfea71ec0831da708b5786c42097db3165eb12b6
Author: sabetts <sabetts>
Date:   Fri Mar 3 04:55:55 2006 +0000

    * core.lisp (ungrab-keys-on-window): pass :any correctly.
    (grab-keys-on-window): grab all keybindings in *top-map*
    (sync-keys): new defun
    (handle-keymap): new defun
    (handle-command-key): remove defun
    (:key-press): lookup key event in *top-map* and execute matching command.
    
    * kmap.lisp (x11-mods): new defun
    
    * primitives.lisp (key-binding): remove defstruct
    (*key-bindings*): remove defvar
    
    * stumpwm.lisp (stumpwm): do not call set-key-binding
    
    * user.lisp (*root-map*): new key map
    (set-key-binding): remove defun
    ("curframe"): new command
    ("echo"): likewise
    (set-default-bindings): remove defun
    
    * stumpwm.lisp (stumpwm-internal-loop): listen for events and process them when they come in.
    
    * core.lisp (frame-raise-window): don't do anything if w is nil
    (expand-frame): use ecase
    (expand-tree): properly expand the tree to take up the space.
    (join-subtrees): properly obtain AMOUNT.
    (expand-tree): make it work for expand to the 'right and 'bottom

commit 504f908c6540b12b34318ee1d8cea2f39dbca7c3
Author: sabetts <sabetts>
Date:   Fri Mar 3 03:18:00 2006 +0000

    (stumpwm-internal-loop): listen for events and process them when they come in.

commit 65ae883dd5ec1161125450352d61453a0b139adc
Author: sabetts <sabetts>
Date:   Thu Mar 2 16:42:20 2006 +0000

    (expand-tree): make it work for expand to the 'right and 'bottom

commit a9a2f0c635175275bd67f62075d6a3e0d44e3992
Author: sabetts <sabetts>
Date:   Thu Mar 2 05:58:02 2006 +0000

    (frame-raise-window): don't do anything if w is nil
    (expand-frame): use ecase
    (expand-tree): properly expand the tree to take up the space.
    (join-subtrees): properly obtain AMOUNT.

commit eb6ed90cc9e404c8f258279770182e044565c723
Author: sabetts <sabetts>
Date:   Thu Mar 2 03:22:08 2006 +0000

    * user.lisp (vert-split-frame): call show-frame-indicator with screen
    (select-window): raise the window in its frame.

commit be991aaa2e4aa2ddba61574db12b4196ddf3efc7
Author: sabetts <sabetts>
Date:   Thu Mar 2 02:49:07 2006 +0000

    * primitives.lisp (*internal-loop-hook*): new hook
    
    * stumpwm.lisp (stumpwm-internal-loop): run the *internal-loop-hook* hook

commit b416697689398a3924d4680c596cd4ad8b0c28a1
Author: sabetts <sabetts>
Date:   Thu Mar 2 02:42:17 2006 +0000

    * core.lisp (frame-raise-window): new argument focus. simply raise
    the frame's window if focus is NIL.
    (maximize-window): use floor instead of truncate.

commit 5207d1942740c467d2d2744fdc5917cc727bf3e9
Author: sabetts <sabetts>
Date:   Thu Mar 2 02:40:59 2006 +0000

    * core.lisp (frame-raise-window): new argument focus. simply raise
    the frame's window if focus is NIL.
    
    * user.lisp (horiz-split-frame): call show-frame-indicator
    (vert-split-frame): likewise
    (remove-split): likewise
    (focus-frame-sibling): likewise
    ("fselect"): likewise
    (pull-window-by-number): give the old frame a new window if it's
    focused window is being pulled.
    (renumber): remove useless error message.
    
    * stumpwm.lisp (load-rc-file): use user-homedir-pathname
    (stumpwm-internal-loop): call unmap-all-frame-indicators
    
    * primitives.lisp (*timeout-frame-indicator-wait*): new defun
    (*timeout*): add doc string
    (reset-timeout-for-frame-indicator): new defun
    (font-height): likewise
    
    * core.lisp (process-new-window): use +normal-state+
    (split-frame-v): use frame-y for :y
    (unmap-frame-indicator): new defun
    (unmap-all-frame-indicators): likewise
    (show-frame-indicator): likewise
    (echo-in-window): use font-height
    (init-screen): give frame-window a 1 pixel border

commit 0e20942ba9f0b4e2b421df725e962afd6f47102f
Author: sabetts <sabetts>
Date:   Thu Jan 26 08:30:16 2006 +0000

    * primitives.lisp (*window-formatters*): add %i formatter
    
    * core.lisp (fmt-window-status): new function
    (default-window-format): remove function
    (window-number): do not require the screen. all callers updated.
    (set-window-number): likewise
    (window-class): properly extract the resource class
    (window-res-name): new function
    
    * primitives.lisp (dformat): new function
    (format-expand): new function
    (*window-formatters*): new variable
    (*window-format*): likewise
    
    * core.lisp (geometry-hints): correctly center maxsize and transient windows.
    (geometry-hints): honour aspect hints
    
    * core.lisp (create-message-window-gcontext): only supply the foreground color.
    (create-inverse-gcontext): new function

commit a4c0e44558a3b81e0c5496b22ff9540f7ac17d74
Author: sabetts <sabetts>
Date:   Thu Jan 26 08:25:36 2006 +0000

    * core.lisp (fmt-window-status): new function
    (default-window-format): remove function
    (window-number): do not require the screen. all callers updated.
    (set-window-number): likewise
    
    * user.lisp (echo-windows): take a format arg. call format-expand
    to format the window list.
    
    * primitives.lisp (dformat): new function
    (format-expand): new function
    (*window-formatters*): new variable
    (*window-format*): likewise
    
    * core.lisp (geometry-hints): correctly center maxsize and transient windows.
    (geometry-hints): honour aspect hints
    
    * core.lisp (create-message-window-gcontext): only supply the foreground color.
    (create-inverse-gcontext): new function

commit 6023a85eb3221de5b0a776969ccf63af566e8238
Author: sabetts <sabetts>
Date:   Thu Jan 26 07:39:31 2006 +0000

    *** empty log message ***

commit 906318778a99ad09a9527ba8c3cc2336be0cba68
Author: sabetts <sabetts>
Date:   Thu Jan 26 07:39:25 2006 +0000

    use dformat

commit 0237579accb4e2ca1c1646010cc4dcc45ff1c330
Author: sabetts <sabetts>
Date:   Thu Jan 26 06:45:45 2006 +0000

    * core.lisp (geometry-hints): correctly center maxsize and transient windows.
    (geometry-hints): honour aspect hints
    
    * core.lisp (create-message-window-gcontext): only supply the foreground color.
    (create-inverse-gcontext): new function

commit cde70a1d7b21acc46a762d10e012dad9903eaf4f
Author: sabetts <sabetts>
Date:   Thu Jan 26 06:22:18 2006 +0000

    * core.lisp (geometry-hints): correctly center maxsize and transient windows.
    
    * core.lisp (create-message-window-gcontext): only supply the foreground color.
    (create-inverse-gcontext): new function

commit 0ae885800ce13a6214ac101c93323e2287248bce
Author: sabetts <sabetts>
Date:   Thu Jan 26 06:13:31 2006 +0000

    * input.lisp (input-line): new defstruct
    (*input-keymap*): new keybindings
    (*input-history*): new var
    (make-input-string): new function
    (read-one-line): use the input-line structure
    (draw-input-bucket): likewise. draw a cursor position. flash briefly on error.
    (input-delete-backward-char): new function
    (input-delete-char): remove function
    (input-delete-forward-char): new function
    (input-forward-char): likewise
    (input-backward-char): likewise
    (input-move-beginning-of-line): likewise
    (input-move-end-of-line): likewise
    (input-kill-line): likewise
    (input-kill-to-beginning): likewise
    (input-history-back): likewise
    (input-history-forward): likewise
    (input-submit): just return :done
    (input-self-insert): use input-line structure.
    (process-input): likewise
    
    * core.lisp (create-message-window-gcontext): only supply the foreground color.
    (create-inverse-gcontext): new function

commit 3a6d9e37ad888f79366ca55ebec8582927b303ab
Author: sabetts <sabetts>
Date:   Wed Jan 25 07:33:24 2006 +0000

    * user.lisp (parse-and-run-command): fix macro expansion bug. only
    parse-integer when the argument is a string.
    
    * stumpwm.lisp (init-atoms): init +wm-state+ and +wm-protocols+
    
    * stumpwm.asd (:stumpwm): add kmap
    
    * primitives.lisp (+wm-state+): new var
    (+wm-protocols+): likewise
    (split-string): new function
    
    * input.lisp (*input-keymap*): new var
    (read-one-line): make input a string
    (code-state->key): new function
    (input-delete-char): likewise
    (input-submit): likewise
    (input-abort): likewise
    (input-self-insert): likewise
    (process-input): use keymaps to find key actions

commit 1a04158017375db1b93dcd2b74ffced8186e9b32
Author: sabetts <sabetts>
Date:   Tue Jan 24 04:11:48 2006 +0000

    * stumpwm.lisp (stumpwm): set the display env. variable
    
    * primitives.lisp (setf getenv): new function

commit 5b3caeb86785a419ed30d50b2bb980542dfdf5b5
Author: sabetts <sabetts>
Date:   Tue Jan 24 03:38:47 2006 +0000

    *** empty log message ***

commit c4add09576cb8e47bb68cfd2ea34adff5781fc29
Author: sabetts <sabetts>
Date:   Tue Jan 24 03:38:28 2006 +0000

    * user.lisp (run-shell-command): call our own run-prog function
    
    * stumpwm.lisp (stumpwm): call our own getenv function
    
    * primitives.lisp (remove-plist): new function
    (run-prog): likewise
    (getenv): likewise

commit 7624edd37cab3e22e9358a13ad16a850f229fddb
Author: sabetts <sabetts>
Date:   Wed Dec 1 03:49:56 2004 +0000

    (select-window): don't read a line from the user. Get it as the
    second arg. All callers updated.

commit 837146c38419cac00e895643a73a7abcb9e379af
Author: sabetts <sabetts>
Date:   Wed Dec 1 02:00:04 2004 +0000

    (set-default-bindings): bind ; to colon and : to eval.

commit de2c146b245a17f47ef5c365997dbe2f02e433b2
Author: sabetts <sabetts>
Date:   Wed Dec 1 02:00:04 2004 +0000

    (set-default-bindings): bind ; to colon and : to eval.

commit 659596128e89b37aadbb2a807a679955cf771ed9
Author: sabetts <sabetts>
Date:   Wed Dec 1 01:39:27 2004 +0000

    *** empty log message ***

commit 08cc94de3f64566d7b1684e38d46c394285353f3
Author: sabetts <sabetts>
Date:   Wed Dec 1 01:21:22 2004 +0000

    ("abort"): new stumpwm command

commit 669b4555af497a56105149f57fe2a517b0649c48
Author: sabetts <sabetts>
Date:   Wed Dec 1 01:18:20 2004 +0000

    * user.lisp (command): new defstruct
    (*command-hash*): new defvar
    (define-stumpwm-command): new macro
    (set-key-binding): change 3rd arg to cmd
    ("next"): new stumpwm command
    ("prev"): likewise
    ("delete"): likewise
    ("kill"): likewise
    ("banish"): likewise
    ("windows"): likewise
    ("select"): likewise
    (shell-command): remove function
    ("other"): new stumpwm command
    (run-shell-command): new function
    ("exec"): new stumpwm command
    ("hsplit"): likewise
    ("vsplit"): likewise
    (remove-split): use format for debugging output
    ("remove"): new stumpwm command
    ("sibling"): likewise
    (choose-frame-by-number): new function
    ("fselect"): new stumpwm command
    (eval-line): take the expression to eval as the second arg
    ("eval"): new stumpwm command
    (split-by-one-space): new function
    (parse-and-run-command): likewise
    (interactive-command): new function
    ("colon"): new stumpwm command
    ("pull"): likewise
    ("meta"): likewise
    (renumber): take the new number as arg #2
    ("number"): new stumpwm command
    ("reload"): likewise
    (set-default-bindings): bind keys to stumpwm commands
    
    * stumpwm.lisp (load-rc-file): change ~/.stumpwmrc path to be more portable.
    (error-handler): use format for debugging output
    
    * primitives.lisp (*key-bindings*): change to defvar.
    (find-free-number): use format for debugging output
    
    * input.lisp (setup-input-window): use format for debugging output
    (shutdown-input-window): likewise
    
    * core.lisp (process-existing-windows): use format for debugging output
    (no-focus): likewise
    (delete-window): likewise
    (kill-window): likewise
    (focus-frame): likewise
    (sync-frame-windows): likewise
    (draw-frame-numbers): likewise
    (:configure-request): likewise
    (handle-command-key): likewise
    (:key-press): likewise
    (handle-event): likewise
    (echo-string-list): force output

commit 428ee1bab00e756271dc75f2f57c178432b7385e
Author: sabetts <sabetts>
Date:   Mon Nov 15 21:10:11 2004 +0000

    added Manuel

commit d677c46340564f9ee4429d5742e83ca3c314f7c4
Author: sabetts <sabetts>
Date:   Mon Nov 15 21:08:39 2004 +0000

    first revision

commit 25b360f297b6b26a1cdae4670d6257ebdd508e68
Author: sabetts <sabetts>
Date:   Fri Nov 12 06:35:47 2004 +0000

    (screen): remove frame-hash. all dependant code
    updated.

commit 76bf3a1c0692a3d0c2646020d2237f14b0272e84
Author: sabetts <sabetts>
Date:   Mon Oct 11 01:51:49 2004 +0000

    * user.lisp (set-default-bindings): add a binding for
    kill-current-window.
    (focus-forward): only focus the window, nw, if it is non-null.
    (kill-current-window): new function
    
    * stumpwm.lisp (stumpwm): if the display string isn't provided and
    there's no DISPLAY env var then use :0 when opening the display.
    (stumpwm): don't set an error handler.
    (stumpwm): catch the xlib error telling us another window manager
    is running and return from the function.
    
    * core.lisp (focus-window): wrap the function in a handler-case to
    catch drawable-error.
    (kill-window): new function

commit 15b92c041caf5aeb31fc4223d8fe752cf242d138
Author: sabetts <sabetts>
Date:   Sun Oct 10 23:18:03 2004 +0000

    (load-rc-file): new function
    (stumpwm): echo a welcome message. Load the rc file and display
    any errors that occurred while loading it.

commit 812698f5aefd2206a8e4d289a777a27dca9df593
Author: sabetts <sabetts>
Date:   Sat Oct 9 01:09:47 2004 +0000

    * stumpwm.lisp (parse-display-string): new function
    (stumpwm): take an optional display string as an argument and
    parse it. If it is nil then use the DISPLAY environment variable.

commit 28cbdb34e5539aca27385f5fef043f5378c4f261
Author: sabetts <sabetts>
Date:   Fri Oct 8 21:22:15 2004 +0000

    * core.lisp (send-client-message): new function
    (window-name): use coerce to turn it into a string
    (window-class): new function
    (maximize-window): use multiple-value-bind to bind variables to
    the hints returned by geometry-hints
    (geometry-hints): return the hints using #'values
    (focus-window): send a wm-take-focus client message
    (delete-window): use send-client-message to send the delete window
    client message
    
    * primitives.lisp (+wm-take-focus+): new atom
    (*editor-bindings*): properly initialize it to nil
    
    * stumpwm.lisp (init-atoms): initialize +wm-take-focus+
    
    * user.lisp (focus-frame-sibling): Only give focus to the sibling
    if one exists.

commit 247092a74c5de95104ec3f236a00b38c32bb2fa8
Author: sabetts <sabetts>
Date:   Sat Apr 24 05:49:28 2004 +0000

    add renumber. add cheap modifiers.

commit f30f6d415e0a192ef8f9dbc427aba1695c26b4e3
Author: sabetts <sabetts>
Date:   Thu Apr 15 08:21:28 2004 +0000

    (process-new-window): set the window state to normal
    (process-existing-windows): don't process internal windows
    (process-existing-windows): print the name of the window being
    processed
    (internal-window-p): new function
    (init-screen): grab the prefix key on the focus window. don't
    listen for any events on the focus-window.

commit ddb9024e44c0e0e27757f60ee2edb31ced4225ea
Author: sabetts <sabetts>
Date:   Sun Feb 29 11:00:42 2004 +0000

    (split-frame): don't give the new frame a window

commit e7aa67c775cf5e2264f8f6036e408740e1c47a51
Author: sabetts <sabetts>
Date:   Sun Feb 29 10:38:42 2004 +0000

    *** empty log message ***

commit d94a0655ff0e1342598ffc212e5d71fce8175cd8
Author: sabetts <sabetts>
Date:   Sun Feb 29 10:36:00 2004 +0000

    Added frame support

commit 2c3d70778e0881d855b58fe37892a6d536f39c36
Author: sabetts <sabetts>
Date:   Sat Nov 15 10:07:57 2003 +0000

    (:stumpwm): update system description to reflect new
    file names.

commit 9cd671dba5f7b88221aa4a1d61351574037f8fe0
Author: sabetts <sabetts>
Date:   Sat Nov 15 10:05:10 2003 +0000

    *** empty log message ***

commit eb48c9257c3e1d8f54db3ab67a64fd40c985fada
Author: sabetts <sabetts>
Date:   Thu Oct 16 21:25:44 2003 +0000

    * stumpwm.lisp (stumpwm-internal-loop): handle a timer. Call
    unmap-all-message-windows when the timer times out.
    
    * stumpwm-user.lisp (echo-windows): echo a message when there are
    no managed windows.
    
    * stumpwm-primitives.lisp (*timeout-wait*): new variable
    (*timeout*): likewise
    (reset-timeout): new function
    (screen): remove key-window slot. All dependant code removed.
    
    * stumpwm-core.lisp (unmap-message-window): new function
    (unmap-all-message-windows): likewise
    (echo-string-list): call reset-timeout
    (current-screen): check the screen's root window for focus.
    (init-screen): grab the prefix key on the root window
    (grab-keyboard): new function
    (ungrab-keyboard): likewise
    (:key-press): call unmap-message-window
    (:key-press): call grab-keyboard
    (:key-press): call ungrab-keyboard

commit c85149c3aba6524c0130e8dd0cfbde853216849b
Author: sabetts <sabetts>
Date:   Thu Oct 16 18:15:01 2003 +0000

    (stumpwm): call set-default-bindings

commit 49a0a75d886b83eb55a36f64c08131b13faeaaf7
Author: sabetts <sabetts>
Date:   Tue Oct 14 06:57:51 2003 +0000

    * stumpwm-user.lisp (shell-command): use *shell-program*
    
    * stumpwm-primitives.lisp (*shell-program*): new defvar
    
    * stumpwm-user.lisp (set-key-binding): rename from set-key.
    (set-default-bindings): new function
    (shell-command): likewise
    
    * stumpwm-primitives.lisp (*start-hook*): new hook
    (*key-bindings*): rename from key-binding-alist. init to an empty
    hash table. All callers updated.

commit 1aa309226f175fb30a01537b5ff31297df17ef7f
Author: sabetts <sabetts>
Date:   Tue Oct 14 06:55:55 2003 +0000

    * stumpwm.lisp (stumpwm): run *start-hook*
    
    * stumpwm-user.lisp (set-key-binding): rename from set-key.
    (set-default-bindings): new function
    (shell-command): likewise
    
    * stumpwm-primitives.lisp (*start-hook*): new hook
    (*key-bindings*): rename from key-binding-alist. init to an empty
    hash table. All callers updated.
    
    * stumpwm-core.lisp (handle-command-key): use keycode->character.
    
    * stumpwm.asd (:stumpwm): add "package" dependency for "stumpwm-primitives"

commit d48d1f147c2f21d02d1cce7a2d7530ad78125ce1
Author: sabetts <sabetts>
Date:   Sun Oct 12 07:39:21 2003 +0000

    install docs

commit 8aa164b43d53a6381f1577f1bde98fbcf202d6bc
Author: sabetts <sabetts>
Date:   Sun Oct 12 07:04:14 2003 +0000

    Create an ASDF package.

commit 5fe1f7ed5a3bf04d217b0cdc79a15594c47341f3
Author: sabetts <sabetts>
Date:   Sun Sep 28 17:00:03 2003 +0000

    *** empty log message ***

commit 1830d8ada8361b7d355228ff47d986dbc7997f63
Author: sabetts <sabetts>
Date:   Mon Sep 22 19:00:56 2003 +0000

    * stumpwm-input.lisp (read-key): remove screen argument. All
    callers updated.
    (read-key-handle-event): declare display as ignorable.
    (read-key-handle-event): in key-press, declare event-slots and
    root as ignorable.

commit d1640682c3af156e1239065c61c9cbfc5a398a1f
Author: sabetts <sabetts>
Date:   Mon Sep 22 07:55:21 2003 +0000

    * stumpwm.lisp (*window-format-fn*): bound to
    default-window-format
    (*key-binding-alist*): bind #\a to echo-date
    (mapcar-hash): declare key as ignorable in lambda fn
    (default-window-format): new function
    (find-free-window-number): remove window parameter
    (process-existing-windows): call absorb-mapped-window. give the
    first window in the mapped window list focus.
    (echo-string-list): new function
    (echo-window-list): remove
    (echo-string): new function
    (:configure-request): focus the window if a :bave stack-mode
    request was made.
    (:map-request): call absorb-mapped-window
    (absorb-mapped-window): new function
    (handle-events): remove function
    (stumpwm-internal-loop): call xlib:process-event directly.
    (error-handler): correctly detect another WM running and signal an
    error.
    (:destroy-notify): call remove-window.
    (:unmap-notify): call remove-window
    (remove-window): new function
    (add-window): add a window-table entry and the window's new
    number.
    
    * stumpwm-user.lisp (echo-windows): call echo-string-list
    (echo-date): new function.

commit 71ed54139a7f845208bfdfa8f57ca925055382c3
Author: sabetts <sabetts>
Date:   Fri Sep 19 00:15:05 2003 +0000

    * stumpwm-user.lisp (select-window): pass a prompt to
    read-one-line.
    
    * stumpwm-input.lisp (setup-input-window): add prompt
    argument. call draw-input-bucket.
    (read-one-line): add prompt argument.
    (process-input): likewise
    (draw-input-bucket): add prompt argument. Draw the prompt.

commit 6d936e77e799b4b8373e72519026027cf12beef5
Author: sabetts <sabetts>
Date:   Thu Sep 18 22:11:29 2003 +0000

    * stumpwm.lisp (init-screen): select events on the root window
    first.
    (error-handler): new function
    (stumpwm): set the display's error handler

commit 4636eb786e1c261bd6b6ecf249be6e26c50e4538
Author: sabetts <sabetts>
Date:   Thu Sep 18 21:20:23 2003 +0000

    *** empty log message ***

commit 5898bfbca10f160a4d262195c2830ffda14069ea
Author: sabetts <sabetts>
Date:   Thu Sep 18 21:14:23 2003 +0000

    *** empty log message ***

commit 703def30d542e1c74cca2320e0b0b0385b24706d
Author: sabetts <sabetts>
Date:   Thu Sep 18 20:57:20 2003 +0000

    * stumpwm-input.lisp (read-one-line): renamed from read-line. Callers updated.

commit 7e53c6f0c6f52877fdb556982b28da911ee382e9
Author: sabetts <sabetts>
Date:   Thu Sep 18 20:11:13 2003 +0000

    * stumpwm-input.lisp (keycode->string): use keysym->character.
    
    * stumpwm.lisp (handle-unmap-notify): remove the window's entry in
    screen-window-table.
    (char->keysym): new function. All xlib:keysym callers use this.

commit bc15fb76be1094b694ed6214aeaffe036f04b40d
Author: sabetts <sabetts>
Date:   Thu Sep 18 07:40:35 2003 +0000

    *** empty log message ***

commit b2ed3e1eaf9060cfe393c5411f25461265e51f7d
Author: sabetts <sabetts>
Date:   Thu Sep 18 07:28:41 2003 +0000

    * stumpwm.lisp (handle-unmap-notify): remove the window's entry in
    screen-window-table.
    
    * stumpwm-input.lisp (read-key-handle-event): return a (code . state) pair.
    (read-key): new function
    (read-line): likewise
    (draw-input-bucket): likewise
    (process-input): likewise
    (handle-key): remove function
    (read-input): remove function
    
    * stumpwm-user.lisp (focus-next-window): call sort-windows
    (focus-prev-window): likewise
    (echo-windows): likewise
    (select-window): don't search for a match if the user input was
    ().
    (select-window-number): new function
    (other-window): likewise
    
    * stumpwm.lisp (*window-format-fn*): new global
    (*key-binding-alist*): add commands on #\g, #\0-9, #\t, and #\'.
    (screen): remove input-bucket slot
    (sort1): new function
    (mapcar-hash): likewise
    (window-name): return the name as a string.
    (window-number): new function
    (sort-windows): likewise
    (handle-map-request): create the window-table hash table for the
    new window.
    (handle-key-press): call read-key.
    (find-free-window-number): new function
    (add-window): likewise
    (move-window-to-head): likewise
    (current-screen): call xlib:window-equal.
    (echo-window-list): use *window-format-fn* to format the window
    strings.

commit 91da33822ba9da0febccacb7e125fd3630086df8
Author: sabetts <sabetts>
Date:   Wed Sep 17 23:44:27 2003 +0000

    * stumpwm.lisp (*key-binding-alist*): add select-window
    (key-binding): new structure
    (*editor-bindings*): new global
    (modifiers): new structure
    (screen): add input-bucket, modifiers and font slots
    (conc1): new function
    (init-screen): set the input-window's background to black, border
    to white and border-width to 1.
    (init-screen): init font and input-bucket
    (*event-fn-table*): new global
    (define-stump-event-handler): new macro
    (:map-notify): new event handler
    (:configure-request): likewise
    (:map-request): likewise
    (:unmap-notify): likewise
    (:create-notify): likewise
    (:destroy-notify): likewise
    (:key-press): likewise
    (handle-event): new function
    (handle-events): use xlib:process-event and handle-event to
    process events.
    (handle-configure-request): check the value-mask before setting
    the attribute. New function argument, stack-mode.
    (create-message-window-gcontext): remove font function
    argument. Use screen-font instead.
    (setup-message-window): likewise
    (echo-window-list): likewise
    
    * stumpwm-user.lisp (select-window): new function
    
    * stumpwm-input.lisp (read-key-handle-event): new function
    (read-line): likewise
    (setup-input-window): likewise
    (shutdown-input-window): likewise
    (update-modifier-map): likewise
    (x11mod->stumpmod): likewise
    (mod->string): likewise
    (keycode->string): likewise
    (cook-keycode): likewise
    (keycode->character): likewise
    (handle-key): likewise
    (read-input): likewise

commit f56ea9b506cae8819fcd5295ff8bc3afc1da1905
Author: sabetts <sabetts>
Date:   Sat Sep 13 21:01:16 2003 +0000

    (geometry-hints): truncate the values where
    division is used.

commit 5dadf6343ff3ea2751537eeeb9e7cf4c3e751b66
Author: sabetts <sabetts>
Date:   Mon Jul 21 23:32:59 2003 +0000

    * stumpwm.lisp (#:stumpwm): change package name from stump.
    (stumpwm): change name from stump
    (stumpwm-internal-loop): change name from stump-internal-loop.
    
    * stumpwm-user.lisp: define everything in package #:stumpwm
