Epistrophy (Epist) is now the official Openbox keygrabber. The current
Epist codebase was written from scratch to use the NetWM spec for
communication with window managers. This makes epist compatible with
any NetWM window manager, such as Metacity. It is however, at least
for now, bundled with the Openbox source.
Emacs Key Chains
Epist supports arbitrary-length Emacs-like
key chains cleanly and efficiently. The configuration file syntax is
very straightforward:
Mod1-Shift-x {
v toggleMaximizeVertical;
Mod1-Shift-c {
s toggleShade;
Control-s toggleOmnipresent;
}
}
This creates the following chains:
Mod1-Shift-x v
Mod1-Shift-x Mod1-Shift-c s
Mod1-Shift-x Mod1-Shift-c Control-s
which are bound to toggleMaximizeVertical, toggleShade and
toggleOmnipresent, respectively.
For those not familiar with key chains, in the example above, you
would press Mod1-Shift-x , release, press
Mod1-Shift-c , release, and press s in order
to toggleShade.
Action Parameters
A lot of Epist actions take parameters. For example, instead of having
changeWorkspace1, changeWorkspace2, ..., changeWorkspaceN, actions,
epist has a single actions, changeWorkspace, which takes a single
numeric parameter. You can then do:
Mod1-1 changeWorkspace 1;
Mod1-2 changeWorkspace 2;
... etc ...
This way you can, for example, specify the number of pixels a window
should move or resize by, etc.
Openbox Specifics
Openbox exposes 2 atoms which Epist uses. This is the only thing that
would qualify as "proprietary communication" between Openbox
and Epist. This was done so that Openbox users (who are most likely
using Epist, have a way to open the Openbox menus in environments
which steal the root clicks--such as KDE 3.
The two Openbox specific actions are showRootMenu and
showWorkspaceMenu.
BBKeys User?
A script which will convert your bbkeys bindings to Epist bindings on
the fly can be found
here.
|