The sample configuration file
The example configuration file. Try understanding what it says. This might show you
how Keyfrog works, i.e. how it recognizes applications (via either WM_CLASS property,
or process name) and how it groups them.
<keyfrog>
<application-groups>
<group id="100" name="Development tools">
<rule type="windowClassName">kdevelop</rule>
<rule type="windowClassName">gvim</rule>
<rule type="windowClassName">eclipse</rule>
<rule type="windowClassName">anjuta</rule>
<rule type="terminalProcessName">vim</rule>
<rule type="terminalProcessName">gdb</rule>
</group>
<group id="200" name="Browsers">
<rule type="windowClassName">firefox</rule>
<rule type="windowClassName">chromium-browser</rule>
<rule type="windowClassName">google-chrome</rule>
<rule type="windowClassName">konqueror</rule>
<rule type="windowClassName">gecko</rule>
<rule type="windowClassName">firefox-bin</rule>
</group>
<group id="300" name="Communication">
<rule type="terminalProcessName">weechat-curses</rule>
<rule type="terminalProcessName">irssi</rule>
<rule type="terminalProcessName">ekg2</rule>
<rule type="terminalProcessName">ekg</rule>
<rule type="windowClassName">psi</rule>
<rule type="windowClassName">gaim</rule>
</group>
<group id="400" name="Document readers">
<rule type="windowClassName">xpdf</rule>
<rule type="windowClassName">gv</rule>
</group>
<group id="500" name="Other editors">
<rule type="windowClassName">gedit</rule>
<rule type="windowClassName">kwrite</rule>
</group>
<group id="4000" name="Shells">
<rule type="terminalProcessName">mc</rule>
<rule type="terminalProcessName">zsh</rule>
<rule type="terminalProcessName">bash</rule>
<rule type="terminalProcessName">csh</rule>
</group>
</application-groups>
<options>
<debug state="on" logfile="keyfrog.log" uselogfile="on" usestderr="on" />
<cluster size="900" />
</options>
</keyfrog>
Keyfrog's architecture
Example run
After succesfully running the daemon in no-background (--nb) mode, you should see:
|