movingparts | casa de Kasper
   
[ preface ]
[ linux ]
[ ex-windows ]
[ family ]
[ work ]
[ e-mail me ]
 
 
     
 
-------------------------------
 
 
bbkeys
key (k), n., pl. keys, adj., v. n.  1. a small metal instrument specially cut to fit into a lock and move its bolt.  2. any of various devices functioning as a key: the key of a clock.  3. something that affords a means to achive, master, or understand something else: the key to happiness; the key to training a dog.
Download most current bbkeys

Get yer fresh, hot, steaming....
[ bbkeys tarball | bbkeys rpm | bbkeysconf rpm ]

2000-02-05 (and heeeeeeeeeere's qt2....)

Not to be out-done by nyz's code-releasing, here we go.  =:) From our pre-emptive shhh department, I've decided to drop gtk support for the GUI configurator and have re-done it in qt2. What this means to you is 1) you'll have a smaller file to download, 2) that you'll have to have qt2 libs to run it, 3) that I'll have an easier time of maintaining the code-base, and 4) it will be easier to write a central blackbox configurator in the future. This will probably entail merging toolbox and bbkeysconf's code at some point, though I haven't talked to luqin about this possibility. I realize that not everybody will have qt2-devel on their boxes, so my intent is to post both the tarball and a pre-compiled RPM of bbkeys's configuration utility. There's links at the top.

Also I've posted the tarball and a precompiled RPM of the latest bbkeysConfigGtk utility. It'll stay on the site for a while, but no further development will be done with/on it. I'm pretty sure that the new bbkeysconf qt2 app is pretty bullet-proof, and I'd very much like to be told if/where/when it's not. =:) So use it. Or else. =:) I'm not going to post a tarball of bbkeysconf by itself, since it will be included with the main bbkeys source distribution.

From the ChangeLog....

version 0.2.7 --

  - added MaximizeVertical and MaximizeHorizontal key-grabbability.  Don't
    know why it didn't occur to me earlier.  =:)  nyz did all the hard work
    4 releases ago.

  - As of this release of bbkeys, I'm no longer going to support the gtk
    configurator (unless I get a WHOLE lot of of input to the contrary).
    I've re-written the gui configurator in qt (thanks to luqin for the
    beginnings of this) and let me tell you, it is a WHOLE lot easier to
    work with qt2 than gtk.  Much, much cleaner.  You doubt?

          (gideon@judea)[bbkeysConfigGtk/src]-% wc -l *.{c,h}
              538 bbkeysConfig.c
              689 bbkeysConfigSig.c
              158 support.c
                7 bbkeysConfig.h
              139 bbkeysConfigSig.h
               57 support.h
             1588 total

          (gideon@judea)[bbkeys-0.2.7/bbkeysconf-1.1]-% wc -l *.{cc,hh}
              593 gui.cc
               24 main.cc
               27 myapplication.cc
               67 gui.hh
               23 myapplication.hh
              734 total

    734 lines of code versus 1588 makes me a happy, happy SE.  =:)

  - So, I'm pulling out the bbkeysConfigGtk directory from the bbkeys source
    tarball and in its place is bbkeysconf.  I'll also be regulaly
    posting rpms of both bbkeys and bbkeysconf as new releases rear their
    ugly little heads, as well as one last RPM of bbkeysConfigGtk as well
    as the tarball for bbkeysConfigGtk if anybody just HAS to have the gtk
    version.  =:)

  - As a result of this, the -no[gtk] for bbkeys will change to -no[qt].

  - Slight buglet fix for bbkeys when he's in iconic mode to properly set
    WM_ICON_NAME (Thanks to Mats Jonson for the bug-report.  =:) ) so bbkeys
    shows up as bbkeys and not "Unnamed" in blackbox's Icon list.

Mucho fun!!! Please give it a shot and as always, let me know of any problems you might have with this high-quality product. =:) God bless!!!

 

2000-01-25 (more wibbles late at night)

Weeheeeee!!! Coding at 1 in the morning rocks, baybee!!! New release of bbkeys... I'm tired so I'll cut and paste from the ChangeLog...

 

version 0.2.6 --
- Weehee!!! Much bug-squashing release!!!

- added ability for bbkeys to minimize itself (right-click on bbkeys's

"close" button). This should satisfy those of us who would like to not see the beautiful little application I wrote and just use it. *sniff* =:)

- added "-iconic" switch, so bbkeys can be launched in minimized mode. Again, *sniff* Nobody likes my pretty window. =:)

- fixed a few undocumented features...

-- bbkeys queued up all keystroke combos while external gooey configurator was running and then did then all at once, really quick-like when you came back from the configurator. This tended to annoy my users. =:)

-- bbkeys wasn't releasing grabbed keys before it launched the configurator, so the configurator wasn't receiving any of the previously grabbed keys. XSync(False) does wonders. =:)

- updated bbkeysConfigGtk to allow configuration of ExecCommand directives.

Mucho fun!!! Please give it a shot and as always, let me know of any problems you might have with this high-quality product. =:) God bless!!!

 

2000-01-20 (wibbles late at night)

So I hopefully fixed the rogue CPU/MEM spikes that bbkeys was causing, as well as the rather annoying stuck-button phenomenon. Bugs, bugs, bugs. So anyway, please give it a shot with 0.2.5 and let me know what bugs I've managed to create. =:) Oh. I almost thought about re-doing the gtk configurator... but then thought better of it. Honestly, I may scratch the thing and write a new one in qt2 for the heck of it, unless I hear a large noise from my little user-community. /hint/ Hrm? What's the consensus? Is anybody opposed to a qt2 configuration utility instead of the gtk one?

 

1999-12-21 (weehee!!  news, news, news)

Okay, so I finally got some feedback on bbkeys!!  Thanks Mike!!  =:)  One line of code change makes me feel like putting out a new version!!!  In other news, I'm also considering doing away completely with bbkeysConfigGtk, but quite honestly, I'm note sure how many people actually use the thing.  I definitely don't want to throw it away if you guys are using it, but at the same time, I'm really not sure if anybody's even using it.  If you find this little bloated thing useful, please let me know--it would help me greatly.  Also new, click on the spinning floppy to download bbkeys!!!  gotta like that. yessirree Bob....

 

1999-11-29 (okay, I really have no idea when I put this up--it's been a while....)

In an odd case of irony, this little e-mail from nyz himself came into my Inbox just as I was starting to think about needing to start thinking about coming up with something to put in this little category right here. So read first....  =:)

ok people... i have done something that should be well received...

i have made 0.60.0-alpha available... take a look at http://blackbox.alug.org/alpha.html before even *thinking* about downloading it... this is NOT A FULL BLOWN RELEASE... this is just a snapshot of my current source tree... and will change frequently

read alpha.html twice... then read it again... once you understand that this is *alpha* software... download it and play with it...

also... i have made Jason Kasper's bbkeys slitapp available as well... read the docs on how to configure the little jewel...

regards :)

Blackbox - An X11R6 Window Manager http://blackbox.alug.org/
__________________________________

Bradley T. Hughes <bhughes@tcac.net>

So what is bbkeys, exactly?  So glad ya asked.... bbkeys is a utility for X that I wrote which lets you define keystrokes and modifiers and allows you to attach corresponding window-manager commands to them.  It is completely configurable via 3 main avenues: bbkeysConfigGtk, bbkeysConfigC, and /usr/bin/vi.  =:) The first two are contained in the bbkeys source code. Vi you'll have to find on your own....

bbkeys stores its key-bindings in ~/.bbkeysrc, and I've created a GUI configuration tool I call bbkeysConfigGtk (written in GTK oddly enough) that allows you to graphically define your keystrokes/modifiers and accompanying actions.  This comes with the bbkeys source-ball and is in a directory all its own underneath the main bbkeys source code, called bbkeysConfigGtk (strangely enough). This means that if you want to use this configuration tool (and who wouldn't, anyway?), you'll need to cd into the bbkeysConfigGtk/ directory and do a

./configure ; make ; make install
I also wrote a configuration tool in C called bbkeysConfigC (oddly enough) that gets built along with the regular bbkeys program and will be where it needs to be with a
./configure ; make ; make install
in the top-level bbkeys directory.  And of course, if you want to, you can edit ~/.bbkeysrc by hand with the text editor of your choice if you want.  It's pretty straight-forward to do, really it is. READ THE SOURCE, LUKE....

Screenshots....

  • Here's a shot of bbkeys running with other dock-apps with rampage's BbMac theme
  • and here you see the bbkeysConfigGtk app running (with the gtk-engines-metal theme)
I wrote bbkeys for three reasons. First, as an academic exercise (I'd not written anything for linux previously).  Second, I've been using the blackbox window manager for X off and on ever since nyz let me peek at his screenshots of his little experiment (way back in undernet #linux), and one thing that I've always missed with blackbox has been configurable key-bindings.  Third, this all timed nicely with nyz wanting to get rid of key-bindings in his code base and at the same time come up with some working code examples of an improved window-manager/client interaction scheme.

I first wrote bbkeys as a daemon (here's the humble beginnings) in C and this was all fine and dandy until I realized that people would probably want to see the pretty little beastie.... So I have used John Kennis' code base for bbtools and adapted it to my own needs.  Absolute kudos, by the way, to John for his excellent code--the simplicity and modularity of his code made the creation of yet another bbtool much easier.

I'll not go into the particulars of compilation/use here, as that's what README's are for in one's tarball.  =:)  Please read the instructions in the tarball and feel free to e-mail me with any comments, suggestions, complaints, good Matrix sites, or obtuse HTML examples....