1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
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 kdebase. 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 :
- $KDEDIR/bin/khotkeys
- $KDEDIR/lib/libkcm_khotkeys.la
- $KDEDIR/lib/libkcm_khotkeys.so
- $KDEDIR/lib/trinity/libkcm_khotkeys.la
- $KDEDIR/lib/trinity/libkcm_khotkeys.so
- $KDEDIR/lib/khotkeys.la
- $KDEDIR/lib/khotkeys.so
- $KDEDIR/lib/libkhotkeys.la
- $KDEDIR/lib/libkhotkeys.so
- $KDEDIR/share/autostart/khotkeys.desktop
- $KDEHOME/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 K-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 ).
- K-Menu entry tab settings - just like the Command/URL tab, only enter
a .desktop file from the K-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(QString,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 $KDEHOME/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.
|