- changing MaxInstructions to 100 for cthulhain (crazy nut) =:)
[bbkeys.git] / README
blob45c94eeac3259e9fbd5a0f02bd530c359aa713b4
1 --  README for bbkeys, a general XWindow keygrabber, meant to be a working
2 --  example of a better window-hinting scheme with blackbox.
4 As for the tool itself, it's a fairly trivial thing to write a keygrabber, and
5 it's a real cinch when you don't have to worry about users muddling about with
6 YOUR windows, etc.  But such is life. So here's the way it works: bbkeys will 
7 pick up its style-settings from the same places that the other bbtools does.
8 But its key-grabbings come from $HOME/.bbkeysrc.  There are several avenues
9 open to the user to set any key-grabs that the user wishes.  
11 -[  First is the blackbox all-in-one configuration tool called bbconf
12     (http://bbconf.sourceforge.net).  I'd like to get this thing used more 
13     than the other two methods, but I'm also very aware that many users use 
14     blackbox because of the fact that they don't like big, bloated things, 
15     and as such, they most probably don't have qt on their boxes, hence the
16     next two options available to you...  =:)
18 -[  bbkeys can be launched with the -noqt option and whenever the little
19     reconfigure button (the key-hole) on bbkeys is clicked, bbkeys will
20     launch a very simple interactive rc-file generator called bbkeysconf.pl 
21     (written in perl) inside of an xterm.  I'm assuming even the 
22     anti-big-bloated-things-people have those luxuries on their boxen.  
23     If this is an incorrect assumption, do let me know. =:)
25 -[  Third is manually editting $HOME/.bbkeysrc. The format is very easy, 
26     and it consists of lines describing the Key to grab, the modifier to 
27     grab the key with (if any, or "None" if none), and the action to 
28     perform. My $HOME/.bbkeysrc file is as follows,
29     for example's sake:
31     KeyToGrab(m), WithModifier(Mod1), WithAction(Minimize)
32     KeyToGrab(Up), WithModifier(Mod1), WithAction(Raise)
33     KeyToGrab(Down), WithModifier(Mod1), WithAction(Lower)
34     KeyToGrab(F4), WithModifier(Mod1), WithAction(Close)
35     KeyToGrab(1), WithModifier(Mod1), WithAction(Workspace1)
36     KeyToGrab(2), WithModifier(Mod1), WithAction(Workspace2)
37     KeyToGrab(3), WithModifier(Mod1), WithAction(Workspace3)
38     KeyToGrab(4), WithModifier(Mod1), WithAction(Workspace4)
39     KeyToGrab(Right), WithModifier(Control), WithAction(NextWorkspace)
40     KeyToGrab(Left), WithModifier(Control), WithAction(PrevWorkspace)
41     KeyToGrab(Tab), WithModifier(Mod1), WithAction(NextWindow)
42     KeyToGrab(ISO_Left_Tab), WithModifier(Mod1+Shift), WithAction(PrevWindow)
43     KeyToGrab(F2), WithModifier(Mod1), WithAction(ShadeWindow)
44     KeyToGrab(F10), WithModifier(Mod1), WithAction(MaximizeWindow)
45     KeyToGrab(F1), WithModifier(Mod1), WithAction(ExecCommand), DoThis(xterm -fn sabvga -bg black -fg lightyellow -title 'vanRijn@movingparts_baybee!!')
47     It's that easy.  
49 Whichever avenue you choose, bbkeys will check for a change in its .bbkeysrc
50 file every 10 seconds or so, so it'll pick up any changes you've made to it.
52 Is it perfect? Absolutely not.  
54 Will it core-dump all over your lap and puke on your shoes? Hopefully not.  
56 Are there bugs? Oh, you betcha.  
58 Do I want to know about them there bugs? Yah, for sure.
60 Are there things that I'm still planning to do? Ayup (that's what TODO is for).
62 -------------------------------------------------------------------------------
64 --  Copyright (c) 1999-2002 by Jason 'vanRijn' Kasper
65 --  parts Copyright (c) 1998-1999 by John Kennis
66 --  parts Copyright (c) 1997,1998 by Brad Hughes.
68 --  This program is free software; you can redistribute it and/or modify
69 --  it under the terms of the GNU General Public License as published by
70 --  the Free Software Foundation; either version 2 of the License, or
71 --  (at your option) any later version.
73 --  This program is distributed in the hope that it will be useful,
74 --  but WITHOUT ANY WARRANTY; without even the implied warranty of
75 --  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
76 --  GNU General Public License for more details.
78 --  You should have received a copy of the GNU General Public License
79 --  along with this program; if not, write to the Free Software
80 --  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
82 -- (See the included file COPYING / GPL-2.0)
85 The files Image.cc (.hh) are taken from the Blackbox,
86 only one class-name was changed.
88 The files LinkedListed.cc (.hh) are taken from Blackbox without any change.
90 Thanks to:
92 Brad Hughes  <bhughes@tcac.net>
93         For writing the Blackbox Windowmanager (and with this a great deal 
94         of the code for this application).
96 John Kennis <j.m.b.m.kennis@ele.tue.nl>
97         For writing the bbtools that I shamelessly snarfed
99 The Windowmaker guys for the great examples of key-code grabbing.