- including modified patch from Ciprian. This gives us sendToPrevWorkspace
[bbkeys.git] / ChangeLog
blob4591d197c67bf4ee573f777ac44b1f4f6b4b8442
1 version 1.0.0 --
2   - including modified patch from Ciprian.  This gives us sendToPrevWorkspace
3     and sendToNextWorkspace functionality.
4     [vanRijn]
6   - new configuration option for followWindowOnSend--this allows bbkeys to
7     change workspaces to the window that it just sent a window to, if the user
8     desires...
9     [vanRijn]
11   - including patch from Martijn Ras (sf.net tracker 1097889) fixing underquoted
12     definitions in configure.ac (Thanks!!!)
13     [vanRijn]
15   - fixing annoying behavior that we had when we were cycling through windows on
16     all workspaces.  previously, we would change workspaces while cycling, which
17     irritated me enough to stop it
18     [vanRijn]
20   - adding new configuration option that allows the user to tell us to include iconified
21     windows in our window cycling list.  if includeIconifiedWindowsInCycle is set to
22     true in the user's bbkeysrc (it's defaulted to true in code and sample bbkeysrc),
23     iconified windows will show in the cycling list, surrounded with "()".  this will
24     fix sf.net tracker #877698 (yay!).
25     [vanRijn]
28 version 0.9.0 --
29   - complete rewrite!!!  =:)  See the README and NEWS files for more info.
31   Patch: reworked matrix-style navigation, as it lacked some features (eg
32     navigation if workspaces do not form a complete rectangle)
33     M. Ottenbacher <m.ottenbacher at gmx de>
35 version 0.8.6 --
36   - pulling patch in from David Dellanave (solaris compile issues)
37     [vanRijn]
39   - fixing compilation issue for Mac OS X (thanks to Thomas F. Burdick!!)
40     [vanRijn]
42   - fixing bug in token-parsing (thanks to Adam Hooper!!!)--we now allow
43     ")"'s in our ExecCommands.  =:)
44     [vanRijn]
46 version 0.8.5 --
48   - fix recursive redhat-build bug (fixes 577135)
49     [vanRijn]
51   - fix a memory leak in ToolWindow::windowAttributeChange.
52     [xOr]
54   - remove server grabs from the Image code. They prove to not be needed (they
55     no longer exist in the blackbox code.) And they cause the X server to lock
56     indefinately if you run 2 bbkeys on the same display, running the second
57     one from a terminal on the display.
58     [xOr]
60   - when we recieve a startup message from blackbox, clear out any leftover
61     windows in the window list. These are caused by the fact that on shutdown
62     of blackbox, if any windows are unmanaged after bbkeys, bbkeys doesn't get
63     notified of their destruction and so ends up with extra windows in its list.
64     [xOr]
66   - fix compiling issues under solaris. Thanks to grub on irc for use of his
67     time for testing.
68     [xOr]
70   - get rid of work-around for pre-0.60 blackbox, which fixes bug that let you
71     move the toolbar around with bbkeys.
72     [xOr]
74   - fix window focus tracking bug. Fixes bug where you could manipulate the
75     last focused window on a nono-visible workspace.
76     [xOr]
78   - fix multi-head bug in main.cc.  We now putenv("DISPLAY=...") so that
79     applications launched will be launched on the correct display.  Thanks to
80     Greg Gilbert for his patch!
81     [vanRijn]
83   - fix bug in main.cc (| rather than ||).  Thanks to Roman Neuhauser!
84     [vanRijn]
86   - fix bug in bbkeys.hh--increasing MaxInstructions to 100 for cthulhain
87     [vanRijn]
89   - fix in bbkeys.cc -- XUngrabKey changed to use same call to find what
90     screen we're on as the XGrabKey call
91     [vanRijn]
93   - fix in bbkeys.cc -- doing "xterm -e sh -c $command" rather than "xterm -e
94     $command".  Thanks to Magnus Solvang for the bug report.  Also, changing
95     hideous char* and snprintf() to ostrstream, YAY!!
96     [vanRijn]
98 version 0.8.4 --
100   - add a sanity check to the removeWindow function. Basically, blackbox tells
101     bbkeys when a window disappears, or is removed. If the window being
102     removed was the last window blackbox specified as having the input focus,
103     bbkeys now resets what it thinks has the input focus. This prevents the
104     bug reproducable by iconifying the last window on a workspace, and then
105     trying to maximize "nothing". [xOr]
107   - cleaning up build again.  Rather than having 200 -DDEFINE_ statements
108     in our compile lines, we use config.h (like normal people).  =:)  This
109     very well may break stuff, but it looks good thus far.... [vanRijn]
111   - adding AM_MAINTAINER_MODE to stop the ever-annoying "here, let me run
112     aclocal for you again!!" idiocy of automake and friends [vanRijn]
114   - fixing things for multi-head displays--replacing
115     "getScreenInfo(0)->getRootWindow()," with
116     "getCurrentScreenInfo()->getRootWindow(),"  So yes, bbkeys now has
117     multi-head support.  Sort of.  You need to have a separate instance of
118     bbkeys running against each head ("bbkeys -display :1"), etc.  cat
119     complaints >> /dev/null.... [vanRijn]
121   - removing kludgy C command-line configurator with much-improved perl script
122     from Damien Tougas (thanks!!!) [vanRijn]
124   - changing bbkeys.cc to look for bbkeysconf.pl rather than bbkeysConfigC
125     [vanRijn]
127   - removing showAllWorkspaces from bbkeys.{bb,nobb} config file and making it
128     an additional keybinding.  This allows two different ways of showing all
129     open windows and navigating through them--one keybinding for the regular
130     "NextWindow" variety (as in previous versions of bbkeys, and another
131     keybinding, "NextWindowAllWorkspaces", that pops up the window list for
132     navigation for windows open on all workspaces.  [vanRijn]
134   - bugfix....  previously, bbkeys would ignore windows that had no name.  We
135     now follow blackbox's lead (and follow blackbox's code) and create a name
136     for it, "Unnamed".  Thanks to Damien Terrier for this bug report.
137     [vanRijn]
139   - patch for allowing an alternate keybinding config file (thanks to Scott
140     Moynes!) [vanRijn]
142   - sync with blackbox for 0.61.2--attributes element Atom has changed to now
143     include decoration state so that ToggleDecor() works. [vanRijn]
145   - including patch from Sergey Vlasov for allowing use of Meta and Hyper
146     modifiers, also try to get the correct Num_Lock and Scroll_Lock modifier
147     mask from the X server rather than hard-coded.  I've not had tons of time
148     to play with this, though I have made sure that it works on my laptop.
149     =:) [vanRijn]
151   - fix for RPM-building process... install gzipped man pages by default on
152     RPM-based systems.  Thanks to Darryll for the bug report!!  =:) [vanRijn]
154   - removing bbkeysconf and bbkeysConfigGtk *shudder* apps from
155     chain-launching mode.  These babies are dead and let's just move on
156     folks....  By keeping them in there, I'm afraid people will think it's
157     okay to use them.  It's not.  They're WAY out of date.  Also, thanks to a
158     smarter way of handling key grabbing configuration in bbconf, we don't
159     have to hang bbkeys while keygrabs are being configured. [vanRijn]
161   - adding logic to bbkeys to pass configurators correct command-line
162     arguments so we load the rc-file that our user is running bbkeys with.
163     [vanRijn]
165   - long-overdue documentation finessing, thanks to Roman Neuhauser for the
166     patches and suggestions!  =:)  Also, adding CVS version id's to all source
167     and documentation files, woot!  =:) [vanRijn]
169   - cross-compilation patch from Bo Thorsen--moves -lX11 to LIBS [vanRijn]
171 version 0.8.3 --
173   - changing external app launch order--we go bbconf, bbkeysconf,
174     bbkeysConfigGtk, rxvt, xterm... *phew*
176   - fix in stackmenu.cc (hopefully we got it this time?) to fix segfaults
177     on some platforms due to screwy X stuff. *shudder*
180 version 0.8.2 --
182   - patched for matrix-style workspace navigation, updating the 0.3.5 patch written
183     by Markus Ottenbacher (m.ottenbacher@gmx.de) found at
184     http://homepages.compuserve.de/meottenbacher/.  Include UpWorkspace,
185     DownWorkspace, LeftWorkspace and RightWorkspace as WithAction() in your
186     ~/.bbkeysrc, and enable the arrangement in rows and columns in your
187     bbkeys.bb as well as in bbpager.bb (usually placed under
188     /usr/local/share/bbtools/) to use this functionality.  Bill Beal <beal@tunl.duke.edu>
190   - fixed a bug due to an improper test for next and prev (test for key
191     release).  next and prev might just be 0, so we can't do if (next)
192     because the correct index of the grabSet.KeyMap might be 0 for either
193     prevwindow or nextwindow keybinding and it would fail the test and not
194     release the keyboard and not lower the window menu.
196   - fixed a bug for the window list popup menu--sticky window bug where
197     sticky windows would show up twice on their originating windows but not
198     at all on the workspace that you switched from immediately prior to
199     switching to the window where the sticky window is "homed"...  =:)
201   - xOr's new "showAllWorkspaces" option lets you see every window that you
202     have on any workspace with an indicator as to what workspace that
203     window is living on....  Very sweet code.
205   - fix for popup window menu...  Added "always on top" code so that it
206     stays at top of window stack and won't let blackbox hide it with any
207     other window (as occurs when auto-raise is enabled in blackbox).
209 version 0.8.1 --
210   - bug fixin's--fixed annoying "un-iconify" feature when bbkeys did window
211     cycling, thanks to halt, all else for pointing that one out....  Also,
212     removed REPORT struct from resource.hh which only had auto_raise in it
213     (not sure why it's been there, un-used all this time anyway)....
215   - changed all "friend .*$" to "friend class .*$" to comply with more
216     strict gcc versions....  Thanks to Jan Schaumann for this!
218   - okay. stacked window cycling tweaks.  As a visual clue for the
219     stacked-Cycling folks, we now set focus on cycled-through windows as we
220     go, raising the window selected at the end of the cycle.  This sounds
221     more confusing than it is.   This makes it possible to separate the new
222     and improved cycling method from the popup menu. Oh, and hitting Escape
223     in the middle of cycling will return focus to the window that you
224     started from....
226   - I've made it possible to turn off the visual menu for the new-and-improved
227     stacked cycling method.  To do this, just put
228     "bbkeys.menu.showCycleMenu: False" (without the quotes, duh) into your
229     ~/.bbtools/bbkeys.bb or ~/.bbtools/bbkeys.nobb file.  This will let
230     bbkeys still use the new method, will set focus as you cycle through the
231     stack, but won't actually raise the window you want until you tell it
232     to by releasing your keys or hitting <Enter>, and won't show the popup
233     window list and cycle through the entries as you go.  Again, harder to
234     explain than it is to use....
236   - including README, ChangeLog, and AUTHORS in installed files list
238   - including first man page files (W00T!!)  =:).  Thanks to Jan Schaumann,
239     bbkeys now has man pages, baybee.  Installing now and including files
240     in bbkeys.spec
242 version 0.8.0 --
243   - BIG changes!!!  w00T!!!  There's some very significant improvements in
244     this version, and as such, I'm calling this version 0.8.0 for various
245     reasons....
246       1) I feel like it
247       2) I'm thinking we're about "there", and 0.8.0 sounds like more of a
248       non-beta product than 0.3.8
249       3) I feel like it   =:)
251   - xOr (see below) has done some majorly good coding with bbkeys.  He's
252     implemented a different window-cycling scheme that's more
253     "Windows"-like (think <alt+tab> popup window with list of things you're
254     cycling through)...  Verrrry slick.  Umm. Did I say Verrrrry?
256     Why, yes I did.  You are just going to have to see it to believe it.  Blackbox
257     has just again become my favorite window manager for X, with the help
258     xOr has given to me.  The window cycling methodology has changed, and
259     believe me, this is a change for the better.  There's now two methods
260     of window cycling--both use the same keybindings, so don't get yer
261     panties tied in knots.  xOr has implemented a newer, better "old-style"
262     window cycling, called linear cycling.  It's basically what
263     blackbox/bbkeys has done up until this point, but with a few
264     significant improvements.  But the really exciting new feature in this
265     release of bbkeys is the other way--a "stacked" cycling method.  It
266     makes much more sense than the old way.  And it's purtier, because you
267     can see what you're window-changing to before you actually go there.
268     And when you hit <alt+tab> (example keybinding--you can have it be
269     whatever you want it to be), it goes back to the window you were on
270     right before this one.
272     It's way cool, uber-neato, and excellently implemented.  I'll expand on
273     this more in README, so look there for more details.
275   - xOr has also fixed a bug in LinkedList.cc (as posted to the blackbox
276     mailing list) that affected how the windows were put into the cycling
277     stack.
279   - I'm considering xOr a co-developer now (as long as he has the time and
280     desire, of course), but we've a project available on sourceforge.net at
281     http://sourceforge.net/cvs/?group_id=32563 .  Of course, this means
282     that all the usual sourceforge advantages are there, like CVS access,
283     etc.  The project is bbconf.sourceforge.net for the time being, so
284     CVS access looks like this:
286     cvs -d:pserver:anonymous@cvs.bbconf.sourceforge.net:/cvsroot/bbconf login
287     <hit enter for password>
288     cvs -z3 -d:pserver:anonymous@cvs.bbconf.sourceforge.net:/cvsroot/bbconf co bbkeys
290     I've imported the bbkeys tree (0.8.0 will be pulled directly from it),
291     and I've also imported a bbconf module.  bbconf will be the new
292     all-in-one blackbox configuration utility (if I get some help).  =:)
293     To get read-only access to it, do this...
295     cvs -d:pserver:anonymous@cvs.bbconf.sourceforge.net:/cvsroot/bbconf login
296     <hit enter for password>
297     cvs -z3 -d:pserver:anonymous@cvs.bbconf.sourceforge.net:/cvsroot/bbconf co bbconf
299   - adding ToggleDecor as an option to toggle ummmm, window decor.... (duh).
300     *** BIG HONKING NOTE ***
301     This doesn't currently work.  =:\  The code is in bbkeys, but can't
302     actually do anything until blackbox is changed to tell us what the
303     decorated state of the window is.  Hopefully this will be included in
304     blackbox soon....
306   - changing order of configurator launch again, thanks to a bug report
307     from David Lawrence Ramsey (I had " black" instead of "black")--so we
308     now try rxvt before xterm, and rxvt should actually work now....
310   - hopefully fixing strcasecmp issue for AIX boxen--it's in strings.h
311     instead of string.h.  Adding check for strings.h....  PLEASE let me
312     know if this doesn't actually fix anything.  I'd like to put this guy
313     to bed....
315   - Applying patches from Ben Jansens <xor at x-o-r dot net>.  His comments
316     are below....
318       I've removed all the functionality from the wminterface class that bbkeys
319       does not use, and reorganised the header files for wminterface and bbkeys,
320       adding comments for all of the class members.  With this patch, bbkeys not
321       longer calls the blackbox cycling routines, but maintains its own list of
322       windows, and cycles them itself. One thing to note is that the cycling does
323       not occur in the same order as the buttons on the toolbar cycle. I personally
324       dont think this will be a big issue, and i think the new way is nicer. When a
325       new window opens, its added to the list right *after* the focused window,
326       so that hitting PrevWindow would take you back to the window that was
327       previously focused.
329     ....
331     * VERY nice work, Ben.  Thanks for your work! *
333   - Bug squashing and fixing galore...  Thanks again to Ben for pointing
334     these out.  The issue was that we were doing stuff to windows without
335     making sure the window wasn't our root window.  Doh!  So now we make
336     sure 1) we have a focus_window and 2) that focus_window isn't
337     PointerRoot.  Hopefully that will do the trick....
343 version 0.3.6 --
344   - Fixed slight bug in font-loading for label.font and frame.font.  As
345                 things were, we only looked for TitleFont (a bbtools-specific directive
346                 which most probably isn't in most style files), a bbkeys-specific font
347                 directive (which was less likely to be found).  I added to the search
348                 criteria toolbar.font, which for sure will be in every
349                 toolbox/bbconf-generated style file and is most probably in every other
350                 style file as well.  Long story short, fonts should now load according
351                 to the individual style used, rather than relying so heavily on
352                 helvetica....
353         - applied patch submitted from MrFab (Scott Garner for the irc-challenged)
354                 to manipulate window placement via keypress!!!  VERY clean and nice
355                 work, MrFab!!  And useful, to boot!  =:)
356         - reworked and applied patch from Alex (dicerandom @ earthlink dot net)
357                 for keystroke-resizing of focused windows.  Very nice work, Alex!
358                 Thanks!!  =:)
359         - reworked fork() section for configurator launch--based on Kyle
360                 Donaldson's idea....  We now try bbkeysconf, bbkeysConfigGtk, xterm,
361                 rxvt--in that order...  Thanks Kyle!
362         - new and improved bbkeysConfigC--better functioning, disclaimer added
363                 since we trounce on whatever was in ~/.bbkeysrc, added printout of all
364                 available keygrabs now....
366 version 0.3.5 --
367   - Doh!!  In the midst of the glorious bug-squashing that 0.3.4 offered, I
368                 introduced a new bug (just to see if anybody actually uses my code,
369                 erm, or something).  =:)  I was getting rid of all the strdups that I
370                 could and in the process forgot to replace it with a working solution
371                 for the ExecCommand part of bbkeys's functionality.
373 version 0.3.4 --
374   - updated Image.cc, Image.hh, BaseDisplay.hh to newest (0.61.0) blackbox
375           files to correct bug that reared its ugly little head when running on
376                 SPARC boxen Ultra 5 (Bus Error).  Thanks to Tibor Simko for reporting
377                 this one....
378         - many bug fixes and killing of leaks =:)  thanks to memprof and X
379                 man-page reading (shudder).  I found quite a few memory leaks (some
380                 that bbkeys inherited from the XEmacs code) and discovered some
381                 undocumented features that may not qualify as leaks, but the net result
382                 was that bbkeys could chew up RAM far more than he should.  So, the end
383                 result is that bbkeys now has far fewer memory problems.  I'm pretty
384                 sure that there are more buglets to be found, but that's for when I get
385                 bored again, I guess.  =:)  Thanks to Sean 'Shaleh' Perry for this
386                 buglet report (and others too).  =:)
387         - updated bbkeysconf--couple of fixes for compiling on solaris....
388           - added -lX11 to the link line (should be there anyway)
389                 - changed a QString.left to a QString.at function call
390                 - thanks to Bo Thorsen for these buglet-reports!  =:)
392 version 0.3.3 --
393   - changes and updates (thanks to nyz for the help!!!) to change the
394           communication Atoms between blackbox-0.60.1 and bbkeys (READ: YOU MUST
395                 BE RUNNING BBKEYS 3.3 OR LATER IF YOU USE BLACKBOX 0.60.1 OR LATER)...
397 version 0.3.2 --
398   - Weehee!!  Get along, little doggie!!  Or something....  Thanks to the
399     man, the myth, the legend, the zzzeek-meister, one of those irritating
400     little problems that I've never had enough interest in fixing has been
401     fixed!!  You know the one--where you're going merrily along through your
402     day, using bbkeys happily, when all of a sudden, things appear to have
403     just stopped working altogether.  And then you start cursing that
404     darned bbkeys author, and in general, have a horrid day thereafter.  Well
405     fear no more, little pilgrim--that "feature" has been hunted down and
406     wrestled to the ground, thanks to zzzeek (classic@io.com).  The 'feature'
407     was one that I was never worried about--since it followed blackbox's
408     'feature' that did exactly the same thing.  What thing is that?  Why,
409     I'm so glad you asked.  If you hadn't noticed before, if you have your
410     CapsLock, NumLock, or ShiftLock pressed (or any other funky modifier
411     key pressed), bbkeys stopped performing your key-grabs.
413     Well, anywho, I've rambled enough.  I'm going to have bbkeys by default
414     work with any modifiers now.  If you want bbkeys to work the way it does
415     now and stop grabbing keys when you have Caps/Num/ShiftLock pressed,
416     you'll have to change this line to True in your bbkeys config file
417     ($HOME/bbtools/bbkeys.bb, not ~/.bbkeysrc):
419     bbkeys.honorModifiers:        False
422 version 0.3.1 --
423   - *sigh* My next release is going to not even have a UI.  =:)  Okay, for
424     those in this world who run blackbox on a 12" monitor (*cough* talmage
425     *cough*), or refuse to upgrade because -miniMe is toooooo big (*cough*
426     luqin *cough), =:)  bbkeys now has a new run-time switch "-tinyMe" which
427     will cause bbkeys to draw itself at the old 0.2.7 size.
430 version 0.3.0 --
431   - buglet fix in MakeWindow so we don't XMapWindow every time (thanks nyz!)
432   - alrighty then, the -miniMe controversy continues.  kns mentioned an idea
433     for a new miniMe look and I like it.  _I_ may even use -miniMe now.
434     =:)  Here's the thing, I really don't care at all about -miniMe, since
435     I use him at full-size.  If somebody wants to code for this to be a
436     configurable option (bbkeys.keyhole.size or bbkeys.keyhole.width, etc.),
437     I'll be more than happy to look at it.
440 version 0.2.8 --
441   - included new Image classes from the latest blackbox source so luqin's
442     and r00tv's styles work.  =:)  Oh, it'll help other people too, but
443     they pested me first.
444   - added Workspace9, 10, 11, and 12 to keygrabs and configurator
447 version 0.2.7 --
449   - added MaximizeVertical and MaximizeHorizontal key-grabbability.  Don't
450     know why it didn't occur to me earlier.  =:)  nyz did all the hard work
451     4 releases ago.
453   - As of this release of bbkeys, I'm no longer going to support the gtk
454     configurator (unless I get a WHOLE lot of of input to the contrary).
455     I've re-written the gui configurator in qt (thanks to luqin for the
456     beginnings of this) and let me tell you, it is a WHOLE lot easier to
457     work with qt2 than gtk.  Much, much cleaner.  You doubt?
459           (gideon@judea)[bbkeysConfigGtk/src]-% wc -l *.{c,h}
460               538 bbkeysConfig.c
461               689 bbkeysConfigSig.c
462               158 support.c
463                 7 bbkeysConfig.h
464               139 bbkeysConfigSig.h
465                57 support.h
466              1588 total
468           (gideon@judea)[bbkeys-0.2.7/bbkeysconf-1.1]-% wc -l *.{cc,hh}
469               593 gui.cc
470                24 main.cc
471                27 myapplication.cc
472                67 gui.hh
473                23 myapplication.hh
474               734 total
476     734 lines of code versus 1588 makes me a happy, happy SE.  =:)
478   - So, I'm pulling out the bbkeysConfigGtk directory from the bbkeys source
479     tarball and in its place is bbkeysconf.  I'll also be regulaly
480     posting rpms of both bbkeys and bbkeysconf as new releases rear their
481     ugly little heads, as well as one last RPM of bbkeysConfigGtk as well
482     as the tarball for bbkeysConfigGtk if anybody just HAS to have the gtk
483     version.  =:)
485   - As a result of this, the -no[gtk] for bbkeys will change to -no[qt].
487   - Slight buglet fix for bbkeys when he's in iconic mode to properly set
488     WM_ICON_NAME (Thanks to Mats Jonson for the bug-report.  =:) ) so bbkeys
489     shows up as bbkeys and not "Unnamed" in blackbox's Icon list.
493 version 0.2.6 --
494   - Weehee!!!  Much bug-squashing release!!!
495   - added ability for bbkeys to minimize itself (right-click on bbkeys's
496     "close" button).  This should satisfy those of us who would like to not
497     see the beautiful little application I wrote and just use it.  *sniff*  =:)
498   - added "-iconic" switch, so bbkeys can be launched in minimized mode.
499     Again, *sniff*  Nobody likes my pretty window.  =:)
500   - fixed a few undocumented features...
501     -- bbkeys queued up all keystroke combos while external gooey configurator
502        was running and then did then all at once, really quick-like when you
503        came back from the configurator.  This tended to annoy my users.  =:)
504     -- bbkeys wasn't releasing grabbed keys before it launched the
505        configurator, so the configurator wasn't receiving any of the previously
506        grabbed keys. XSync(False) does wonders.  =:)
507   - updated bbkeysConfigGtk to allow configuration of ExecCommand directives.
510 version 0.2.5 --
511   - erm.  forgot to write in this for a while. =:)
512   - took out timer implementation for ~/.bbkeysrc changing -- this should fix
513     the abnormally high CPU/MEM usage that bbkeys has shown -- and replaced it
514     with a virtual function call to CheckConfig out of BaseDisplay.cc.
515   - thought about changing the configurators, then changed my mind.  =:\
518 version 0.2.3 --
519   - fix for bbkeys not pickup up anything for its frame color/texture
520     (thanks to luqin for the patch. =:) )
523 version 0.2.2 --
524   - added ExecCommand feature so users can define programs to execute with
525     a given keystroke. Syntax is as follows:
527     KeyToGrab(F1), WithModifier(Mod1), WithAction(ExecCommand), DoThis(PROGRAM)
529     where PROGRAM is whatever you want to launch.  PROGRAM must be in your PATH
530     if it is not given with a path. (duh) =:)
532   - improved the logic (hopefully) surrounding resource loading.  Took
533     loadKeygrabs out of reconfigure() (which gets hit on every Expose event)
534     which should improve bbkeys's performance.  Also, apparently I've never
535     put in the code that I thought I did which checks ~/.bbkeysrc for changes.
536     That should work correctly now.
540 version 0.2.1 --
541   - fixed several style issues.
543   - fixed the bug with having two "-n" switches. =:)  now, "-no[gtk]" is the
544     way to tell bbkeys to launch the xterm-based conflagurator
546   - re-coded bbkeys' internals (made them much more intuitive and easy to read).
547     bbkeys uses 3 basic objects: Window's, GEOM(etry objects), and Pixmap
548     objects. The Windows are physical units of space that X communicates with.
549     The GEOM objects are pretty self-explanatory, x, y, height, width.  And
550     the Pixmap objects contain the image that is mapped onto the window itself.
551     It goes like this:
552     ----------------------------------------------------------------------------
553     Windows:      GEOMs:         Pixmaps:           resource->objects and what
554                                                 resources bbkeys uses for them
555     ----------------------------------------------------------------------------
556     win_title     geom_title     pix_title             label.texture
557                                                           window.label.focus
558     win_back      geom_back      pix_back              frame.texture
559                                                           window.title.focus
560     win_closeBtn  geom_closeBtn  pix_closeBtn          button.texture
561                                                           window.button.focus
562     win_configBtn geom_configBtn pix_configBtn         button.texture
563                                                           window.button.focus
564                                  pix_pressedBtn        button.texture_pressed
565                                                           window.button.pressed
566     ----------------------------------------------------------------------------
568   - fixed style files in data/ (silly me, I forgot to change them over from
569     bbpager's style files. )  Extra-special thanks to sourceo for pointing
570     this little bit to me and reminding me to put it in the ChangeLog =:)
573 version 0.2.0 --
574   - got rid of all the old bbws code base from bbkeys and ported the whole
575     darned thing to kns's bbpager-0.2.5-alpha code base.
578 version 0.1.4 --
580   - added "-mini-Me" switch =:) for those people *cough* sissies *cough* who
581     complain about bbkeys' size.  So size DOES matter.... erm, anyway, if
582     launched with the "-mini-Me" option, bbkeys will draw a cute little window
583     10x10 in size (or whatever I feel like, dangit) containing just the button
584     to launch the configurator, instead of the regular, full-blown window.  No
585     exit button for YOU!  =:)  Let me know if this doesn't suit you....
587   - improved documentation of sorts.  Ugly habit, this documentation stuff. If
588     you look in README, you'll now see all of the commands that bbkeys will
589     think about obeying. If it feels like it.  And if you ask really, really
590     nicely.