
 This README is a bit outdated.
 
------------------


                               KHotKeys README


 Please read this file carefully.
 
 
 WARNING !
 This is an unstable version , and as such it's buggy, poorly documented
 and there are still features that are not implemented yet. It's aimed
 mainly at users who used to use the KDE1.x versions of KHotKeys ( or are
 smart enough to learn something complicated without having good docs
 for it :) ). Calling it KHotKeys-2.0.0pre2 is a rather cruel joke.
 You've been warned.
  
  
  The 2.x version of KHotKeys is a complete rewrite from scratch, and
 the name KHotKeys is actually rather misleading by now ( and it has never
 been really correct if I understand what the difference between a hotkey
 and a keyboard shortcut is ... well, never mind ... ). KHotKeys2.x should
 be capable of doing everything the 1.x versions could do, and much more,
 of course.

  In short, KHotKeys is a utility that allows you to bind actions to triggers
 and conditions. The most common case is where action means launching some
 command/application/URL, the trigger is some key combination pressed and
 condition is some window being ( not ) active/existing. There are
 ( or will be ) more types of actions, triggers and conditions.
 
 INSTALLATION :
 
  The recommended KDE version is KDE3.1 ( unreleased yet at this time :-> ),
 at least snapshot 20020108. I haven't tested it with any older versions,
 so I don't know if it will work with them or not.

  During installation, the files will replace the ones that are part
 of the simple version in tdebase. Shortcuts assigned using KMenuEdit
 should still work, and the config file will be converted to the new format.
 However, you should backup all files before removing them ( including
 the config file ), so you will be able to go back in case there will be
 a serious problem with this version. The files you should remove
 and backup before installing the new version are :
 - $TDEDIR/bin/khotkeys
 - $TDEDIR/lib/libkcm_khotkeys.la
 - $TDEDIR/lib/libkcm_khotkeys.so
 - $TDEDIR/lib/trinity/libkcm_khotkeys.la
 - $TDEDIR/lib/trinity/libkcm_khotkeys.so
 - $TDEDIR/lib/khotkeys.la
 - $TDEDIR/lib/khotkeys.so
 - $TDEDIR/lib/libkhotkeys.la
 - $TDEDIR/lib/libkhotkeys.so
 - $TDEDIR/share/autostart/khotkeys.desktop
 - $TDEHOME/share/config/khotkeysrc
 Not all these files exist, depending on your KDE and OS version. It's simply
 all files having 'khotkeys' in their name.
  Ok, now the standard install ( ./configure && make && make install ), and
 now you can start you KDE.
 
 CONFIGURATION :
 
  The configuration module is started using TDE Menu/Settings/System/KHotKeys .
 If you have used the 1.x version ( you have, haven't you ? ), it will look
 familiar. On the left, there's a list of all actions, they may be put
 in groups. On the right, there are several tabs with details for
 currently selected action, or an info tab when no action is selected ( no,
 don't bother, the 'Global settings...' button doesn't do anything useful
 yet, besides going down and up ).

  The first tab ( 'General' ) lets you to select the type of the action.
 You can either select 'Generic' type, allowing you to create any kind
 of action, or some simple predefined actions, like launching an application
 on keyboard shortcut press.

  The second tab is the 'Triggers' tab for the 'Generic' type action,
 or a tab specifying only the trigger for a specialized action (e.g.
 a keyboard shortcut). Here you can specify trigger(s) that will start
 this action, if conditions for it will be met.
 The types available now are :
     - Shortcut trigger - a keyboard combination is pressed
     - Gesture trigger - press middle mouse button and start drawing ...
     - Window trigger - a window appears, becomes active, ...
     
  The next tab is settings for the action. ( Just in case you haven't noticed
 yet, I'm apparently not very good at inventing good fitting names. 'Action'
 in KHotKeys means either a whole action, e.g. 'run a new Konsole when
 Ctrl+Alt+T is pressed and the active window is not a Konsole', or it can
 mean just the resulting action, i.e. only 'run a new Konsole'. Live with it
 or suggest better names ).
  - Command/URL tab settings - enter the command or URL to execute ( no,
    the 'Browse' doesn't do anything useful yet ).
  - TDE Menu entry tab settings - just like the Command/URL tab, only enter
    a .desktop file from the TDE Menu to execute (e.g. 'System/konsole.desktop')
  - DCOP call tab settings - enter the application, object, DCOP method and
    arguments (e.g. 'kdesktop', 'KBackgroundIface',
    'setWallpaper(TQString,int)' and '"/some/pic.jpg" 1')
  - Keyboard input tab settings - enter the keyboard input you want to be
    simulated ( no, sorry, the 'Edit' button doesn't really work yet ).
    The "keypresses" are separated by a colon ( ':' ) and are written
    in the form the are seen e.g. in the keybindings dialog ( e.g. to enter
    a colon, you have to type 'Shift+;' ). The 'send to specific window'
    checkbox and the window definition allow you to specify that the input
    shouldn't be sent to the currently active window but to a window that
    matches the definition. Note that certain things, like triggering
    Ctrl+F1 for going to the first desktop, don't work yet.

  The last tab is 'Conditions'. If there are any conditions specified, the action
 will be active only if the at least one of the conditions is true. If the action
 is in a group which also has conditions, at least one of the conditions
 in the group must be true too.
  Conditions are mainly specified using window definitions, the only type now
 available is a simple window definition. You can specify a window title, class,
 command and type ( again, the 'Autodetect...' button doesn't work yet ). Title
 is easy, to get the window class and command, run 'xprop' in Konsole and click
 on a window; then search for WM_CLASS and WM_COMMAND.
 
 EXAMPLES :
 
  Ok, as I guess the things written above aren't that good explanation, I've
 included a sample configuration file. Put it in $TDEHOME/share/config/khotkeysrc.
 Every action is explained in its comment field. Note that all the actions are
 disabled, so you'll have to enable them in order to use them.
 
 KHotKeys Copyright 1999-2002 Lubos Lunak <l.lunak@kde.org>
 Distributed under the terms of the GNU General Public License version 2.

