Screen Shots
Mailing Lists
Bug Reports




Whats new
Using Openbox

Openbox Features
Epist Features
The RC File
Menu File

Submitting a patch
What to do about a bug

Epistrophy - A NetWM Keygrabber

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.