Mercurial > hg > xemacs-beta
annotate lisp/x-init.el @ 5750:66d2f63df75f
Correct some spelling and formatting in behavior.el.
Mentioned in tracker issue 826, the third thing mentioned there (the file
name at the bottom of the file) had already been fixed.
lisp/ChangeLog addition:
2013-08-05 Aidan Kehoe <kehoea@parhasard.net>
* behavior.el:
(override-behavior):
Correct some spelling and formatting here, thank you Steven
Mitchell in tracker issue 826.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Mon, 05 Aug 2013 10:05:32 +0100 |
parents | 1d1f385c9149 |
children | bbe4146603db |
rev | line source |
---|---|
428 | 1 ;;; x-init.el --- initialization code for X windows |
2 | |
3 ;; Copyright (C) 1990, 1993, 1994, 1997 Free Software Foundation, Inc. | |
4 ;; Copyright (C) 1995 Board of Trustees, University of Illinois. | |
5 ;; Copyright (C) 1995, 1996 Ben Wing. | |
6 | |
7 ;; Maintainer: XEmacs Development Team | |
8 ;; Keywords: terminals, dumped | |
9 | |
10 ;; This file is part of XEmacs. | |
11 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5260
diff
changeset
|
12 ;; XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5260
diff
changeset
|
13 ;; under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5260
diff
changeset
|
14 ;; Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5260
diff
changeset
|
15 ;; option) any later version. |
428 | 16 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5260
diff
changeset
|
17 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5260
diff
changeset
|
18 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5260
diff
changeset
|
19 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5260
diff
changeset
|
20 ;; for more details. |
428 | 21 |
22 ;; You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5260
diff
changeset
|
23 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
428 | 24 |
25 ;;; Synched up with: Not synched. | |
26 | |
27 ;;; Commentary: | |
28 | |
29 ;; This file is dumped with XEmacs (when X support is compiled in). | |
30 | |
31 ;;; Code: | |
32 | |
502 | 33 (globally-declare-fboundp |
5639
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
34 '(x-server-vendor x-init-specifier-from-resources init-mule-x-win)) |
502 | 35 |
36 (globally-declare-boundp | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
37 '(x-initial-argv-list x-app-defaults-directory)) |
502 | 38 |
428 | 39 ;; If you want to change this variable, this is the place you must do it. |
40 ;; Do not set it to a string containing periods. X doesn't like that. | |
41 ;(setq x-emacs-application-class "Emacs") | |
42 | |
43 (defgroup x nil | |
44 "The X Window system." | |
45 :group 'environment) | |
46 | |
47 ;; OpenWindows-like "find" processing. These functions are really Sunisms, | |
48 ;; but we put them here instead of in x-win-sun.el in case someone wants | |
49 ;; to use them when not running on a Sun console (presumably after binding | |
50 ;; them to different keys, or putting them on menus.) | |
51 | |
52 (defvar ow-find-last-string nil) | |
53 (defvar ow-find-last-clipboard nil) | |
54 | |
55 (defun ow-find (&optional backward-p) | |
56 "Search forward the next occurrence of the text of the selection." | |
57 (interactive) | |
442 | 58 (let ((sel (ignore-errors (get-selection))) |
59 (clip (ignore-errors (get-clipboard))) | |
428 | 60 text) |
61 (setq text (cond | |
62 (sel) | |
63 ((not (equal clip ow-find-last-clipboard)) | |
64 (setq ow-find-last-clipboard clip)) | |
65 (ow-find-last-string) | |
66 (t (error "No selection available")))) | |
67 (setq ow-find-last-string text) | |
68 (cond (backward-p | |
69 (search-backward text) | |
70 (set-mark (+ (point) (length text)))) | |
71 (t | |
72 (search-forward text) | |
73 (set-mark (- (point) (length text))))) | |
74 (zmacs-activate-region))) | |
75 | |
76 (defun ow-find-backward () | |
77 "Search backward for the previous occurrence of the text of the selection." | |
78 (interactive) | |
79 (ow-find t)) | |
80 | |
5639
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
81 (labels |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
82 ((pseudo-canonicalize-keysym (keysym) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
83 "If KEYSYM (a string or a symbol) might describe a keysym on |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
84 the current keyboard, return its canonical XEmacs form, a symbol; |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
85 otherwise return nil. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
86 |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
87 Does not intern new symbols, since if a string doesn't correspond to a |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
88 keysym that XEmacs has seen, that string won't be in obarray." |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
89 (if (symbolp keysym) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
90 keysym |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
91 (if (stringp keysym) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
92 (or (intern-soft keysym) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
93 (intern-soft (nsubstitute ?- ?_ (downcase keysym)))))))) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
94 (declare (inline pseudo-canonicalize-keysym)) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
95 |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
96 (defun x-keysym-on-keyboard-sans-modifiers-p (keysym &optional device) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
97 "Return true if KEYSYM names a key on the keyboard of DEVICE. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
98 More precisely, return true if pressing a physical key |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
99 on the keyboard of DEVICE without any modifier keys generates KEYSYM. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
100 Valid keysyms are listed in the files /usr/include/X11/keysymdef.h and in |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
101 /usr/lib/X11/XKeysymDB, or whatever the equivalents are on your system. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
102 The keysym name can be provided in two forms: |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
103 - if keysym is a string, it must be the name as known to X windows. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
104 - if keysym is a symbol, it must be the name as known to XEmacs. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
105 The two names differ in capitalization and underscoring." |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
106 (eq 'sans-modifiers (gethash (pseudo-canonicalize-keysym keysym) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
107 (x-keysym-hash-table device)))) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
108 |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
109 (defun x-keysym-on-keyboard-p (keysym &optional device) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
110 "Return true if KEYSYM names a key on the keyboard of DEVICE. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
111 More precisely, return true if some keystroke (possibly including modifiers) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
112 on the keyboard of DEVICE keys generates KEYSYM. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
113 Valid keysyms are listed in the files /usr/include/X11/keysymdef.h and in |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
114 /usr/lib/X11/XKeysymDB, or whatever the equivalents are on your system. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
115 The keysym name can be provided in two forms: |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
116 - if keysym is a string, it must be the name as known to X windows. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
117 - if keysym is a symbol, it must be the name as known to XEmacs. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
118 The two names differ in capitalization and underscoring. |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
119 |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
120 This function is not entirely trustworthy, in that Xlib compose processing |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
121 can produce keysyms that XEmacs will not have seen when it examined the |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
122 keysyms available on startup. So pressing `dead-diaeresis' and then 'a' may |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
123 pass `adiaeresis' to XEmacs, or (in some implementations) even `U00E4', |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
124 where `(x-keysym-on-keyboard-p 'adiaeresis)' and `(x-keysym-on-keyboard-p |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
125 'U00E4)' would both have returned nil. Subsequent to XEmacs seeing a keysym |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
126 it was previously unaware of, the predicate will take note of it, though." |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
127 (and (gethash (pseudo-canonicalize-keysym keysym) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
128 (x-keysym-hash-table device)) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
129 t))) |
1d1f385c9149
Call XKeysymToString() much less, it leaks.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5529
diff
changeset
|
130 |
428 | 131 (eval-when-compile |
132 (load "x-win-sun" nil t) | |
133 (load "x-win-xfree86" nil t)) | |
134 | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
135 (defun x-initialize-keyboard (device) |
428 | 136 "Perform X-Server-specific initializations. Don't call this." |
137 ;; This is some heuristic junk that tries to guess whether this is | |
138 ;; a Sun keyboard. | |
139 ;; | |
140 ;; One way of implementing this (which would require C support) would | |
141 ;; be to examine the X keymap itself and see if the layout looks even | |
142 ;; remotely like a Sun - check for the Find key on a particular | |
143 ;; keycode, for example. It'd be nice to have a table of this to | |
144 ;; recognize various keyboards; see also xkeycaps. | |
145 ;; | |
146 ;; Note that we cannot use most vendor-provided proprietary keyboard | |
147 ;; APIs to identify the keyboard - those only work on the console. | |
148 ;; xkeycaps has the same problem when running `remotely'. | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
149 (let ((vendor (x-server-vendor device))) |
428 | 150 (cond ((or (string-match "Sun Microsystems" vendor) |
151 ;; MIT losingly fails to tell us what hardware the X server | |
152 ;; is managing, so assume all MIT displays are Suns... HA HA! | |
153 (string-equal "MIT X Consortium" vendor) | |
154 (string-equal "X Consortium" vendor)) | |
155 ;; Ok, we think this could be a Sun keyboard. Run the Sun code. | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
156 (x-win-init-sun device)) |
4062 | 157 ((string-match #r"XFree86\|Cygwin/X\|The X\.Org Foundation" vendor) |
428 | 158 ;; Those XFree86 people do some weird keysym stuff, too. |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
159 (x-win-init-xfree86 device))))) |
428 | 160 |
3360 | 161 ;; Moved from x-toolbar.el, since InfoDock doesn't dump x-toolbar.el. |
428 | 162 (defun x-init-toolbar-from-resources (locale) |
163 (loop for (specifier . resname) in | |
164 `(( ,top-toolbar-height . "topToolBarHeight") | |
165 (,bottom-toolbar-height . "bottomToolBarHeight") | |
166 ( ,left-toolbar-width . "leftToolBarWidth") | |
167 ( ,right-toolbar-width . "rightToolBarWidth") | |
168 | |
169 ( ,top-toolbar-border-width . "topToolBarBorderWidth") | |
170 (,bottom-toolbar-border-width . "bottomToolBarBorderWidth") | |
171 ( ,left-toolbar-border-width . "leftToolBarBorderWidth") | |
172 ( ,right-toolbar-border-width . "rightToolBarBorderWidth")) | |
173 do | |
174 (x-init-specifier-from-resources | |
175 specifier 'natnum locale (cons resname (upcase-initials resname))))) | |
176 | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
177 (defvar make-device-early-x-entry-point-called-p nil |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
178 "Whether `make-device-early-x-entry-point' has been called, at least once. |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
179 |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
180 Much of the X11-specific Lisp init code should only be called the first time |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
181 an X11 device is created; this variable allows for that.") |
428 | 182 |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
183 (defvar make-device-late-x-entry-point-called-p nil |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
184 "Whether `make-device-late-x-entry-point' has been called, at least once. |
428 | 185 |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
186 Much of the X11-specific Lisp init code should only be called the first time |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
187 an X11 device is created; this variable allows for that.") |
428 | 188 |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
189 (defun make-device-early-x-entry-point () |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
190 "Entry point to set up the Lisp environment for X device creation." |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
191 (unless make-device-early-x-entry-point-called-p |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
192 (setq initial-frame-plist |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
193 (and initial-frame-unmapped-p '(initially-unmapped t)) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
194 ;; Save the argv value. |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
195 x-initial-argv-list |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
196 (cons (car command-line-args) command-line-args-left) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
197 ;; Locate the app-defaults directory |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
198 x-app-defaults-directory |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
199 (or x-app-defaults-directory (locate-data-directory "app-defaults")) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
200 make-device-early-x-entry-point-called-p t))) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
201 |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
202 (defun make-device-late-x-entry-point (device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
203 "Entry point to do any Lisp-level X device-specific initialization." |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
204 ;; General code, called on every X device created: |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
205 (x-initialize-keyboard device) |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
206 ;; And the following code is to be called once, the first time an X11 |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
207 ;; device is created: |
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
208 (unless make-device-late-x-entry-point-called-p |
428 | 209 (setq command-line-args-left (cdr x-initial-argv-list)) |
210 ;; Motif-ish bindings | |
211 (define-key global-map '(shift insert) 'yank-clipboard-selection) | |
212 (define-key global-map '(control insert) 'copy-primary-selection) | |
213 ;; These are Sun-isms. | |
214 (define-key global-map 'copy 'copy-primary-selection) | |
215 (define-key global-map 'paste 'yank-clipboard-selection) | |
216 (define-key global-map 'cut 'kill-primary-selection) | |
4477
e34711681f30
Don't determine whether to call general device-type code at startup,
Aidan Kehoe <kehoea@parhasard.net>
parents:
4451
diff
changeset
|
217 (setq make-device-late-x-entry-point-called-p t))) |
428 | 218 |
219 (defun make-frame-on-display (display &optional props) | |
220 "Create a frame on the X display named DISPLAY. | |
221 DISPLAY should be a standard display string such as \"unix:0\", | |
222 or nil for the display specified on the command line or in the | |
223 DISPLAY environment variable. | |
224 | |
225 PROPS should be a plist of properties, as in the call to `make-frame'. | |
226 | |
227 This function opens a connection to the display or reuses an existing | |
228 connection. | |
229 | |
230 This function is a trivial wrapper around `make-frame-on-device'." | |
231 (interactive "sMake frame on display: ") | |
232 (if (equal display "") (setq display nil)) | |
233 (make-frame-on-device 'x display props)) | |
234 | |
235 ;;; x-init.el ends here |