Initial Commit
[packages] / xemacs-packages / xwem / lisp / xwem-keydefs.el
1 ;;; xwem-keydefs.el --- Define standard XWEM keybindings.
2
3 ;; Copyright (C) 2003-2005 by XWEM Org.
4
5 ;; Author: Zajcev Evgeny <zevlg@yandex.ru>
6 ;; Created: Fri Dec 12 15:47:42 MSK 2003
7 ;; Keywords: xwem, xlib
8 ;; X-CVS: $Id: xwem-keydefs.el,v 1.12 2005-04-04 19:54:12 lg Exp $
9
10 ;; This file is part of XWEM.
11
12 ;; XWEM is free software; you can redistribute it and/or modify it
13 ;; under the terms of the GNU General Public License as published by
14 ;; the Free Software Foundation; either version 2, or (at your option)
15 ;; any later version.
16
17 ;; XWEM is distributed in the hope that it will be useful, but WITHOUT
18 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
19 ;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
20 ;; License for more details.
21
22 ;; You should have received a copy of the GNU General Public License
23 ;; along with XEmacs; see the file COPYING.  If not, write to the Free
24 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
25 ;; 02111-1307, USA.
26
27 ;;; Synched up with: Not in FSF
28
29 ;;; Commentary:
30
31 ;; 
32
33 ;;; Code:
34 \f
35 (require 'xwem-load)
36 (require 'xwem-misc)
37 (require 'xwem-compat)
38
39 (defmacro xwem-keymap-put-prop (keymap prop value)
40   "In on of xwem KEYMAP put property PROP with VALUE."
41   `(setplist ,keymap (plist-put (symbol-plist ,keymap) ,prop ,value)))
42
43 (put 'xwem-keymap-put-prop 'lisp-indent-function 2)
44
45 ;;;###autoload
46 (defvar xwem-default-parent-map (make-sparse-keymap 'XWEM-default-parent)
47   "Default parent keymap for all override keymaps.")
48
49 ;;;###autoload
50 (defvar xwem-global-map (make-sparse-keymap 'XWEM-global-map)
51   "XWEM's global keymap.
52
53 Bindings:
54 \\{xwem-global-map}.")
55 (set-keymap-parents xwem-global-map (list xwem-default-parent-map))
56
57 ;;; Prefixes
58
59 ;; XWEM keymap prefixes may have properties:
60 ;;
61 ;;   * 'cursor - Cursor to use when entering keymap
62 ;;   * 'prompt - Prompt to show when entering keymap
63 ;;
64
65 ;; Extended commands
66 (xwem-define-prefix-command 'xwem-Hyper-X-prefix t)
67 (defvar xwem-hyp-x-map (symbol-function 'xwem-Hyper-X-prefix)
68   "Keymap for extended (\\<xwem-global-map>\\[xwem-Hyper-X-prefix]) commands.
69
70 Bindings:
71 \\{xwem-hyp-x-map}")
72 (define-key xwem-global-map (xwem-kbd "H-x") 'xwem-Hyper-X-prefix)
73
74 ;; Help
75 (xwem-define-prefix-command 'xwem-help-prefix t)
76 (defvar xwem-help-map (symbol-function 'xwem-help-prefix)
77   "Keymap for help (\\<xwem-global-map>\\[xwem-help-prefix]) commands.
78
79 Bindings:
80 \\{xwem-help-map}")
81 (xwem-keymap-put-prop 'xwem-help-prefix 'cursor 'xwem-cursor-help)
82 (xwem-keymap-put-prop 'xwem-help-prefix 'prompt
83   '(concat (single-key-description xwem-last-event) " "
84            (substitute-command-keys
85             "(Type \\<xwem-help-map>\\[xwem-help-for-help] for help)")))
86 (define-key xwem-global-map (xwem-kbd "H-h") 'xwem-help-prefix)
87
88 ;;;###autoload(autoload 'xwem-root-prefix "xwem-keydefs" "Keymap for root window." nil 'keymap)
89 (xwem-define-prefix-command 'xwem-root-prefix t)
90 (defvar xwem-root-map (symbol-function 'xwem-root-prefix)
91   "Keymap for root window.
92
93 Bindings:
94 \\{xwem-root-map}")
95 (set-keymap-parents xwem-root-map (list xwem-default-parent-map))
96
97 ;;;###autoload(autoload 'xwem-frame-prefix "xwem-keydefs" "Keymap for frames operations." nil 'keymap)
98 (xwem-define-prefix-command 'xwem-frame-prefix t)
99 (defvar xwem-frame-map (symbol-function 'xwem-frame-prefix)
100   "Keymap for frames operations.
101
102 Bindings:
103 \\{xwem-frame-map}")
104 (set-keymap-parents xwem-frame-map (list xwem-default-parent-map))
105
106 ;; Window commands
107 (xwem-define-prefix-command 'xwem-Hyper-X-4-prefix t)
108 (defvar xwem-hyp-x-4-map (symbol-function 'xwem-Hyper-X-4-prefix)
109   "Keymap for subcommands of \\<xwem-global-map>\\[xwem-Hyper-X-4-prefix].
110
111 Bindings:
112 \\{xwem-hyp-x-4-map}")
113 (define-key xwem-global-map (xwem-kbd "H-x 4") 'xwem-Hyper-X-4-prefix)
114
115 ;; Frame commads
116 (xwem-define-prefix-command 'xwem-Hyper-X-5-prefix t)
117 (defvar xwem-hyp-x-5-map (symbol-function 'xwem-Hyper-X-5-prefix)
118   "Keymap for subcommands of \\<xwem-global-map>\\[xwem-Hyper-X-5-prefix].
119
120 Bindings:
121 \\{xwem-hyp-x-5-map}")
122 (define-key xwem-global-map (xwem-kbd "H-x 5") 'xwem-Hyper-X-5-prefix)
123
124 ;; Client commands
125 (xwem-define-prefix-command 'xwem-Hyper-X-7-prefix t)
126 (defvar xwem-hyp-x-7-map (symbol-function 'xwem-Hyper-X-7-prefix)
127   "Keymap for subcommands of \\<xwem-global-map>\\[xwem-Hyper-X-7-prefix].
128
129 Bindings:
130 \\{xwem-hyp-x-7-map}")
131 (define-key xwem-global-map (xwem-kbd "H-x 7") 'xwem-Hyper-X-7-prefix)
132
133 ;; Launcher keymap
134 (xwem-define-prefix-command 'xwem-launcher-prefix t)
135 (defvar xwem-launcher-map (symbol-function 'xwem-launcher-prefix)
136   "Keymap for xwem launcher (\\<xwem-global-map>\\[xwem-launcher-prefix]) commands.
137
138 Bindings:
139 \\{xwem-launcher-map}")
140 (define-key xwem-global-map (xwem-kbd "H-a") 'xwem-launcher-prefix)
141
142 (xwem-define-prefix-command 'xwem-launcher-other-win-prefix)
143 (defvar xwem-launcher-other-win-map
144   (symbol-function 'xwem-launcher-other-win-prefix)
145   "Keymap for launcher in other window (\\<xwem-global-map>\\[xwem-launcher-other-win-prefix]) commands.
146
147 Bindings:
148 \\{xwem-launcher-other-win-map}")
149 (define-key xwem-hyp-x-4-map (xwem-kbd "H-a") 'xwem-launcher-other-win-prefix)
150
151 (xwem-define-prefix-command 'xwem-launcher-other-frame-prefix)
152 (defvar xwem-launcher-other-frame-map (symbol-function 'xwem-launcher-other-frame-prefix)
153   "Keymap for launcher in other frame (\\<xwem-global-map>\\[xwem-launcher-other-frame-prefix]) commands.
154
155 Bindings:
156 \\{xwem-launcher-other-frame-map}")
157 (define-key xwem-hyp-x-5-map (xwem-kbd "H-a") 'xwem-launcher-other-frame-prefix)
158
159 ;; Keyboard macros keymap
160 ;;;###autoload(autoload 'xwem-user-macros-prefix "xwem-keydefs" nil nil 'keymap)
161 (xwem-define-prefix-command 'xwem-user-macros-prefix t)
162 (defvar xwem-user-macros-map (symbol-function 'xwem-user-macros-prefix)
163   "Keymap of user defined keyboard macros (\\<xwem-global-map>\\[xwem-user-macros-prefix]) commands.
164
165 Bindings:
166 \\{xwem-user-macros-map}")
167 (set-keymap-default-binding xwem-user-macros-map 'xwem-keymacro-undefined)
168 (define-key xwem-user-macros-map (xwem-kbd "H-h") xwem-prefix-help-command)
169 (define-key xwem-global-map (xwem-kbd "H-m") 'xwem-user-macros-prefix)
170
171 ;; Window Resizing keymap
172 (xwem-define-prefix-command 'xwem-resize-prefix t)
173 (defvar xwem-hyp-resize-map (symbol-function 'xwem-resize-prefix)
174   "Keymap for window resize (\\<xwem-global-map>\\[xwem-resize-prefix]) commands.
175
176 Bindings:
177 \\{xwem-hyp-resize-map}")
178 (define-key xwem-global-map (xwem-kbd "H-r") 'xwem-resize-prefix)
179
180 (xwem-define-prefix-command 'xwem-Hyper-C-prefix)
181 (defvar xwem-hype-c-map (symbol-function 'xwem-Hyper-C-prefix)
182   "Keymap for H-c commands.
183
184 Bindings:
185 \\{xwem-Hyper-C-prefix}")
186 (define-key xwem-global-map (xwem-kbd "H-c") 'xwem-Hyper-C-prefix)
187
188 \f
189 ;;; Default bindings for `xwem-global-map'
190 (set-keymap-default-binding xwem-global-map 'xwem-self-insert-or-undefined)
191
192 (define-key xwem-global-map (xwem-kbd "H-g") xwem-quit-command)
193 (define-key xwem-global-map (xwem-kbd "H-G") 'xwem-kbd-quit)
194
195 ;; Quoting keyboard
196 (define-key xwem-global-map (xwem-kbd "H-q") 'xwem-kbd-quote-command)
197
198 ;; help keys
199 (define-key xwem-help-map (xwem-kbd "H-h") 'xwem-help-for-help)
200 (define-key xwem-help-map (xwem-kbd "b") 'xwem-help-describe-bindings)
201 (define-key xwem-help-map (xwem-kbd "c") 'xwem-help-clients)
202 (define-key xwem-help-map (xwem-kbd "f") 'xwem-help-frames)
203 (define-key xwem-help-map (xwem-kbd "w") 'xwem-help-wins)
204 (define-key xwem-help-map (xwem-kbd "k") 'xwem-help-describe-key)
205 (define-key xwem-help-map (xwem-kbd "h") 'xwem-help)
206 (define-key xwem-help-map (xwem-kbd "H-w") 'xwem-help-where-is)
207 (define-key xwem-help-map (xwem-kbd "H-f") 'xwem-help-function)
208 (define-key xwem-help-map (xwem-kbd "l") 'xwem-show-message-log)
209 (define-key xwem-help-map (xwem-kbd "s") 'xwem-strokes-list)
210 (define-key xwem-help-map (xwem-kbd "r") 'xwem-registers-list)
211 (define-key xwem-help-map (xwem-kbd "H-y") 'xwem-help-cutbuffers)
212 (define-key xwem-help-map (xwem-kbd "m") 'xwem-help-mode)
213
214 ;; Universal argument
215 (define-key xwem-global-map (xwem-kbd "H-u") 'xwem-universal-argument)
216
217 (define-key xwem-global-map (xwem-kbd "H--") 'xwem-universal-minus)
218 (define-key xwem-global-map (xwem-kbd "H-0") 'xwem-universal-digit)
219 (define-key xwem-global-map (xwem-kbd "H-1") 'xwem-universal-digit)
220 (define-key xwem-global-map (xwem-kbd "H-2") 'xwem-universal-digit)
221 (define-key xwem-global-map (xwem-kbd "H-3") 'xwem-universal-digit)
222 (define-key xwem-global-map (xwem-kbd "H-4") 'xwem-universal-digit)
223 (define-key xwem-global-map (xwem-kbd "H-5") 'xwem-universal-digit)
224 (define-key xwem-global-map (xwem-kbd "H-6") 'xwem-universal-digit)
225 (define-key xwem-global-map (xwem-kbd "H-7") 'xwem-universal-digit)
226 (define-key xwem-global-map (xwem-kbd "H-8") 'xwem-universal-digit)
227 (define-key xwem-global-map (xwem-kbd "H-9") 'xwem-universal-digit)
228
229 ;; Keyboard macros
230 (define-key xwem-global-map (xwem-kbd "H-x (") 'xwem-keymacro-begin)
231 (define-key xwem-global-map (xwem-kbd "H-x )") 'xwem-keymacro-end)
232 (define-key xwem-global-map (xwem-kbd "H-x e") 'xwem-keymacro-play-last)
233 (define-key xwem-global-map (xwem-kbd "H-x q") 'xwem-keymacro-recursive-edit)
234 (define-key xwem-global-map (xwem-kbd "H-M-c") 'xwem-keymacro-exit-recursive-edit)
235 (define-key xwem-global-map (xwem-kbd "H-x H-k") 'xwem-edmacro-edit-kbd-macro)
236
237 ;; Moving across windows
238 (define-key xwem-global-map (xwem-kbd "H-x o") 'xwem-other-window)
239 (define-key xwem-global-map (xwem-kbd "H-n") 'xwem-frame-goto-next)
240 (define-key xwem-global-map (xwem-kbd "H-p") 'xwem-frame-goto-prev)
241
242 (define-key xwem-global-map (xwem-kbd "H-left") 'xwem-winmove-left)
243 (define-key xwem-global-map (xwem-kbd "H-right") 'xwem-winmove-right)
244 (define-key xwem-global-map (xwem-kbd "H-up") 'xwem-winmove-up)
245 (define-key xwem-global-map (xwem-kbd "H-down") 'xwem-winmove-down)
246
247 (define-key xwem-global-map (xwem-kbd "H-x +") 'xwem-balance-windows)
248
249 ;; Frames operations
250 (define-key xwem-global-map (xwem-kbd "H-x 5 5") 'xwem-make-frame)
251 (define-key xwem-global-map (xwem-kbd "H-x 5 b") 'xwem-cl-switch-other-frame)
252 (define-key xwem-global-map (xwem-kbd "H-x 5 r") 'xwem-launch-program-other-frame)
253 (define-key xwem-global-map (xwem-kbd "H-x 5 Z") 'xwem-frame-showroot)
254 (define-key xwem-global-map (xwem-kbd "H-x 5 H-a x") 'xwem-launch-xterm-other-frame)
255 (define-key xwem-global-map (xwem-kbd "H-x 5 H-a m") 'xwem-launch-lupe-other-frame)
256
257 (define-key xwem-global-map (xwem-kbd "H-x 5 0") 'xwem-frame-destroy)
258 (define-key xwem-global-map (xwem-kbd "H-x 5 1") 'xwem-frame-fit-screen)
259 (define-key xwem-global-map (xwem-kbd "H-x 5 2") 'xwem-frame-sbs-vert-split)
260 (define-key xwem-global-map (xwem-kbd "H-x 5 3") 'xwem-frame-sbs-hor-split)
261 (define-key xwem-global-map (xwem-kbd "H-x 5 n") 'xwem-frame-set-name)
262 (define-key xwem-global-map (xwem-kbd "H-x 5 C-l") 'xwem-frame-lower)
263 (define-key xwem-global-map (xwem-kbd "H-x 5 C-r") 'xwem-frame-raise)
264 (define-key xwem-global-map (xwem-kbd "H-x 5 z") 'xwem-frame-hide)
265 (define-key xwem-global-map (xwem-kbd "H-x H-n") 'xwem-frame-next)
266 (define-key xwem-global-map (xwem-kbd "H-x H-p") 'xwem-frame-previous)
267 (define-key xwem-global-map (xwem-kbd "H-x 5 H-t") 'xwem-transpose-frames)
268
269 ;; Window commands
270 (define-key xwem-global-map (xwem-kbd "H-x 4 0") 'xwem-kill-cl-and-window)
271 (define-key xwem-global-map (xwem-kbd "H-x 4 b") 'xwem-cl-switch-other-win)
272 (define-key xwem-global-map (xwem-kbd "H-x 4 C-o") 'xwem-cl-switch-other-win)
273 (define-key xwem-global-map (xwem-kbd "H-x 4 r") 'xwem-launch-program-other-win)
274 (define-key xwem-global-map (xwem-kbd "H-x 4 H-M-l") 'xwem-cl-switch-to-other-in-other-win)
275 (define-key xwem-global-map (xwem-kbd "H-x 4 H-a x") 'xwem-launch-xterm-other-win)
276 (define-key xwem-global-map (xwem-kbd "H-x 4 H-a m") 'xwem-launch-lupe-other-win)
277 (define-key xwem-global-map (xwem-kbd "H-x 4 H-t") 'xwem-transpose-windows)
278
279 (define-key xwem-global-map (xwem-kbd "H-o") 'xwem-Hyper-X-4-prefix)
280
281 ;; Clients commands
282 (define-key xwem-global-map (xwem-kbd "H-x 7 z") 'xwem-client-iconify)
283 (define-key xwem-global-map (xwem-kbd "H-x 7 Z") 'xwem-client-iconify-every)
284 (define-key xwem-global-map (xwem-kbd "H-x 7 0") 'xwem-client-kill)
285 (define-key xwem-global-map (xwem-kbd "H-x 7 1") 'xwem-client-iconify-others)
286 (define-key xwem-global-map (xwem-kbd "H-x 7 2") 'xwem-client-run-copy)
287 (define-key xwem-global-map (xwem-kbd "H-x 7 4") 'xwem-client-run-copy-other-win)
288 (define-key xwem-global-map (xwem-kbd "H-x 7 5") 'xwem-client-run-copy-other-frame)
289 (define-key xwem-global-map (xwem-kbd "H-x 7 i") 'xwem-client-info)
290 (define-key xwem-global-map (xwem-kbd "H-x 7 C-o") 'xwem-cl-switch-to-other)
291 (define-key xwem-global-map (xwem-kbd "H-x 7 p") 'xwem-cl-pop-to-client)
292 (define-key xwem-global-map (xwem-kbd "H-x 7 t") 'xwem-client-set-title)
293 (define-key xwem-global-map (xwem-kbd "H-x 7 H-t") 'xwem-cl-transpose)
294 (define-key xwem-global-map (xwem-kbd "H-x 7 f") 'xwem-toggle-fullscreen)
295
296 (define-key xwem-global-map (xwem-kbd "H-=") 'xwem-client-info)
297
298 (define-key xwem-global-map (xwem-kbd "H-@") 'xwem-client-set-mark)
299 (define-key xwem-global-map (xwem-kbd "H-SPC") 'xwem-client-set-mark)
300 (define-key xwem-global-map (xwem-kbd "H-x H-x") 'xwem-client-exchange-selected-and-mark)
301 (define-key xwem-global-map (xwem-kbd "H-x k") 'xwem-client-query-kill)
302
303 (define-key xwem-global-map (xwem-kbd "H-x z") 'xwem-client-iconify)
304
305 ;; Launcher commands
306 (define-key xwem-global-map (xwem-kbd "H-a H-s") 'xwem-launcher-toggle-split-type)
307 (define-key xwem-global-map (xwem-kbd "H-a H-f") 'xwem-launcher-toggle-frame-type)
308 (define-key xwem-global-map (xwem-kbd "H-a l") 'xwem-launch-xlock)
309 (define-key xwem-global-map (xwem-kbd "H-a x") 'xwem-launch-xterm)
310 (define-key xwem-global-map (xwem-kbd "H-a m") 'xwem-launch-lupe) ; Syn for 'm' is magnifier
311 (define-key xwem-global-map (xwem-kbd "H-a e") 'make-frame)
312
313 ;; Window Resizing
314 (define-key xwem-global-map (xwem-kbd "H-r h") 'xwem-window-enlarge-horizontally)
315 (define-key xwem-global-map (xwem-kbd "H-r v") 'xwem-window-enlarge-vertically)
316
317 ;; Various commands
318 (define-key xwem-global-map (xwem-kbd "H-s") 'xwem-frame-switch-nth)
319 (define-key xwem-global-map (xwem-kbd "H-S") 'xwem-frame-switch-nth-linkage)
320
321 (define-key xwem-global-map (xwem-kbd "H-x 0") 'xwem-window-delete)
322 (define-key xwem-global-map (xwem-kbd "H-x 3") 'xwem-window-split-horizontally)
323 (define-key xwem-global-map (xwem-kbd "H-x 2") 'xwem-window-split-vertically)
324 (define-key xwem-global-map (xwem-kbd "H-x 1") 'xwem-window-delete-others)
325
326 (define-key xwem-global-map (xwem-kbd "H-t") 'xwem-cl-transpose)
327 (define-key xwem-global-map (xwem-kbd "H-o H-t") 'xwem-transpose-windows)
328 (define-key xwem-global-map (xwem-kbd "H-x H-t") 'xwem-transpose-frames)
329
330 (define-key xwem-global-map (xwem-kbd "H-M-l") 'xwem-cl-switch-to-other)
331 (define-key xwem-global-map (xwem-kbd "H-x H-l") 'xwem-switch-other-client)
332
333 (define-key xwem-global-map (xwem-kbd "H-x b") 'xwem-switch-client)
334 (define-key xwem-global-map (xwem-kbd "H-x a") 'xwem-attach-client)
335 (define-key xwem-global-map (xwem-kbd "H-x H-b") 'xwem-ixwem)
336
337 (define-key xwem-global-map (xwem-kbd "H-x r") 'xwem-launch-program)
338 (define-key xwem-global-map (xwem-kbd "H-:") 'xwem-eval-expression)
339 (define-key xwem-global-map (xwem-kbd "H-!") 'xwem-shell-command)
340 (define-key xwem-global-map (xwem-kbd "H-M-x") 'xwem-execute-extended-command)
341 (define-key xwem-global-map (xwem-kbd "H-#") 'xwem-mini-calc)
342 (define-key xwem-global-map (xwem-kbd "H-TAB") 'xwem-minibuffer-activate)
343
344 (define-key xwem-global-map (xwem-kbd "H-f12") 'xwem-misc-make-screenshot)
345 (define-key xwem-global-map (xwem-kbd "H-z") 'xwem-misc-pause)
346 (define-key xwem-global-map (xwem-kbd "H-pause") 'xwem-misc-pause)
347
348 ;; Register commands
349 (define-key xwem-global-map (xwem-kbd "H-x 6") 'xwem-register-win-config)
350 (define-key xwem-global-map (xwem-kbd "H-x 8") 'xwem-register-frame-config)
351 (define-key xwem-global-map (xwem-kbd "H-x /") 'xwem-register-client)
352 (define-key xwem-global-map (xwem-kbd "H-x j") 'xwem-register-jump)
353
354 ;; Client switcher
355 (define-key xwem-global-map (xwem-kbd "H-f") 'xwem-forward-application)
356 (define-key xwem-global-map (xwem-kbd "H-b") 'xwem-backward-application)
357
358 (define-key xwem-global-map (xwem-kbd "H-]") 'xwem-clswi-next)
359 (define-key xwem-global-map (xwem-kbd "H-[") 'xwem-clswi-prev)
360 (define-key xwem-global-map (xwem-kbd "H-}") 'xwem-clswi-next-other-window)
361 (define-key xwem-global-map (xwem-kbd "H-{") 'xwem-clswi-prev-other-window)
362 (define-key xwem-global-map (xwem-kbd "H-x 4 H-]") 'xwem-clswi-next-other-window)
363 (define-key xwem-global-map (xwem-kbd "H-x 4 H-[") 'xwem-clswi-prev-other-window)
364 (define-key xwem-global-map (xwem-kbd "H-o H-]") 'xwem-clswi-next-other-window)
365 (define-key xwem-global-map (xwem-kbd "H-o H-[") 'xwem-clswi-prev-other-window)
366
367 ;; Cutbuffers
368 (define-key xwem-global-map (xwem-kbd "H-w") 'xwem-copy-cutbuffer)
369 (define-key xwem-global-map (xwem-kbd "H-y") 'xwem-paste-cutbuffer)
370
371 ;;; Misc bindings
372 (define-key xwem-global-map (xwem-kbd "H-x H-f") 'xwem-open-file)
373 ;; Making holer in frames
374 (define-key xwem-global-map (xwem-kbd "H-x h") 'xwem-holer-prefix)
375 ;; Log your work
376 (define-key xwem-global-map (xwem-kbd "H-W") 'xwem-worklog-prefix)
377 ;; Interactively edit client's property
378 (define-key xwem-global-map (xwem-kbd "H-c H-e") 'xwem-edit-client-properties)
379
380 ;; Compat layer, must move to xwem-compat.el
381 (if xwem-gnuemacs-p
382     (progn
383       (define-key xwem-global-map [s-mouse-1] 'xwem-strokes-begin)
384       (define-key xwem-global-map [h-mouse-1] 'xwem-strokes-cmplx-begin))
385   (progn
386     ;;; Root keymap
387     ;; No-need to grab button1/button3
388     (define-key xwem-root-map (xwem-kbd "<button1>") 'xwem-popup-auto-menu)
389     (define-key xwem-root-map (xwem-kbd "<button3>") 'xwem-popup-clients-menu)
390
391     ;;; Frame keymap
392     ;; No-need to grab button1/button3
393     (define-key xwem-frame-map (xwem-kbd "<button1>") 'xwem-frame-on-delim-resize)
394     (put 'xwem-frame-on-delim-resize 'xwem-no-grab t)
395     (define-key xwem-frame-map (xwem-kbd "<button3>") 'xwem-frame-on-delim-menu)
396     (put 'xwem-frame-on-delim-menu 'xwem-no-grab t)
397     ;; Frame imove/iresize
398     (define-key xwem-frame-map (xwem-kbd "Sh-C-button1") 'xwem-frame-imove)
399     (define-key xwem-frame-map (xwem-kbd "Sh-C-button3") 'xwem-frame-iresize)
400
401     ;; Strokes bindings
402     (define-key xwem-default-parent-map (xwem-kbd "M-<button1>") 'xwem-strokes-begin)
403     (define-key xwem-default-parent-map (xwem-kbd "H-<button1>") 'xwem-strokes-cmplx-begin)
404     ))
405
406 \f
407 (provide 'xwem-keydefs)
408
409 ;;; xwem-keydefs.el ends here