--  README for bbkeys, a general XWindow keygrabber, meant to be a working
--  example of a better window-hinting scheme with blackbox.

As for the tool itself, it's a fairly trivial thing to write a keygrabber, and
it's a real cinch when you don't have to worry about users muddling about with
YOUR windows, etc.  But such is life. So here's the way it works: bbkeys will 
pick up its style-settings from the same places that the other bbtools does.
But its key-grabbings come from $HOME/.bbkeysrc.  There are several avenues
open to the user to set any key-grabs that the user wishes.  

-[  First is the blackbox all-in-one configuration tool called bbconf
    (http://bbconf.sourceforge.net).  I'd like to get this thing used more 
    than the other two methods, but I'm also very aware that many users use 
    blackbox because of the fact that they don't like big, bloated things, 
    and as such, they most probably don't have qt on their boxes, hence the
    next two options available to you...  =:)

-[  bbkeys can be launched with the -noqt option and whenever the little
    reconfigure button (the key-hole) on bbkeys is clicked, bbkeys will
    launch a very simple interactive rc-file generator called bbkeysconf.pl 
    (written in perl) inside of an xterm.  I'm assuming even the 
    anti-big-bloated-things-people have those luxuries on their boxen.  
    If this is an incorrect assumption, do let me know. =:)

-[  Third is manually editting $HOME/.bbkeysrc. The format is very easy, 
    and it consists of lines describing the Key to grab, the modifier to 
    grab the key with (if any, or "None" if none), and the action to 
    perform. My $HOME/.bbkeysrc file is as follows,
    for example's sake:

    KeyToGrab(m), WithModifier(Mod1), WithAction(Minimize)
    KeyToGrab(Up), WithModifier(Mod1), WithAction(Raise)
    KeyToGrab(Down), WithModifier(Mod1), WithAction(Lower)
    KeyToGrab(F4), WithModifier(Mod1), WithAction(Close)
    KeyToGrab(1), WithModifier(Mod1), WithAction(Workspace1)
    KeyToGrab(2), WithModifier(Mod1), WithAction(Workspace2)
    KeyToGrab(3), WithModifier(Mod1), WithAction(Workspace3)
    KeyToGrab(4), WithModifier(Mod1), WithAction(Workspace4)
    KeyToGrab(Right), WithModifier(Control), WithAction(NextWorkspace)
    KeyToGrab(Left), WithModifier(Control), WithAction(PrevWorkspace)
    KeyToGrab(Tab), WithModifier(Mod1), WithAction(NextWindow)
    KeyToGrab(ISO_Left_Tab), WithModifier(Mod1+Shift), WithAction(PrevWindow)
    KeyToGrab(F2), WithModifier(Mod1), WithAction(ShadeWindow)
    KeyToGrab(F10), WithModifier(Mod1), WithAction(MaximizeWindow)
    KeyToGrab(F1), WithModifier(Mod1), WithAction(ExecCommand), DoThis(xterm -fn sabvga -bg black -fg lightyellow -title 'vanRijn@movingparts_baybee!!')

    It's that easy.  

Whichever avenue you choose, bbkeys will check for a change in its .bbkeysrc
file every 10 seconds or so, so it'll pick up any changes you've made to it.

Is it perfect? Absolutely not.  

Will it core-dump all over your lap and puke on your shoes? Hopefully not.  

Are there bugs? Oh, you betcha.  

Do I want to know about them there bugs? Yah, for sure.

Are there things that I'm still planning to do? Ayup (that's what TODO is for).
 
-------------------------------------------------------------------------------

--  Copyright (c) 1999-2002 by Jason 'vanRijn' Kasper
--  parts Copyright (c) 1998-1999 by John Kennis
--  parts Copyright (c) 1997,1998 by Brad Hughes.

--  This program is free software; you can redistribute it and/or modify
--  it under the terms of the GNU General Public License as published by
--  the Free Software Foundation; either version 2 of the License, or
--  (at your option) any later version.
--
--  This program is distributed in the hope that it will be useful,
--  but WITHOUT ANY WARRANTY; without even the implied warranty of
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--  GNU General Public License for more details.
--
--  You should have received a copy of the GNU General Public License
--  along with this program; if not, write to the Free Software
--  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--
-- (See the included file COPYING / GPL-2.0)
--

The files Image.cc (.hh) are taken from the Blackbox,
only one class-name was changed.

The files LinkedListed.cc (.hh) are taken from Blackbox without any change.

Thanks to:

Brad Hughes  <bhughes@tcac.net>
	For writing the Blackbox Windowmanager (and with this a great deal 
	of the code for this application).

John Kennis <j.m.b.m.kennis@ele.tue.nl>
	For writing the bbtools that I shamelessly snarfed

The Windowmaker guys for the great examples of key-code grabbing.
