- including modified patch from Ciprian. This gives us sendToPrevWorkspace
[bbkeys.git] / NEWS
blob87a608a6cf3cc62898afcc0dab41051b864ce8d4
1 2003-01-01
3 - Um.  A later note on plaigarism....  
5 - Wellsir, I started this rewrite out with the intention of not copying any
6   code from anyone else.  Of course, that wasn't how bbkeys started 4+
7   years ago, so I don't know why I expected it to be different this time
8   around....  bbkeys borrowed heavily from XEmacs and windowmaker before...
9   I guess I was hoping to not have to do the same thing again this time
10   around.  
12   Well anyway, I started the bbkeys re-write out with 0 existing code.  I
13   did class diagrams and sequence diagrams, designing the new system to be
14   truly object-oriented and reusable for other bbtools, etc.  I started off
15   the re-write by focusing on the config classes.  I think they're clean
16   and well-done, and am pleased with them.  Then I started into the hard
17   stuff.  As the CVS repository will tell, I didn't originally start out
18   with any anything other than my class-diagram-generated code base.
20   But as I started working on coding the screen handler, the main client
21   itself, and the keybindings interface, I frequently looked at epist's
22   code.  And the more I looked at their code for ideas and sanity-checks,
23   the more I realized that they truly did a marvelous job.  Not only that,
24   but some of their classes were exactly what I had in mind with my early
25   class and sequence diagrams.  I also quickly realized that I could either
26   take some of their classes inline or spend quite a lot of time writing
27   just about exactly the same thing myself.  I chose the former.
29   In particular, I've brought in epist's actions, keytree, and window
30   classes and modified them to work with the new blackbox library.  I've
31   also borrowed code from openbox's XAtom class and used it in Netclient.
32   I was determined that I could do it better than they did with screen, and
33   I think I've done some good things, but all in all, much of ScreenHandler
34   uses epists's screen methods.
36   That being said, I feel less than happy about the means, but I do believe
37   that the end will still be good.  bbkeys has an extremely good code base
38   now--much, much better than it did before.  It's not quite a code-fork
39   from epist, but it feels sort of the same, which isn't nearly as
40   satisfying as I had hoped.   But credit does need to be given where
41   credit is due, and I hope I've done that.
43   *sigh*
45 -----------------------------------------------------------------------------
47 2002-11-02
49 - Okay. complete rewrite time....  Check out the README for the new
50   low-down....
52 - A note on plaigarism...  I've poured through epist-ng's code and it is
53   truly a thing of beauty.  xOr, woodblock, and shrimpx did an EXTREMELY
54   nice job with the code.  I personally don't like the lexx/yacc parser
55   stuff, and since ob2 doesn't have a common window manager library to go
56   against, it's really tied very closely to openbox2.  This means, if
57   people want to use epist-nb with blackbox, they have to first download
58   and build openbox2.  =:)  All that's to say that I would loved to have
59   used more of epist-ng's code, but couldn't because it is so deeply
60   dependent on openbox2's code.  The funny thing is--some of the syntax
61   that epist uses (actions, etc.), look very similar to those which were
62   in bbkeys.  And oddly enough, some of the code looks rather familiar to
63   the epist-ng code.  The reason for this is... there's not honestly that
64   many different ways to do this stuff, folks.  So, hush to all you
65   nay-sayers and "he jacked epist-ng's code!"-sayers too.  Zip it, even.
66   =:)
69 -----------------------------------------------------------------------------
71 2001-11-15
73 - Make use of this file. :) Stuff like the note from 2001-08-03 should
74   really be in here, so it moved. README will contain non-INSTALL-related
75   usage instructions.
77 -----------------------------------------------------------------------------
79 2001-08-03...
81 - This hasn't been updated in a LOOONG time, so I'll do so now.  Some
82   exciting new features have been added to bbkeys with this release
83   (0.8.0), and I'll try to explain one of them here.  By default, bbkeys
84   will now window-cycle MUCH better.  Of course, all keybindings are
85   user-configurable as before, and whatever keys you were using before for
86   PrevWindow/NextWindow will still work--they'll just work better.
88   xOr has helped me considerably (HUGE THANKS AGAIN, xOr!!) with this
89   release, and one of the new features that we added was a "stackedCycling"
90   methodology to window-switching.  To turn off this incredibly GOOD
91   feature (although I have NO idea why you would want to), put this in your
92   bbtools/bbkeys config file (no, not ~/.bbkeysrc--this is the other one
93   that's by default looked for at ~/.bbtools/bbkeys.bb or
94   ~/.bbtools/bbkeys.nobb)....
96   ! set this to false to use the linear style of window cycling
97   bbkeys.menu.stackedCycling:   False
99   Again, why you'd want to do that is beyond me, because there's SO much
100   more benefit to letting bbkeys do things the way it wants to--the new
101   way.  But if you're absolutely dead-set against progress, then put that
102   in.  What you'll then be using is another improvement--a "linear" cycling
103   method.  This will look the same as the old blackbox/bbkeys window
104   cycling method, but will act a little bit better and make more sense.  It
105   will, for instance, put a newly-created window into the cycling stack
106   immediately after the currently-focused window, so you just have to
107   "alt+tab" to it, rather than having to go all the way around the stack.
109   As for the new method for cycling windows...  When you hit your
110   NextWindow keybinding (mine's <alt+tab>), a window menu will pop up and
111   stay up until you release your PrevWindow/NextWindow keys.  This allows you 
112   to navigate through the window list (only showing the windows on the current
113   workspace, but INCLUDING STICKY WINDOWS!!), and then release your keys
114   when you have the window hilighted that you want to switch to.  You can
115   go backwards or forwards through the list, by using your NextWindow and
116   PrevWindow keys.  You can also make the pop-up window menu go away by
117   hitting <Escape>, or if you want, you can select the window currently
118   hilighted with <Return> or <Enter>.  What this last little feature also
119   means is that if you have only one key bound to PrevWindow or NextWindow
120   (i.e. using F11 to cycle forwards and F12 to cycle backwards), you can
121   keep cycling backwards/forwards, and then when you've hilighted the
122   window you want, just hit <Return>, or <Escape> to cancel.
124   But that's not all!!  With this new cycling scheme, the window list stack
125   will be re-organized when you cycle to a new/different window.  The
126   window that you had previously focused is now right below the one you now
127   have focused.  So you can switch back and forth between windows with a
128   simple <alt+tab> (or whatever you choose for your NextWindow keybinding.
130   I guess that's about it.  Give it a try.  I think you'll be pleasantly
131   suprised.