Mercurial > hg > xemacs-beta
comparison lisp/gtk-init.el @ 4477:e34711681f30
Don't determine whether to call general device-type code at startup,
rather decide in the device-specific code itself.
lisp/ChangeLog addition:
2008-07-07 Aidan Kehoe <kehoea@parhasard.net>
Patch to make it up to the device-specific code whether
various Lisp functions should be called during device creation,
not relying on the startup code to decide this. Also, rename
initial-window-system to initial-device-type (which makes more
sense in this scheme), always set it.
* startup.el (command-line):
Use initial-device-type, not initial-window-system; just call
#'make-device, leave the special behaviour to be done the first
time a console type is initialised to be decided on by the
respective console code.
* x-init.el (x-app-defaults-directory): Declare that it should be
bound.
(x-define-dead-key): Have the macro take a DEVICE argument.
(x-initialize-compose): Have the function take a DEVICE argument,
and use it when checking if various keysyms are available on the
keyboard.
(x-initialize-keyboard): Have the function take a DEVICE argument,
allowing device-specific keyboard initialisation.
(make-device-early-x-entry-point-called-p): New.
(make-device-late-x-entry-point-called-p): New. Rename
pre-x-win-initted, x-win-initted.
(make-device-early-x-entry-point): Rename init-pre-x-win, take the
call to make-x-device out (it should be called from the
device-creation code, not vice-versa).
(make-device-late-x-entry-point): Rename init-post-x-win, have it
take a DEVICE argument, use that DEVICE argument when working out
what device-specific things need doing. Don't use
create-console-hook in core code.
* x-win-xfree86.el (x-win-init-xfree86): Take a DEVICE argument;
use it.
* x-win-sun.el (x-win-init-sun): Take a DEVICE argument; use it.
* mule/mule-x-init.el: Remove #'init-mule-x-win, an empty
function.
* tty-init.el (make-device-early-tty-entry-point-called-p): New.
Rename pre-tty-win-initted.
(make-device-early-tty-entry-point): New.
Rename init-pre-tty-win.
(make-frame-after-init-entry-point): New.
Rename init-post-tty-win to better reflect when it's called.
* gtk-init.el (gtk-early-lisp-options-file): New.
Move this path to a documented variable.
(gtk-command-switch-alist): Wrap the docstring to fewer than 79
columns.
(make-device-early-gtk-entry-point-called-p): New.
(make-device-late-gtk-entry-point-called-p): New.
Renamed gtk-pre-win-initted, gtk-post-win-initted to these.
(make-device-early-gtk-entry-point): New.
(make-device-late-gtk-entry-point): New.
Renamed init-pre-gtk-win, init-post-gtk-win to these.
Have make-device-late-gtk-entry-point take a device argument, and use
it; have make-device-early-gtk-entry-point load the GTK-specific
startup code, instead of doing that in C.
(init-gtk-win): Deleted, functionality moved to the GTK device
creation code.
(gtk-define-dead-key): Have it take a DEVICE argument; use this
argument.
(gtk-initialize-compose): Ditto.
* coding.el (set-terminal-coding-system):
Correct the docstring; the function isn't broken.
src/ChangeLog addition:
2008-07-07 Aidan Kehoe <kehoea@parhasard.net>
Patch to make it up to the device-specific code whether
various Lisp functions should be called during device creation,
not relying on the startup code to decide this. Also, rename
initial-window-system to initial-device-type (which makes more
sense in this scheme), always set it.
* redisplay.c (Vinitial_device_type): New.
(Vinitial_window_system): Removed.
Rename initial-window-system to initial-device type, making it
a stream if we're noninteractive. Update its docstring.
* device-x.c (Qmake_device_early_x_entry_point,
Qmake_device_late_x_entry_point): New.
Rename Qinit_pre_x_win, Qinit_post_x_win.
(x_init_device): Call #'make-device-early-x-entry-point earlier,
now we rely on it to find the application class and the
app-defaults directory.
(x_finish_init_device): Call #'make-device-late-x-entry-point with
the created device.
(Vx_app_defaults_directory): Always make this available, to
simplify code in x-init.el.
* device-tty.c (Qmake_device_early_tty_entry_point): New.
Rename Qinit_pre_tty_win, rename Qinit_post_tty_win and move to
frame-tty.c as Qmake_frame_after_init_entry_point.
(tty_init_device): Call #'make-device-early-tty-entry-point before
doing anything.
* frame-tty.c (Qmake_frame_after_init_entry_point): New.
* frame-tty.c (tty_after_init_frame): Have it call the
better-named #'make-frame-after-init-entry-point function
instead of #'init-post-tty-win (since it's called after frame, not
device, creation).
* device-msw.c (Qmake_device_early_mswindows_entry_point,
Qmake_device_late_mswindows_entry_point): New.
Rename Qinit_pre_mswindows_win, Qinit_post_mswindows_win.
(mswindows_init_device): Call
#'make-device-early-mswindows-entry-point here, instead of having
its predecessor call us.
(mswindows_finish_init_device): Call
#'make-device-early-mswindows-entry-point, for symmetry with the
other device types (though it's an empty function).
* device-gtk.c (Qmake_device_early_gtk_entry_point,
Qmake_device_late_gtk_entry_point): New.
Rename Qinit_pre_gtk_win, Qinit_post_gtk_win.
(gtk_init_device): Call #'make-device-early-gtk-entry-point; don't
load ~/.xemacs/gtk-options.el ourselves, leave that to lisp.
(gtk_finish_init_device): Call #'make-device-late-gtk-entry-point
with the created device as an argument.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 09 Jul 2008 20:46:22 +0200 |
parents | 461fdb92f3b6 |
children | 308d34e9f07d |
comparison
equal
deleted
inserted
replaced
4475:86283c809984 | 4477:e34711681f30 |
---|---|
22 ;; along with XEmacs; see the file COPYING. If not, write to the | 22 ;; along with XEmacs; see the file COPYING. If not, write to the |
23 ;; Free Software Foundation, 59 Temple Place - Suite 330, | 23 ;; Free Software Foundation, 59 Temple Place - Suite 330, |
24 ;; Boston, MA 02111-1307, USA. | 24 ;; Boston, MA 02111-1307, USA. |
25 | 25 |
26 (globally-declare-boundp | 26 (globally-declare-boundp |
27 '(gtk-initial-argv-list | 27 '(gtk-initial-argv-list gtk-initial-geometry)) |
28 gtk-initial-geometry)) | |
29 | 28 |
30 (globally-declare-fboundp | 29 (globally-declare-fboundp |
31 '(gtk-keysym-on-keyboard-p)) | 30 '(gtk-keysym-on-keyboard-p)) |
32 | 31 |
33 (defvar gtk-win-initted nil) | 32 (defvar gtk-early-lisp-options-file "~/.xemacs/gtk-options.el" |
34 (defvar gtk-pre-win-initted nil) | 33 "Path where GTK-specific early options should be stored. |
35 (defvar gtk-post-win-initted nil) | 34 |
35 This allows the user to set initial geometry without using GNOME and session | |
36 management, and, since it is read before GTK is initialized, it avoids | |
37 window flicker on resizing. | |
38 | |
39 It is normally not useful to change without recompiling XEmacs.") | |
36 | 40 |
37 (defvar gtk-command-switch-alist | 41 (defvar gtk-command-switch-alist |
38 '( | 42 '( |
39 ;; GNOME Options | 43 ;; GNOME Options |
40 ("--disable-sound" . nil) | 44 ("--disable-sound" . nil) |
64 ("--sm-client-id" . t) | 68 ("--sm-client-id" . t) |
65 ("--sm-config-prefix" . t) | 69 ("--sm-config-prefix" . t) |
66 ("--sm-disable" . t) | 70 ("--sm-disable" . t) |
67 ) | 71 ) |
68 | 72 |
69 "An assoc list of command line arguments that should in gtk-initial-argv-list. | 73 "An assoc list of command line args that should be in gtk-initial-argv-list. |
70 This is necessary because GTK and GNOME consider it a fatal error if they receive | 74 This is necessary because GTK and GNOME consider it a fatal error if they |
71 unknown command line arguments (perfectly reasonable). But this means that if | 75 receive unknown command line arguments (perfectly reasonable). But this |
72 the user specifies a file name on the command line they will be unable to start. | 76 means that if the user specifies a file name on the command line they will |
73 So we filter the command line and allow only items in this list in. | 77 be unable to start. So we filter the command line and allow only items in |
74 | 78 this list in. |
75 The CDR of the assoc list is whether it accepts an argument. All options are in | 79 |
76 GNU long form though.") | 80 The CDR of the assoc list is whether it accepts an argument. For the |
77 | 81 moment, all options are in GNU long form.") |
78 (defun init-pre-gtk-win () | 82 |
79 "Initialize Gtk GUI at startup (pre). Don't call this." | 83 (defvar make-device-early-gtk-entry-point-called-p nil |
80 (when (not gtk-pre-win-initted) | 84 "Whether `make-device-early-gtk-entry-point' has been called, at least once. |
81 (setq initial-frame-plist (if initial-frame-unmapped-p | 85 |
82 '(initially-unmapped t) | 86 Much of the GTK-specific Lisp init code should only be called the first time |
83 nil) | 87 a GTK device is created; this variable allows for that.") |
84 gtk-pre-win-initted t))) | 88 |
89 (defvar make-device-late-gtk-entry-point-called-p nil | |
90 "Whether `make-device-late-gtk-entry-point' has been called, at least once. | |
91 | |
92 Much of the GTK-specific Lisp init code should only be called the first time | |
93 a GTK device is created; this variable allows for that.") | |
94 | |
95 (defun make-device-early-gtk-entry-point () | |
96 "Entry point to set up the Lisp environment before GTK device creation." | |
97 (unless make-device-early-gtk-entry-point-called-p | |
98 (setq initial-frame-plist | |
99 (and initial-frame-unmapped-p '(initially-unmapped t)) | |
100 gtk-initial-argv-list | |
101 (cons (car command-line-args) (gtk-filter-arguments)) | |
102 gtk-initial-geometry | |
103 (nth 1 (member "-geometry" command-line-args-left)) | |
104 make-device-early-gtk-entry-point-called-p t) | |
105 (unless vanilla-inhibiting | |
106 (load gtk-early-lisp-options-file t t t)))) | |
85 | 107 |
86 (defun gtk-init-handle-geometry (arg) | 108 (defun gtk-init-handle-geometry (arg) |
87 "Set up initial geometry info for GTK devices." | 109 "Set up initial geometry info for GTK devices." |
88 (setq gtk-initial-geometry (pop command-line-args-left))) | 110 (setq gtk-initial-geometry (pop command-line-args-left))) |
111 | |
112 (defun make-device-late-gtk-entry-point (device) | |
113 "Entry-Point to do any Lisp-level GTK device-specific initialization." | |
114 (gtk-initialize-compose device) | |
115 (unless make-device-late-gtk-entry-point-called-p | |
116 (setq make-device-late-gtk-entry-point-called-p t))) | |
89 | 117 |
90 (defun gtk-filter-arguments () | 118 (defun gtk-filter-arguments () |
91 (let ((accepted nil) | 119 (let ((accepted nil) |
92 (rejected nil) | 120 (rejected nil) |
93 (todo nil)) | 121 (todo nil)) |
119 (push (pop command-line-args-left) accepted) | 147 (push (pop command-line-args-left) accepted) |
120 (push (pop command-line-args-left) rejected))) | 148 (push (pop command-line-args-left) rejected))) |
121 (setq command-line-args-left (nreverse rejected)) | 149 (setq command-line-args-left (nreverse rejected)) |
122 (nreverse accepted))) | 150 (nreverse accepted))) |
123 | 151 |
124 (defun init-gtk-win () | |
125 "Initialize Gtk GUI at startup. Don't call this." | |
126 (unless gtk-win-initted | |
127 (init-pre-gtk-win) | |
128 (setq gtk-initial-argv-list (cons (car command-line-args) (gtk-filter-arguments)) | |
129 gtk-initial-geometry (nth 1 (member "-geometry" command-line-args-left))) | |
130 (make-gtk-device) | |
131 (init-post-gtk-win) | |
132 (setq gtk-win-initted t))) | |
133 | |
134 (defun init-post-gtk-win () | |
135 (unless gtk-post-win-initted | |
136 (setq gtk-post-win-initted t))) | |
137 | |
138 (push '("-geometry" . gtk-init-handle-geometry) command-switch-alist) | 152 (push '("-geometry" . gtk-init-handle-geometry) command-switch-alist) |
139 | 153 |
140 ;;; Stuff to get compose keys working on GTK | 154 ;;; Stuff to get compose keys working on GTK |
141 (eval-when-compile | 155 (eval-when-compile |
142 (defmacro gtk-define-dead-key (key map) | 156 (defmacro gtk-define-dead-key (key map device) |
143 `(when (gtk-keysym-on-keyboard-p ',key) | 157 `(when (gtk-keysym-on-keyboard-p ',key device) |
144 (define-key function-key-map [,key] ',map)))) | 158 (define-key function-key-map [,key] ',map)))) |
145 | 159 |
146 (defun gtk-initialize-compose () | 160 (defun gtk-initialize-compose (device) |
147 "Enable compose processing" | 161 "Enable compose processing" |
148 (autoload 'compose-map "gtk-compose" nil t 'keymap) | 162 (autoload 'compose-map "gtk-compose" nil t 'keymap) |
149 (autoload 'compose-acute-map "gtk-compose" nil t 'keymap) | 163 (autoload 'compose-acute-map "gtk-compose" nil t 'keymap) |
150 (autoload 'compose-grave-map "gtk-compose" nil t 'keymap) | 164 (autoload 'compose-grave-map "gtk-compose" nil t 'keymap) |
151 (autoload 'compose-cedilla-map "gtk-compose" nil t 'keymap) | 165 (autoload 'compose-cedilla-map "gtk-compose" nil t 'keymap) |
152 (autoload 'compose-diaeresis-map "gtk-compose" nil t 'keymap) | 166 (autoload 'compose-diaeresis-map "gtk-compose" nil t 'keymap) |
153 (autoload 'compose-circumflex-map "gtk-compose" nil t 'keymap) | 167 (autoload 'compose-circumflex-map "gtk-compose" nil t 'keymap) |
154 (autoload 'compose-tilde-map "gtk-compose" nil t 'keymap) | 168 (autoload 'compose-tilde-map "gtk-compose" nil t 'keymap) |
155 | 169 |
156 (when (gtk-keysym-on-keyboard-p 'multi-key) | 170 (when (gtk-keysym-on-keyboard-p 'multi-key device) |
157 (define-key function-key-map [multi-key] 'compose-map)) | 171 (define-key function-key-map [multi-key] 'compose-map)) |
158 | 172 |
159 ;; The dead keys might really be called just about anything, depending | 173 ;; The dead keys might really be called just about anything, depending |
160 ;; on the vendor. MIT thinks that the prefixes are "SunFA_", "D", and | 174 ;; on the vendor. MIT thinks that the prefixes are "SunFA_", "D", and |
161 ;; "hpmute_" for Sun, DEC, and HP respectively. However, OpenWindows 3 | 175 ;; "hpmute_" for Sun, DEC, and HP respectively. However, OpenWindows 3 |
170 ;; If things seem not to be working, you might want to check your | 184 ;; If things seem not to be working, you might want to check your |
171 ;; /usr/lib/X11/XKeysymDB file to see if your vendor has an equally | 185 ;; /usr/lib/X11/XKeysymDB file to see if your vendor has an equally |
172 ;; mixed up view of what these keys should be called. | 186 ;; mixed up view of what these keys should be called. |
173 | 187 |
174 ;; Canonical names: | 188 ;; Canonical names: |
175 (gtk-define-dead-key acute compose-acute-map) | 189 (gtk-define-dead-key acute compose-acute-map device) |
176 (gtk-define-dead-key grave compose-grave-map) | 190 (gtk-define-dead-key grave compose-grave-map device) |
177 (gtk-define-dead-key cedilla compose-cedilla-map) | 191 (gtk-define-dead-key cedilla compose-cedilla-map device) |
178 (gtk-define-dead-key diaeresis compose-diaeresis-map) | 192 (gtk-define-dead-key diaeresis compose-diaeresis-map device) |
179 (gtk-define-dead-key circumflex compose-circumflex-map) | 193 (gtk-define-dead-key circumflex compose-circumflex-map device) |
180 (gtk-define-dead-key tilde compose-tilde-map) | 194 (gtk-define-dead-key tilde compose-tilde-map device) |
181 (gtk-define-dead-key degree compose-ring-map) | 195 (gtk-define-dead-key degree compose-ring-map device) |
182 | 196 |
183 ;; Sun according to MIT: | 197 ;; Sun according to MIT: |
184 (gtk-define-dead-key SunFA_Acute compose-acute-map) | 198 (gtk-define-dead-key SunFA_Acute compose-acute-map device) |
185 (gtk-define-dead-key SunFA_Grave compose-grave-map) | 199 (gtk-define-dead-key SunFA_Grave compose-grave-map device) |
186 (gtk-define-dead-key SunFA_Cedilla compose-cedilla-map) | 200 (gtk-define-dead-key SunFA_Cedilla compose-cedilla-map device) |
187 (gtk-define-dead-key SunFA_Diaeresis compose-diaeresis-map) | 201 (gtk-define-dead-key SunFA_Diaeresis compose-diaeresis-map device) |
188 (gtk-define-dead-key SunFA_Circum compose-circumflex-map) | 202 (gtk-define-dead-key SunFA_Circum compose-circumflex-map device) |
189 (gtk-define-dead-key SunFA_Tilde compose-tilde-map) | 203 (gtk-define-dead-key SunFA_Tilde compose-tilde-map device) |
190 | 204 |
191 ;; Sun according to OpenWindows 2: | 205 ;; Sun according to OpenWindows 2: |
192 (gtk-define-dead-key Dead_Grave compose-grave-map) | 206 (gtk-define-dead-key Dead_Grave compose-grave-map device) |
193 (gtk-define-dead-key Dead_Circum compose-circumflex-map) | 207 (gtk-define-dead-key Dead_Circum compose-circumflex-map device) |
194 (gtk-define-dead-key Dead_Tilde compose-tilde-map) | 208 (gtk-define-dead-key Dead_Tilde compose-tilde-map device) |
195 | 209 |
196 ;; Sun according to OpenWindows 3: | 210 ;; Sun according to OpenWindows 3: |
197 (gtk-define-dead-key SunXK_FA_Acute compose-acute-map) | 211 (gtk-define-dead-key SunXK_FA_Acute compose-acute-map device) |
198 (gtk-define-dead-key SunXK_FA_Grave compose-grave-map) | 212 (gtk-define-dead-key SunXK_FA_Grave compose-grave-map device) |
199 (gtk-define-dead-key SunXK_FA_Cedilla compose-cedilla-map) | 213 (gtk-define-dead-key SunXK_FA_Cedilla compose-cedilla-map device) |
200 (gtk-define-dead-key SunXK_FA_Diaeresis compose-diaeresis-map) | 214 (gtk-define-dead-key SunXK_FA_Diaeresis compose-diaeresis-map device) |
201 (gtk-define-dead-key SunXK_FA_Circum compose-circumflex-map) | 215 (gtk-define-dead-key SunXK_FA_Circum compose-circumflex-map device) |
202 (gtk-define-dead-key SunXK_FA_Tilde compose-tilde-map) | 216 (gtk-define-dead-key SunXK_FA_Tilde compose-tilde-map device) |
203 | 217 |
204 ;; DEC according to MIT: | 218 ;; DEC according to MIT: |
205 (gtk-define-dead-key Dacute_accent compose-acute-map) | 219 (gtk-define-dead-key Dacute_accent compose-acute-map device) |
206 (gtk-define-dead-key Dgrave_accent compose-grave-map) | 220 (gtk-define-dead-key Dgrave_accent compose-grave-map device) |
207 (gtk-define-dead-key Dcedilla_accent compose-cedilla-map) | 221 (gtk-define-dead-key Dcedilla_accent compose-cedilla-map device) |
208 (gtk-define-dead-key Dcircumflex_accent compose-circumflex-map) | 222 (gtk-define-dead-key Dcircumflex_accent compose-circumflex-map device) |
209 (gtk-define-dead-key Dtilde compose-tilde-map) | 223 (gtk-define-dead-key Dtilde compose-tilde-map device) |
210 (gtk-define-dead-key Dring_accent compose-ring-map) | 224 (gtk-define-dead-key Dring_accent compose-ring-map device) |
211 | 225 |
212 ;; DEC according to OpenWindows 3: | 226 ;; DEC according to OpenWindows 3: |
213 (gtk-define-dead-key DXK_acute_accent compose-acute-map) | 227 (gtk-define-dead-key DXK_acute_accent compose-acute-map device) |
214 (gtk-define-dead-key DXK_grave_accent compose-grave-map) | 228 (gtk-define-dead-key DXK_grave_accent compose-grave-map device) |
215 (gtk-define-dead-key DXK_cedilla_accent compose-cedilla-map) | 229 (gtk-define-dead-key DXK_cedilla_accent compose-cedilla-map device) |
216 (gtk-define-dead-key DXK_circumflex_accent compose-circumflex-map) | 230 (gtk-define-dead-key DXK_circumflex_accent compose-circumflex-map device) |
217 (gtk-define-dead-key DXK_tilde compose-tilde-map) | 231 (gtk-define-dead-key DXK_tilde compose-tilde-map device) |
218 (gtk-define-dead-key DXK_ring_accent compose-ring-map) | 232 (gtk-define-dead-key DXK_ring_accent compose-ring-map device) |
219 | 233 |
220 ;; HP according to MIT: | 234 ;; HP according to MIT: |
221 (gtk-define-dead-key hpmute_acute compose-acute-map) | 235 (gtk-define-dead-key hpmute_acute compose-acute-map device) |
222 (gtk-define-dead-key hpmute_grave compose-grave-map) | 236 (gtk-define-dead-key hpmute_grave compose-grave-map device) |
223 (gtk-define-dead-key hpmute_diaeresis compose-diaeresis-map) | 237 (gtk-define-dead-key hpmute_diaeresis compose-diaeresis-map device) |
224 (gtk-define-dead-key hpmute_asciicircum compose-circumflex-map) | 238 (gtk-define-dead-key hpmute_asciicircum compose-circumflex-map device) |
225 (gtk-define-dead-key hpmute_asciitilde compose-tilde-map) | 239 (gtk-define-dead-key hpmute_asciitilde compose-tilde-map device) |
226 | 240 |
227 ;; Empirically discovered on Linux XFree86 MetroX: | 241 ;; Empirically discovered on Linux XFree86 MetroX: |
228 (gtk-define-dead-key usldead_acute compose-acute-map) | 242 (gtk-define-dead-key usldead_acute compose-acute-map device) |
229 (gtk-define-dead-key usldead_grave compose-grave-map) | 243 (gtk-define-dead-key usldead_grave compose-grave-map device) |
230 (gtk-define-dead-key usldead_diaeresis compose-diaeresis-map) | 244 (gtk-define-dead-key usldead_diaeresis compose-diaeresis-map device) |
231 (gtk-define-dead-key usldead_asciicircum compose-circumflex-map) | 245 (gtk-define-dead-key usldead_asciicircum compose-circumflex-map device) |
232 (gtk-define-dead-key usldead_asciitilde compose-tilde-map) | 246 (gtk-define-dead-key usldead_asciitilde compose-tilde-map device) |
233 | 247 |
234 ;; HP according to OpenWindows 3: | 248 ;; HP according to OpenWindows 3: |
235 (gtk-define-dead-key hpXK_mute_acute compose-acute-map) | 249 (gtk-define-dead-key hpXK_mute_acute compose-acute-map device) |
236 (gtk-define-dead-key hpXK_mute_grave compose-grave-map) | 250 (gtk-define-dead-key hpXK_mute_grave compose-grave-map device) |
237 (gtk-define-dead-key hpXK_mute_diaeresis compose-diaeresis-map) | 251 (gtk-define-dead-key hpXK_mute_diaeresis compose-diaeresis-map device) |
238 (gtk-define-dead-key hpXK_mute_asciicircum compose-circumflex-map) | 252 (gtk-define-dead-key hpXK_mute_asciicircum compose-circumflex-map device) |
239 (gtk-define-dead-key hpXK_mute_asciitilde compose-tilde-map) | 253 (gtk-define-dead-key hpXK_mute_asciitilde compose-tilde-map device) |
240 | 254 |
241 ;; HP according to HP-UX 8.0: | 255 ;; HP according to HP-UX 8.0: |
242 (gtk-define-dead-key XK_mute_acute compose-acute-map) | 256 (gtk-define-dead-key XK_mute_acute compose-acute-map device) |
243 (gtk-define-dead-key XK_mute_grave compose-grave-map) | 257 (gtk-define-dead-key XK_mute_grave compose-grave-map device) |
244 (gtk-define-dead-key XK_mute_diaeresis compose-diaeresis-map) | 258 (gtk-define-dead-key XK_mute_diaeresis compose-diaeresis-map device) |
245 (gtk-define-dead-key XK_mute_asciicircum compose-circumflex-map) | 259 (gtk-define-dead-key XK_mute_asciicircum compose-circumflex-map device) |
246 (gtk-define-dead-key XK_mute_asciitilde compose-tilde-map) | 260 (gtk-define-dead-key XK_mute_asciitilde compose-tilde-map device) |
247 | 261 |
248 ;; Xfree86 seems to use lower case and a hyphen | 262 ;; Xfree86 seems to use lower case and a hyphen |
249 (gtk-define-dead-key dead-acute compose-acute-map) | 263 (gtk-define-dead-key dead-acute compose-acute-map device) |
250 (gtk-define-dead-key dead-grave compose-grave-map) | 264 (gtk-define-dead-key dead-grave compose-grave-map device) |
251 (gtk-define-dead-key dead-cedilla compose-cedilla-map) | 265 (gtk-define-dead-key dead-cedilla compose-cedilla-map device) |
252 (gtk-define-dead-key dead-diaeresis compose-diaeresis-map) | 266 (gtk-define-dead-key dead-diaeresis compose-diaeresis-map device) |
253 (gtk-define-dead-key dead-circum compose-circumflex-map) | 267 (gtk-define-dead-key dead-circum compose-circumflex-map device) |
254 (gtk-define-dead-key dead-circumflex compose-circumflex-map) | 268 (gtk-define-dead-key dead-circumflex compose-circumflex-map device) |
255 (gtk-define-dead-key dead-tilde compose-tilde-map) | 269 (gtk-define-dead-key dead-tilde compose-tilde-map device)) |
256 ) | 270 |
257 | |
258 (when (featurep 'gtk) | |
259 (add-hook | |
260 'create-console-hook | |
261 (lambda (console) | |
262 (letf (((selected-console) console)) | |
263 (when (eq 'gtk (console-type console)) | |
264 (gtk-initialize-compose)))))) |