putting ToggleDecor back in properly for blackbox 0.61.2 release
[bbkeys.git] / ChangeLog
blobe837aa02b9e7ec169b30923b24bc215b4b51f3ab
1 version 0.8.4 --
3   - cleaning up build again.  Rather than having 200 -DDEFINE_ statements
4     in our compile lines, we use config.h (like normal people).  =:)  This
5     very well may break stuff, but it looks good thus far....
7   - adding AM_MAINTAINER_MODE to stop the ever-annoying "here, let me run
8     aclocal for you again!!" idiocy of automake and friends
10   - fixing things for multi-head displays--replacing
11     "getScreenInfo(0)->getRootWindow()," with
12     "getCurrentScreenInfo()->getRootWindow(),"  So yes, bbkeys now has
13     multi-head support.  Sort of.  You need to have a separate instance of
14     bbkeys running against each head ("bbkeys -display :1"), etc.  cat
15     complaints >> /dev/null....
17   - removing kludgy C command-line configurator with much-improved perl script
18     from Damien Tougas (thanks!!!)
20   - changing bbkeys.cc to look for bbkeysconf.pl rather than bbkeysConfigC
22   - removing showAllWorkspaces from bbkeys.{bb,nobb} config file and making it
23     an additional keybinding.  This allows two different ways of showing all
24     open windows and navigating through them--one keybinding for the regular
25     "NextWindow" variety (as in previous versions of bbkeys, and another
26     keybinding, "NextWindowAllWorkspaces", that pops up the window list for
27     navigation for windows open on all workspaces. 
29   - bugfix....  previously, bbkeys would ignore windows that had no name.  We
30     now follow blackbox's lead (and follow blackbox's code) and create a name
31     for it, "Unnamed".  Thanks to Damien Terrier for this bug report.
33   - patch for allowing an alternate keybinding config file (thanks to Scott
34     Moynes!)
39 version 0.8.3 --
41   - changing external app launch order--we go bbconf, bbkeysconf,
42     bbkeysConfigGtk, rxvt, xterm... *phew*
44   - fix in stackmenu.cc (hopefully we got it this time?) to fix segfaults
45     on some platforms due to screwy X stuff. *shudder*
48 version 0.8.2 --
50   - patched for matrix-style workspace navigation, updating the 0.3.5 patch written
51     by Markus Ottenbacher (m.ottenbacher@gmx.de) found at
52     http://homepages.compuserve.de/meottenbacher/.  Include UpWorkspace,
53     DownWorkspace, LeftWorkspace and RightWorkspace as WithAction() in your
54     ~/.bbkeysrc, and enable the arrangement in rows and columns in your
55     bbkeys.bb as well as in bbpager.bb (usually placed under
56     /usr/local/share/bbtools/) to use this functionality.  Bill Beal <beal@tunl.duke.edu>
58   - fixed a bug due to an improper test for next and prev (test for key
59     release).  next and prev might just be 0, so we can't do if (next)
60     because the correct index of the grabSet.KeyMap might be 0 for either
61     prevwindow or nextwindow keybinding and it would fail the test and not
62     release the keyboard and not lower the window menu.
64   - fixed a bug for the window list popup menu--sticky window bug where
65     sticky windows would show up twice on their originating windows but not
66     at all on the workspace that you switched from immediately prior to
67     switching to the window where the sticky window is "homed"...  =:)
69   - xOr's new "showAllWorkspaces" option lets you see every window that you
70     have on any workspace with an indicator as to what workspace that
71     window is living on....  Very sweet code.
73   - fix for popup window menu...  Added "always on top" code so that it
74     stays at top of window stack and won't let blackbox hide it with any
75     other window (as occurs when auto-raise is enabled in blackbox).
77 version 0.8.1 --
78   - bug fixin's--fixed annoying "un-iconify" feature when bbkeys did window
79     cycling, thanks to halt, all else for pointing that one out....  Also,
80     removed REPORT struct from resource.hh which only had auto_raise in it
81     (not sure why it's been there, un-used all this time anyway)....
83   - changed all "friend .*$" to "friend class .*$" to comply with more
84     strict gcc versions....  Thanks to Jan Schaumann for this!
86   - okay. stacked window cycling tweaks.  As a visual clue for the
87     stacked-Cycling folks, we now set focus on cycled-through windows as we
88     go, raising the window selected at the end of the cycle.  This sounds
89     more confusing than it is.   This makes it possible to separate the new
90     and improved cycling method from the popup menu. Oh, and hitting Escape 
91     in the middle of cycling will return focus to the window that you 
92     started from....
94   - I've made it possible to turn off the visual menu for the new-and-improved
95     stacked cycling method.  To do this, just put 
96     "bbkeys.menu.showCycleMenu: False" (without the quotes, duh) into your
97     ~/.bbtools/bbkeys.bb or ~/.bbtools/bbkeys.nobb file.  This will let
98     bbkeys still use the new method, will set focus as you cycle through the
99     stack, but won't actually raise the window you want until you tell it
100     to by releasing your keys or hitting <Enter>, and won't show the popup
101     window list and cycle through the entries as you go.  Again, harder to
102     explain than it is to use....
104   - including README, ChangeLog, and AUTHORS in installed files list
106   - including first man page files (W00T!!)  =:).  Thanks to Jan Schaumann,
107     bbkeys now has man pages, baybee.  Installing now and including files
108     in bbkeys.spec
110 version 0.8.0 --
111   - BIG changes!!!  w00T!!!  There's some very significant improvements in
112     this version, and as such, I'm calling this version 0.8.0 for various
113     reasons....
114       1) I feel like it
115       2) I'm thinking we're about "there", and 0.8.0 sounds like more of a
116       non-beta product than 0.3.8
117       3) I feel like it   =:)
119   - xOr (see below) has done some majorly good coding with bbkeys.  He's
120     implemented a different window-cycling scheme that's more
121     "Windows"-like (think <alt+tab> popup window with list of things you're
122     cycling through)...  Verrrry slick.  Umm. Did I say Verrrrry?  
123     
124     Why, yes I did.  You are just going to have to see it to believe it.  Blackbox
125     has just again become my favorite window manager for X, with the help
126     xOr has given to me.  The window cycling methodology has changed, and
127     believe me, this is a change for the better.  There's now two methods
128     of window cycling--both use the same keybindings, so don't get yer
129     panties tied in knots.  xOr has implemented a newer, better "old-style"
130     window cycling, called linear cycling.  It's basically what
131     blackbox/bbkeys has done up until this point, but with a few
132     significant improvements.  But the really exciting new feature in this
133     release of bbkeys is the other way--a "stacked" cycling method.  It
134     makes much more sense than the old way.  And it's purtier, because you
135     can see what you're window-changing to before you actually go there.
136     And when you hit <alt+tab> (example keybinding--you can have it be
137     whatever you want it to be), it goes back to the window you were on
138     right before this one.
140     It's way cool, uber-neato, and excellently implemented.  I'll expand on
141     this more in README, so look there for more details.
143   - xOr has also fixed a bug in LinkedList.cc (as posted to the blackbox
144     mailing list) that affected how the windows were put into the cycling
145     stack.
147   - I'm considering xOr a co-developer now (as long as he has the time and
148     desire, of course), but we've a project available on sourceforge.net at
149     http://sourceforge.net/cvs/?group_id=32563 .  Of course, this means
150     that all the usual sourceforge advantages are there, like CVS access,
151     etc.  The project is bbconf.sourceforge.net for the time being, so
152     CVS access looks like this:
154     cvs -d:pserver:anonymous@cvs.bbconf.sourceforge.net:/cvsroot/bbconf login
155     <hit enter for password>
156     cvs -z3 -d:pserver:anonymous@cvs.bbconf.sourceforge.net:/cvsroot/bbconf co bbkeys
158     I've imported the bbkeys tree (0.8.0 will be pulled directly from it),
159     and I've also imported a bbconf module.  bbconf will be the new
160     all-in-one blackbox configuration utility (if I get some help).  =:)
161     To get read-only access to it, do this...
163     cvs -d:pserver:anonymous@cvs.bbconf.sourceforge.net:/cvsroot/bbconf login
164     <hit enter for password>
165     cvs -z3 -d:pserver:anonymous@cvs.bbconf.sourceforge.net:/cvsroot/bbconf co bbconf
167   - adding ToggleDecor as an option to toggle ummmm, window decor.... (duh). 
168     *** BIG HONKING NOTE ***
169     This doesn't currently work.  =:\  The code is in bbkeys, but can't
170     actually do anything until blackbox is changed to tell us what the
171     decorated state of the window is.  Hopefully this will be included in
172     blackbox soon....
174   - changing order of configurator launch again, thanks to a bug report
175     from David Lawrence Ramsey (I had " black" instead of "black")--so we
176     now try rxvt before xterm, and rxvt should actually work now....
178   - hopefully fixing strcasecmp issue for AIX boxen--it's in strings.h
179     instead of string.h.  Adding check for strings.h....  PLEASE let me
180     know if this doesn't actually fix anything.  I'd like to put this guy
181     to bed....
183   - Applying patches from Ben Jansens <xor at x-o-r dot net>.  His comments
184     are below....
186       I've removed all the functionality from the wminterface class that bbkeys
187       does not use, and reorganised the header files for wminterface and bbkeys,
188       adding comments for all of the class members.  With this patch, bbkeys not 
189       longer calls the blackbox cycling routines, but maintains its own list of 
190       windows, and cycles them itself. One thing to note is that the cycling does 
191       not occur in the same order as the buttons on the toolbar cycle. I personally 
192       dont think this will be a big issue, and i think the new way is nicer. When a
193       new window opens, its added to the list right *after* the focused window,
194       so that hitting PrevWindow would take you back to the window that was
195       previously focused.  
197     ....
199     * VERY nice work, Ben.  Thanks for your work! *
201   - Bug squashing and fixing galore...  Thanks again to Ben for pointing
202     these out.  The issue was that we were doing stuff to windows without
203     making sure the window wasn't our root window.  Doh!  So now we make
204     sure 1) we have a focus_window and 2) that focus_window isn't
205     PointerRoot.  Hopefully that will do the trick....
208 --------------------------------------------------------------------------------------
211 version 0.3.6 --
212   - Fixed slight bug in font-loading for label.font and frame.font.  As
213                 things were, we only looked for TitleFont (a bbtools-specific directive
214                 which most probably isn't in most style files), a bbkeys-specific font
215                 directive (which was less likely to be found).  I added to the search
216                 criteria toolbar.font, which for sure will be in every
217                 toolbox/bbconf-generated style file and is most probably in every other
218                 style file as well.  Long story short, fonts should now load according
219                 to the individual style used, rather than relying so heavily on
220                 helvetica....
221         - applied patch submitted from MrFab (Scott Garner for the irc-challenged)
222                 to manipulate window placement via keypress!!!  VERY clean and nice
223                 work, MrFab!!  And useful, to boot!  =:)
224         - reworked and applied patch from Alex (dicerandom @ earthlink dot net)
225                 for keystroke-resizing of focused windows.  Very nice work, Alex!
226                 Thanks!!  =:)
227         - reworked fork() section for configurator launch--based on Kyle
228                 Donaldson's idea....  We now try bbkeysconf, bbkeysConfigGtk, xterm,
229                 rxvt--in that order...  Thanks Kyle!
230         - new and improved bbkeysConfigC--better functioning, disclaimer added
231                 since we trounce on whatever was in ~/.bbkeysrc, added printout of all
232                 available keygrabs now....
234 version 0.3.5 -- 
235   - Doh!!  In the midst of the glorious bug-squashing that 0.3.4 offered, I
236                 introduced a new bug (just to see if anybody actually uses my code,
237                 erm, or something).  =:)  I was getting rid of all the strdups that I
238                 could and in the process forgot to replace it with a working solution
239                 for the ExecCommand part of bbkeys's functionality.  
241 version 0.3.4 --
242   - updated Image.cc, Image.hh, BaseDisplay.hh to newest (0.61.0) blackbox
243           files to correct bug that reared its ugly little head when running on 
244                 SPARC boxen Ultra 5 (Bus Error).  Thanks to Tibor Simko for reporting
245                 this one....
246         - many bug fixes and killing of leaks =:)  thanks to memprof and X
247                 man-page reading (shudder).  I found quite a few memory leaks (some
248                 that bbkeys inherited from the XEmacs code) and discovered some
249                 undocumented features that may not qualify as leaks, but the net result
250                 was that bbkeys could chew up RAM far more than he should.  So, the end
251                 result is that bbkeys now has far fewer memory problems.  I'm pretty
252                 sure that there are more buglets to be found, but that's for when I get
253                 bored again, I guess.  =:)  Thanks to Sean 'Shaleh' Perry for this
254                 buglet report (and others too).  =:)
255         - updated bbkeysconf--couple of fixes for compiling on solaris....
256           - added -lX11 to the link line (should be there anyway)
257                 - changed a QString.left to a QString.at function call 
258                 - thanks to Bo Thorsen for these buglet-reports!  =:)
260 version 0.3.3 --
261   - changes and updates (thanks to nyz for the help!!!) to change the 
262           communication Atoms between blackbox-0.60.1 and bbkeys (READ: YOU MUST
263                 BE RUNNING BBKEYS 3.3 OR LATER IF YOU USE BLACKBOX 0.60.1 OR LATER)...
265 version 0.3.2 --
266   - Weehee!!  Get along, little doggie!!  Or something....  Thanks to the 
267     man, the myth, the legend, the zzzeek-meister, one of those irritating 
268     little problems that I've never had enough interest in fixing has been
269     fixed!!  You know the one--where you're going merrily along through your
270     day, using bbkeys happily, when all of a sudden, things appear to have
271     just stopped working altogether.  And then you start cursing that 
272     darned bbkeys author, and in general, have a horrid day thereafter.  Well
273     fear no more, little pilgrim--that "feature" has been hunted down and 
274     wrestled to the ground, thanks to zzzeek (classic@io.com).  The 'feature'
275     was one that I was never worried about--since it followed blackbox's 
276     'feature' that did exactly the same thing.  What thing is that?  Why,       
277     I'm so glad you asked.  If you hadn't noticed before, if you have your 
278     CapsLock, NumLock, or ShiftLock pressed (or any other funky modifier 
279     key pressed), bbkeys stopped performing your key-grabs.  
281     Well, anywho, I've rambled enough.  I'm going to have bbkeys by default
282     work with any modifiers now.  If you want bbkeys to work the way it does
283     now and stop grabbing keys when you have Caps/Num/ShiftLock pressed, 
284     you'll have to change this line to True in your bbkeys config file 
285     ($HOME/bbtools/bbkeys.bb, not ~/.bbkeysrc):
287     bbkeys.honorModifiers:        False
289 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
290 version 0.3.1 --
291   - *sigh* My next release is going to not even have a UI.  =:)  Okay, for 
292     those in this world who run blackbox on a 12" monitor (*cough* talmage
293     *cough*), or refuse to upgrade because -miniMe is toooooo big (*cough*
294     luqin *cough), =:)  bbkeys now has a new run-time switch "-tinyMe" which
295     will cause bbkeys to draw itself at the old 0.2.7 size.  
297 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
298 version 0.3.0 --
299   - buglet fix in MakeWindow so we don't XMapWindow every time (thanks nyz!)
300   - alrighty then, the -miniMe controversy continues.  kns mentioned an idea
301     for a new miniMe look and I like it.  _I_ may even use -miniMe now.
302     =:)  Here's the thing, I really don't care at all about -miniMe, since
303     I use him at full-size.  If somebody wants to code for this to be a 
304     configurable option (bbkeys.keyhole.size or bbkeys.keyhole.width, etc.),
305     I'll be more than happy to look at it. 
307 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
308 version 0.2.8 --
309   - included new Image classes from the latest blackbox source so luqin's 
310     and r00tv's styles work.  =:)  Oh, it'll help other people too, but 
311     they pested me first.
312   - added Workspace9, 10, 11, and 12 to keygrabs and configurator
314 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
315 version 0.2.7 --
317   - added MaximizeVertical and MaximizeHorizontal key-grabbability.  Don't 
318     know why it didn't occur to me earlier.  =:)  nyz did all the hard work
319     4 releases ago.
321   - As of this release of bbkeys, I'm no longer going to support the gtk
322     configurator (unless I get a WHOLE lot of of input to the contrary). 
323     I've re-written the gui configurator in qt (thanks to luqin for the 
324     beginnings of this) and let me tell you, it is a WHOLE lot easier to 
325     work with qt2 than gtk.  Much, much cleaner.  You doubt?  
327           (gideon@judea)[bbkeysConfigGtk/src]-% wc -l *.{c,h}   
328               538 bbkeysConfig.c
329               689 bbkeysConfigSig.c
330               158 support.c
331                 7 bbkeysConfig.h
332               139 bbkeysConfigSig.h
333                57 support.h
334              1588 total
336           (gideon@judea)[bbkeys-0.2.7/bbkeysconf-1.1]-% wc -l *.{cc,hh}
337               593 gui.cc
338                24 main.cc
339                27 myapplication.cc
340                67 gui.hh
341                23 myapplication.hh
342               734 total
344     734 lines of code versus 1588 makes me a happy, happy SE.  =:)
346   - So, I'm pulling out the bbkeysConfigGtk directory from the bbkeys source
347     tarball and in its place is bbkeysconf.  I'll also be regulaly 
348     posting rpms of both bbkeys and bbkeysconf as new releases rear their
349     ugly little heads, as well as one last RPM of bbkeysConfigGtk as well
350     as the tarball for bbkeysConfigGtk if anybody just HAS to have the gtk
351     version.  =:)
353   - As a result of this, the -no[gtk] for bbkeys will change to -no[qt].
354   
355   - Slight buglet fix for bbkeys when he's in iconic mode to properly set 
356     WM_ICON_NAME (Thanks to Mats Jonson for the bug-report.  =:) ) so bbkeys
357     shows up as bbkeys and not "Unnamed" in blackbox's Icon list.  
360 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361 version 0.2.6 --
362   - Weehee!!!  Much bug-squashing release!!!
363   - added ability for bbkeys to minimize itself (right-click on bbkeys's
364     "close" button).  This should satisfy those of us who would like to not
365     see the beautiful little application I wrote and just use it.  *sniff*  =:)
366   - added "-iconic" switch, so bbkeys can be launched in minimized mode.
367     Again, *sniff*  Nobody likes my pretty window.  =:)
368   - fixed a few undocumented features...
369     -- bbkeys queued up all keystroke combos while external gooey configurator 
370        was running and then did then all at once, really quick-like when you
371        came back from the configurator.  This tended to annoy my users.  =:)
372     -- bbkeys wasn't releasing grabbed keys before it launched the
373        configurator, so the configurator wasn't receiving any of the previously
374        grabbed keys. XSync(False) does wonders.  =:)
375   - updated bbkeysConfigGtk to allow configuration of ExecCommand directives.
377 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
378 version 0.2.5 --
379   - erm.  forgot to write in this for a while. =:)
380   - took out timer implementation for ~/.bbkeysrc changing -- this should fix
381     the abnormally high CPU/MEM usage that bbkeys has shown -- and replaced it
382     with a virtual function call to CheckConfig out of BaseDisplay.cc.
383   - thought about changing the configurators, then changed my mind.  =:\
385 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
386 version 0.2.3 --
387   - fix for bbkeys not pickup up anything for its frame color/texture
388     (thanks to luqin for the patch. =:) )
390 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
391 version 0.2.2 --
392   - added ExecCommand feature so users can define programs to execute with
393     a given keystroke. Syntax is as follows: 
395     KeyToGrab(F1), WithModifier(Mod1), WithAction(ExecCommand), DoThis(PROGRAM)
397     where PROGRAM is whatever you want to launch.  PROGRAM must be in your PATH
398     if it is not given with a path. (duh) =:)
400   - improved the logic (hopefully) surrounding resource loading.  Took 
401     loadKeygrabs out of reconfigure() (which gets hit on every Expose event)
402     which should improve bbkeys's performance.  Also, apparently I've never 
403     put in the code that I thought I did which checks ~/.bbkeysrc for changes.
404     That should work correctly now.
407 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408 version 0.2.1 -- 
409   - fixed several style issues.  
411   - fixed the bug with having two "-n" switches. =:)  now, "-no[gtk]" is the
412     way to tell bbkeys to launch the xterm-based conflagurator
414   - re-coded bbkeys' internals (made them much more intuitive and easy to read).
415     bbkeys uses 3 basic objects: Window's, GEOM(etry objects), and Pixmap 
416     objects. The Windows are physical units of space that X communicates with.
417     The GEOM objects are pretty self-explanatory, x, y, height, width.  And
418     the Pixmap objects contain the image that is mapped onto the window itself.
419     It goes like this:
420     ----------------------------------------------------------------------------
421     Windows:      GEOMs:         Pixmaps:           resource->objects and what  
422                                                 resources bbkeys uses for them
423     ----------------------------------------------------------------------------
424     win_title     geom_title     pix_title             label.texture
425                                                           window.label.focus 
426     win_back      geom_back      pix_back              frame.texture
427                                                           window.title.focus
428     win_closeBtn  geom_closeBtn  pix_closeBtn          button.texture
429                                                           window.button.focus
430     win_configBtn geom_configBtn pix_configBtn         button.texture 
431                                                           window.button.focus
432                                  pix_pressedBtn        button.texture_pressed
433                                                           window.button.pressed
434     ----------------------------------------------------------------------------
435      
436   - fixed style files in data/ (silly me, I forgot to change them over from 
437     bbpager's style files. )  Extra-special thanks to sourceo for pointing 
438     this little bit to me and reminding me to put it in the ChangeLog =:)
440 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
441 version 0.2.0 -- 
442   - got rid of all the old bbws code base from bbkeys and ported the whole 
443     darned thing to kns's bbpager-0.2.5-alpha code base.
445 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
446 version 0.1.4 --
448   - added "-mini-Me" switch =:) for those people *cough* sissies *cough* who
449     complain about bbkeys' size.  So size DOES matter.... erm, anyway, if 
450     launched with the "-mini-Me" option, bbkeys will draw a cute little window
451     10x10 in size (or whatever I feel like, dangit) containing just the button
452     to launch the configurator, instead of the regular, full-blown window.  No 
453     exit button for YOU!  =:)  Let me know if this doesn't suit you....
455   - improved documentation of sorts.  Ugly habit, this documentation stuff. If
456     you look in README, you'll now see all of the commands that bbkeys will
457     think about obeying. If it feels like it.  And if you ask really, really
458     nicely.