462
|
1 2000-10-03 William M. Perry <wmperry@aventail.com>
|
|
2
|
|
3 * objects-gtk.c (gtk_font_instance_truename): Make sure we get the
|
|
4 fully expanded version of the font.
|
|
5
|
|
6 * device-gtk.c (convert_font): Ditto.
|
|
7
|
|
8 * gtk-xemacs.c (convert_font): Tell __get_gtk_font_truename to not
|
|
9 expand wildcards.
|
|
10
|
|
11 * objects-gtk.c (__get_gtk_font_truename): Use the internal
|
|
12 name-list in a GdkFont structure to find the truename of the
|
|
13 font. This protects us from crashing if we get a FontSet
|
|
14 instead of a Font.
|
|
15
|
|
16 (__get_gtk_font_truename): Accept new argument 'expandp' for
|
|
17 whether to return the FULL font name or the wildcarded version.
|
|
18
|
|
19 2000-09-21 William M. Perry <wmperry@aventail.com>
|
|
20
|
|
21 * device-gtk.c (Fgtk_init): Moved calls to gtk_init or gnome_init
|
|
22 to separate function, and expose it to lisp. It is now possible
|
|
23 to create GTK applications from batch mode.
|
|
24 (gtk_init_device): Use the new function.
|
|
25
|
|
26 2000-09-12 William M. Perry <wmperry@aventail.com>
|
|
27
|
|
28 * gtk-glue.c (gdk_event_to_emacs_event): Special case double
|
|
29 and triple clicks when converting events to lisp objects.
|
|
30 This allows something like GtkCList to treat double-clicks
|
|
31 differently in the 'select_row' signal.
|
|
32
|
|
33 2000-09-11 William M. Perry <wmperry@aventail.com>
|
|
34
|
|
35 * menubar-gtk.c (menu_create_menubar): Set a special name for
|
|
36 GtkMenuItems directly in the menubar.
|
|
37
|
|
38 2000-09-10 William M. Perry <wmperry@aventail.com>
|
|
39
|
|
40 * gtk-xemacs.c (gtk_xemacs_size_request): Deal with frame
|
|
41 being NULL.
|
|
42
|
|
43 * gtk-xemacs.c (gtk_xemacs_size_allocate): Ditto.
|
|
44
|
|
45 2000-09-09 William M. Perry <wmperry@aventail.com>
|
|
46
|
|
47 * sound.c (init_native_sound): Enable sound for GTK devices.
|
|
48
|
|
49 * device-gtk.c (gtk_init_device): Attempt to load a default
|
|
50 gtkrc file from the data directory. This way we can enable
|
|
51 the default face font handling in gtk-faces.el but not screw
|
|
52 the majority of users with a proportional font by default.
|
|
53
|
|
54 * device-gtk.c (gtk_init_device): Attempt to load
|
|
55 ~/.xemacs/gtk-options.el when GTK devices are created. This
|
|
56 allows for setting a persistent geometry without requiring GNOME.
|
|
57
|
|
58 * gtk-xemacs.c (gtk_xemacs_style_set): Deal with NULL frame.
|
|
59
|
|
60 * device-gtk.c (gtk_init_device): Make app_shell a GtkXEmacs
|
|
61 widget so that style information is retrieved correctly.
|
|
62
|
|
63 * menubar-gtk.c (gtk_xemacs_menubar_get_type): New subclass of
|
|
64 GtkMenuBar that always requests the same width as the text
|
|
65 widget. This fixes the spurious frame resizes when there were too
|
|
66 many menu items to display in the desired width.
|
|
67 (create_menubar_widget): Use the new subclass.
|
|
68
|
|
69 2000-09-08 William M. Perry <wmperry@aventail.com>
|
|
70
|
|
71 * device-gtk.c (Fgtk_keysym_on_keyboard_p): Ported function from
|
|
72 the X side of things.
|
|
73
|
|
74 * device-gtk.c (gtk_mark_device): Make sure that we mark the
|
|
75 keysym hashtable or things go boom.
|
|
76
|
|
77 2000-09-07 William M. Perry <wmperry@aventail.com>
|
|
78
|
|
79 * menubar-gtk.c (gtk_update_frame_menubars): Don't actually
|
|
80 update the menubars if the menu is up. This fixes the weird
|
|
81 problem where if you had a menu up and 'message' was called
|
|
82 (this happens a lot with the 'customize' menu), the menu would
|
|
83 disappear. This is because XEmacs is fairly lame about when
|
|
84 it updates the menus - the message logging code eventually
|
|
85 does a (save-excursion (set-buffer " *Message Log*") ...).
|
|
86 The set-buffer caused magic variable current-menubar to be
|
|
87 evaluated, which calls gtk_update_frame_menubars, which would
|
|
88 nuke the menus. Gack.
|
|
89
|
|
90 2000-09-06 William M. Perry <wmperry@aventail.com>
|
|
91
|
|
92 * event-gtk.c (gtk_event_to_emacs_event): Reworked how we handle
|
|
93 removing the shift modifier of normal keys (a & A, etc) to be more
|
|
94 like MS-windows. This makes everything work pretty happily with
|
|
95 query-replace and apropos now.
|
|
96
|
|
97 2000-09-05 William M. Perry <wmperry@aventail.com>
|
|
98
|
|
99 * select-gtk.c (emacs_gtk_selection_received): Signal a fake
|
|
100 event here so that the event loop will wake up. Should fix
|
|
101 the strange pause seen when pasting.
|
|
102
|
|
103 * select-gtk.c (Fgtk_get_clipboard): Signal an error if no
|
|
104 selections are available. This is more meaningful than 'insert'
|
|
105 throwing an error when it gets 'nil'.
|
|
106
|
|
107 * select-gtk.c (emacs_gtk_selection_received): Don't bother
|
|
108 checking whether the data returned as the selection is a string.
|
|
109 If it is not, we convert it to binary data anyway. This fixes the
|
|
110 bug where you could not paste between two separate XEmacs
|
|
111 instances w/mule enabled (it sends selections as COMPOUND_TEXT).
|
|
112
|
|
113 * device-gtk.c (Fgtk_style_info): Return the default font name as
|
|
114 part of the style info.
|
|
115
|
|
116 * menubar-gtk.c (__generic_button_callback): make sure that we
|
|
117 provide a channel for our menu events. This fixes things like
|
|
118 get-dialog-box-response that rely on event-channel !nilp
|
|
119
|
|
120 2000-09-05 William M. Perry <wmperry@aventail.com>
|
|
121
|
|
122 * glyphs-gtk.c (__downcase): Actually return the downcased string!
|
|
123 Thanks to Michael Altenhofen <Michael.Altenhofen@sap.com> for
|
|
124 spotting this.
|
|
125
|
|
126 2000-09-05 William M. Perry <wmperry@aventail.com>
|
|
127
|
|
128 * menubar-gtk.c (gtk_popup_menu): Make sure we call
|
|
129 __activate_menu correctly if the menu is dynamic. This fixes
|
|
130 popup menus with :filter effects.
|
|
131
|
|
132 2000-09-01 William M. Perry <wmperry@aventail.com>
|
|
133
|
|
134 * gpmevent.c, gpmevent.h: Updated to the latest XEmacs 21.2
|
|
135 version of gpmevent.c. This means that GPM support works
|
|
136 with GTK now.
|
|
137
|
|
138 * console-tty.c, console-tty.h: Removed old GPM support.
|
|
139
|
|
140 * device-tty.c, emacs.c, event-Xt.c: Ditto.
|
|
141
|
|
142 * event-unixoid.c, frame-tty.c: Ditto.
|
|
143
|
|
144 2000-08-30 William M. Perry <wmperry@aventail.com>
|
|
145
|
|
146 * gtk-xemacs.c (smash_scrollbar_specifiers): Don't bother looking
|
|
147 for nextstep themed scrollbars - didn't work anyway.
|
|
148
|
|
149 * glade.c (Fglade_xml_textdomain): deal with old versions of Glade
|
|
150 that use 'textdomain' instead of 'txtdomain' in the structure.
|
|
151
|
|
152 * menubar-gtk.c (gtk_popup_menu): use gtk_widget_show instead of
|
|
153 gtk_widget_show_all so that the magic `space-saver' menu item does
|
|
154 not get shown on popups.
|
|
155
|
|
156 2000-08-27 William M. Perry <wmperry@aventail.com>
|
|
157
|
|
158 * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Fiddle
|
|
159 with scrollbar_values -> GtkAdjustment conversion and scrolling up
|
|
160 with the arrows works correctly now.
|
|
161
|
|
162 * event-gtk.c (gtk_event_to_emacs_event): Fixed the shifted key
|
|
163 lossage (pc-select works now).
|
|
164
|
|
165 2000-08-11 William M. Perry <wmperry@aventail.com>
|
|
166
|
|
167 * scrollbar-gtk.c (scrollbar_cb): Need to make sure we look at the
|
|
168 appropriate scrollbar instances from the mirror. Was looking only
|
|
169 at the vertical scrollbar instance. Don't know if this has
|
|
170 anything to do with the weird scrolling behaviour, but it is worth
|
|
171 a shot.
|
|
172
|
|
173 2000-07-26 William M. Perry <wmperry@aventail.com>
|
|
174
|
|
175 * menubar-gtk.c (run_menubar_hook): New function that runs
|
|
176 activate-menubar-hook if the menu shell it was invoked by is
|
|
177 currently inactive.
|
|
178 (create_menubar_widget): Hook up the button-press-event to
|
|
179 run_menubar_hook to cater to broken packages.
|
|
180
|
|
181 2000-07-22 William M. Perry <wmperry@aventail.com>
|
|
182
|
|
183 * frame-gtk.c (gtk_popup_frame): When the window is supposed to be
|
|
184 initially unmapped, we need to make sure we realize the text
|
|
185 widget (to avoid lossage in redisplay assuming there is a valid
|
|
186 window), but NOT show it.
|
|
187
|
|
188 2000-07-12 William M. Perry <wmperry@aventail.com>
|
|
189
|
|
190 * menubar-gtk.c (__kill_stupid_gtk_timer): New function to kill
|
|
191 the timer on a GtkMenuItem widget. This timer and its callback
|
|
192 appear to be what was causing heavily filtered menus (like
|
|
193 customize and other things under 'options') to crash. The GTK
|
|
194 code installs a timer when the user is moving the mouse around to
|
|
195 scan menus. Submenus are only popped up when this timer expires.
|
|
196 But if the filters are constantly running and creating/destroying
|
|
197 submenus, then you can blow up when they unconditionally check
|
|
198 GTK_WIDGET_FLAGS(menu_item->submenu), when submenu is NULL.
|
|
199
|
|
200 2000-07-11 William M. Perry <wmperry@aventail.com>
|
|
201
|
|
202 * device-gtk.c (gtk_init_device): Can now pass the entire argv
|
|
203 array that is in gtk-initial-argv-list, since gtk-init filters out
|
|
204 unknown options that may cause GTK to puke for us. This means
|
|
205 that GNOME session management works now.
|
|
206
|
|
207 * frame-gtk.c (gnome_parse_geometry): Ripped this out of the GNOME
|
|
208 libraries to parse geometry settings, in case the user did not
|
|
209 compile with GNOME.
|
|
210 (gtk_initialize_frame_size): If gtk_initial_geometry is !NILP,
|
|
211 then try to parse it and use that. If the geometry cannot be
|
|
212 parsed, fall back to using 80x30.
|
|
213
|
|
214 * device-gtk.c (Vgtk_initial_geometry): New variable exposed to
|
|
215 lisp holding the desired geometry of initial frames.
|
|
216
|
|
217 2000-07-09 William M. Perry <wmperry@aventail.com>
|
|
218
|
|
219 * ui-gtk.c (Fgtk_call_function): Outlined possible `enhancement'
|
|
220 if someone calls gtk-call-function with too few arguments. After
|
|
221 I implemented it I realized it was probably a bad idea, so I
|
|
222 commented it out. Maybe for the future...
|
|
223
|
|
224 * menubar-gtk.c (menu_convert): Can now pass in a GtkWidget to
|
|
225 reuse. It detaches submenus, cleans up any GCPROs on it, and
|
|
226 attaches a new submenu. All done in an effort to stop the menubar
|
|
227 flickering.
|
|
228 (menu_create_menubar): No longer willy-nilly deletes all of the
|
|
229 items in the top-level menubar. We now check to see if the widget
|
|
230 already existing at the desired position has the same label as
|
|
231 this menu. If it does, we pass it in to menu_convert. This
|
|
232 drastically reduces the flickering menu problem that most people
|
|
233 have been seeing (try speedbar now).
|
|
234
|
|
235 2000-07-04 William M. Perry <wmperry@aventail.com>
|
|
236
|
|
237 * event-gtk.c (gtk_event_to_emacs_event): If FRAME is NULL, then
|
|
238 default to the selected frame on Vdefault_gtk_device. This will
|
|
239 only happen when being called from gtk-glue.c
|
|
240
|
|
241 * ui-gtk.c (gtk_type_to_lisp): Properly convert GTK_TYPE_GDK_EVENT
|
|
242 objects to lisp events.
|
|
243
|
|
244 * event-gtk.c (gtk_event_to_emacs_event): Made this non-static so
|
|
245 that gtk-glue.c can use it.
|
|
246
|
|
247 * gtk-glue.c (gdk_event_to_emacs_event): New function to convert a
|
|
248 GDK event into something sensible for lisp. Just uses
|
|
249 gtk_event_to_emacs_event() from event-gtk.c to avoid code
|
|
250 duplication. Not perfect (the channel is set to the selected
|
|
251 frame, not the GtkObject it actually happened on).
|
|
252
|
|
253 * event-gtk.c (gtk_event_to_emacs_event): Finally fixed the weird
|
|
254 selection problem where if you released the mouse button over the
|
|
255 root window, XEmacs would get confused and still think the
|
|
256 selection was going on.
|
|
257
|
|
258 * ui-gtk.c (Fgtk_describe_type): New function to return the
|
|
259 signals and magic properties of an object given its name or type
|
|
260 identifier.
|
|
261
|
|
262 2000-07-03 William M. Perry <wmperry@aventail.com>
|
|
263
|
|
264 * ui-byhand.c (Fgtk_ctree_recurse): New function gtk-ctree-recurse
|
|
265 that encompasses gtk_ctree_post_recursive,
|
|
266 gtk_ctree_pre_recursive, gtk_ctree_post_recursive_to_depth, and
|
|
267 gtk_ctree_pre_recursive_to_depth. All hail lisp bindings with
|
|
268 variable number of arguments.
|
|
269 (Fgtk_ctree_recurse): Allow nil for the node.
|
|
270
|
|
271 * ui-gtk.c (emacs_gtk_boxed_equality): New function for comparing
|
|
272 two GtkBoxed objects. This is needed because there is no way to
|
|
273 store a `user_data' or equivalent on them, so we cannot resurrect
|
|
274 it like a GtkObject so we always get the same Lisp_Object. This
|
|
275 allows callbacks to use `equal' on two GtkBoxed types and get sane
|
|
276 results.
|
|
277 (emacs_gtk_boxed_hash): New function for hashing GtkBoxed
|
|
278 objects.
|
|
279
|
|
280 2000-07-01 William M. Perry <wmperry@aventail.com>
|
|
281
|
|
282 * glade.c: New file to implement glue code for libglade.
|
|
283
|
|
284 2000-06-30 William M. Perry <wmperry@aventail.com>
|
|
285
|
|
286 * ui-gtk.c (lisp_to_gtk_type): Know how to deal with
|
|
287 GTK_TYPE_GDK_GC.
|
|
288
|
|
289 * gtk-glue.c: Need to defien a GTK type for GdkGC so that we can
|
|
290 import all the GDK drawing primitives.
|
|
291 (face_to_gc): New function to convert a face object to a GC.
|
|
292
|
|
293 2000-06-27 William M. Perry <wmperry@aventail.com>
|
|
294
|
|
295 * ui-gtk.c (Fgtk_import_variable_internal): Renamed to -internal.
|
|
296
|
|
297 2000-06-25 Vladimir Vukicevic <vladimir@helixcode.com>
|
|
298
|
|
299 * frame-gtk.c (gtk_set_initial_frame_size): Added in a call to
|
|
300 gtk_window_set_policy so that you can resize the window down below
|
|
301 the minimum size of the menubar.
|
|
302
|
|
303 2000-06-23 William M. Perry <wmperry@aventail.com>
|
|
304
|
|
305 * emacs.c (Fkill_emacs): Make sure we clean up the .saves* files
|
|
306 on normal exit.
|
|
307
|
|
308 2000-06-13 William M. Perry <wmperry@aventail.com>
|
|
309
|
|
310 * menubar-gtk.c (__activate_filtermenu): Put in some of the same
|
|
311 protections for filter menus that the normal menus have for widget
|
|
312 deletion and selected menu items, etc.
|
|
313
|
|
314 2000-06-12 William M. Perry <wmperry@aventail.com>
|
|
315
|
|
316 * scrollbar-gtk.c (gtk_create_scrollbar_instance): hide a
|
|
317 scrollbar widget until we are absolutely sure we need to see it.
|
|
318 Fixes the problem we were seeing with mouse-avoidance-mode causing
|
|
319 severe scrollbar breakage.
|
|
320 (update_one_widget_scrollbar_pointer): Move the call to
|
|
321 gtk_widget_realize() here instead of in the upper code. Isolates
|
|
322 the dependency-on-having-a-window logic.
|
|
323
|
|
324 * gtk-xemacs.c (smash_scrollbar_specifiers): When setting the
|
|
325 scrollbar specifiers, need to take the x/y thickness of the border
|
|
326 into account. Horizontal scrollbar placement is much much nicer
|
|
327 now. Some themes would cause them to get positioned partially on
|
|
328 top of the modeline.
|
|
329
|
|
330 2000-06-08 William M. Perry <wmperry@aventail.com>
|
|
331
|
|
332 * console.c (select_console_1): Duh, forgot to put in an 'else'
|
|
333 statement, so Vwindow_system was getting set to Qnil all the
|
|
334 time. *sigh*.
|
|
335
|
|
336 2000-06-02 William M. Perry <wmperry@aventail.com>
|
|
337
|
|
338 * glyphs-gtk.c (gtk_xpm_instantiate): Do not allow pixmaps to be
|
|
339 instantiated as pointers under GTK. The pixmap and cursor
|
|
340 routines under GDK do not expose enough information to let use do
|
|
341 the same magic that glyphs-x.c does. *sigh*
|
|
342
|
|
343 * ui-byhand.c (Fgtk_toolbar_insert_item): Hand-rolled function.
|
|
344 (Fgtk_toolbar_prepend_item): Ditto.
|
|
345 (generic_toolbar_insert_item): Utility function to take care of
|
|
346 all the common code for the Fgtk_toolbar_*_item functions.
|
|
347
|
|
348 2000-06-01 William M. Perry <wmperry@aventail.com>
|
|
349
|
|
350 * gtk-glue.c (face_to_style): DOH! You should only load it if
|
|
351 IMAGE_INSTANCEP, not !IMAGE_INSTANCEP you doofus.
|
|
352
|
|
353 * ui-byhand.c (Fgtk_toolbar_append_item): Hand-rolled function.
|
|
354
|
|
355 * ui-gtk.c (Fgtk_import_function_internal): No longer need to use
|
|
356 dll_function() to get the marshallers. They are now stored in a
|
|
357 hashtable. Lookups should be a bit quicker, and it will work on
|
|
358 platforms where you cannot do a dll_open (NULL) to look at your
|
|
359 own symbol table.
|
|
360
|
|
361 2000-05-31 William M. Perry <wmperry@aventail.com>
|
|
362
|
|
363 * select-gtk.c (emacs_gtk_selection_handle): Better MULE string
|
|
364 handling.
|
|
365
|
|
366 * gtk-xemacs.c (gtk_xemacs_realize): Make sure we set the style on
|
|
367 the widget from the realize function. Otherwise for some themes
|
|
368 the color slots are not allocated yet, and we end up with icky
|
|
369 looking colors for things like the modeline/toolbar.
|
|
370
|
|
371 * select-gtk.c (Fgtk_get_clipboard): If we cannot get the
|
|
372 selection from anyone, return the last selection we received.
|
|
373 This make us work more like the X selection behaviour with
|
|
374 cutbuffers enabled.
|
|
375
|
|
376 2000-05-30 William M. Perry <wmperry@aventail.com>
|
|
377
|
|
378 * ui-byhand.c: Removed definitions of gtk-clist-prepend,
|
|
379 gtk-clist-append, and gtk-clist-insert.
|
|
380
|
|
381 * ui-gtk.c (lisp_to_gtk_type): Use it.
|
|
382
|
|
383 * gtk-glue.c (face_to_style): Routine to convert from faces to
|
|
384 GtkStyle
|
|
385
|
|
386 * menubar-gtk.c (gtk_popup_menu): Honor popup_up_p here.
|
|
387 (popdown_menu_cb): and here.
|
|
388
|
|
389 2000-05-29 William M. Perry <wmperry@aventail.com>
|
|
390
|
|
391 * frame-gtk.c (gtk_popup_frame): Do not show the widgets if we
|
|
392 were told to be initially unmapped.
|
|
393 (gtk_init_frame_1): Remember whether we were told to be initially
|
|
394 unmapped. Balloon help looks a little better now.
|
|
395
|
|
396 2000-05-28 William M. Perry <wmperry@aventail.com>
|
|
397
|
|
398 * redisplay-gtk.c (gtk_output_string): Fixed multi-dimensional
|
|
399 text run drawing. gdk_draw_text does too much, by dividing the
|
|
400 length by 2. So we fake them out my multiplying the length by the
|
|
401 dimension of the text. This will do the right thing for
|
|
402 single-dimension runs as well of course.
|
|
403
|
|
404 2000-05-26 William M. Perry <wmperry@aventail.com>
|
|
405
|
|
406 * ui-gtk.c (get_enumeration): Utility function that does its best
|
|
407 to import unknown enumeration types.
|
|
408
|
|
409 * glyphs-gtk.c (resource_symbol_to_type): Fixed pointer
|
|
410 instantiation.
|
|
411
|
|
412 * gtk-xemacs.c (FROB_FACE): Make sure to pass the device to
|
|
413 Fmake_image_instance or the initial background pixmaps would not
|
|
414 show up.
|
|
415
|
|
416 2000-05-25 William M. Perry <wmperry@aventail.com>
|
|
417
|
|
418 * device-gtk.c (gtk_init_device): Call gnome_init if available.
|
|
419
|
|
420 * menubar-gtk.c (create_menubar_widget): Use gnome_app_set_menus
|
|
421 instead of dealing with all the handlebox/menu crap ourselves.
|
|
422
|
|
423 * frame-gtk.c (gtk_create_widgets): Use GnomeApp if it is
|
|
424 available. Looks much sexier. :)
|
|
425
|
|
426 * glyphs-gtk.c (gtk_resource_instantiate): New image instantiator
|
|
427 gtk-resource, similar to the mswindows-resource stuff. This
|
|
428 allows you to get to the stock cursors defined in GDK. May
|
|
429 eventually allow you access to things like stock gnome pixmaps,
|
|
430 not sure.
|
|
431
|
|
432 * frame-gtk.c (gtk_set_frame_pointer): Actually handle setting the
|
|
433 frame cursor.
|
|
434
|
|
435 * redisplay-gtk.c (gdk_draw_bitmap): New function to output a
|
|
436 bitmap using XCopyPlane instead of XCopyArea.
|
|
437 (gtk_output_gdk_pixmap): Use it when PIXMAP_DEPTH == 0. This
|
|
438 means bitmaps look correct now.
|
|
439
|
|
440 2000-05-24 William M. Perry <wmperry@aventail.com>
|
|
441
|
|
442 * ui-gtk.c (flags_to_list): New function to convert a GtkFlags
|
|
443 argument to a list of symbols.
|
|
444 (gtk_type_to_lisp): Use it for converting from a flag.
|
|
445
|
|
446 2000-05-23 William M. Perry <wmperry@aventail.com>
|
|
447
|
|
448 * frame-gtk.c (gtk_set_frame_position): Do not use
|
|
449 gtk_window_reposition - this apparently does not exist in some
|
|
450 versions of GTK 1.2
|
|
451
|
|
452 * gtk-glue.c (xemacs_gtklist_to_list): Don't call g_list_foreach
|
|
453 on a NULL list, just in case.
|
|
454
|
|
455 * redisplay-gtk.c (gtk_text_width_single_run): Use gdk_text_width
|
|
456 instead of gdk_text_measure. Proportional fonts appear to work
|
|
457 now.
|
|
458
|
|
459 * objects-gtk.c (gtk_initialize_font_instance): Use X specific
|
|
460 crap lifted from objects-x.c to figure out proportionality of a
|
|
461 font, and better location of the default character.
|
|
462
|
|
463 2000-05-22 William M. Perry <wmperry@aventail.com>
|
|
464
|
|
465 * ui-gtk.c (enum_to_symbol): Routine to convert an enum to a lisp
|
|
466 symbol. We now return this instead of an integer for GtkFlags or
|
|
467 GtkEnum types.
|
|
468 (lisp_to_flag): Routine to convert from a symbol or list of
|
|
469 symbols to a GtkEnum or GtkFlags type.
|
|
470 (lisp_to_gtk_type): Use it exclusively. No more sending integers
|
|
471 to functions.
|
|
472 (import_gtk_enumeration_internal): Do not import the GTK_FOO_BAR
|
|
473 flags/enums into the lisp namespace. We now store mappings from
|
|
474 symbol names (both the 'real' and nickname fields) to the actual
|
|
475 internal values. Much more lispy way of doing things.
|
|
476
|
|
477 * menubar-gtk.c (__maybe_destroy): If we delete the menu item that
|
|
478 was 'active' when the menu was cancelled, GTK gets upset because
|
|
479 it tries to remove the focus rectangle from a (now) dead widget.
|
|
480 This widget will eventually get killed because it will not be
|
|
481 `precious' the next time the window is shown, because it is
|
|
482 unselectable.
|
|
483
|
|
484 * frame-gtk.c (delete_event_cb): Signal a fake event to make the
|
|
485 event loop wake up and notice we've been destroyed.
|
|
486
|
|
487 2000-05-20 William M. Perry <wmperry@aventail.com>
|
|
488
|
|
489 * ui-gtk.c (object_putprop): Allow `put'ing of arbitrary slots on
|
|
490 gtk objects. This will be useful for tacking lisp shit onto
|
|
491 composite widgets, etc.
|
|
492 (object_getprop): Ditto for `get'ing.
|
|
493
|
|
494 * frame-gtk.c (gtk_set_initial_frame_size): Don't delay when
|
|
495 changing the frame size, or creating initially unmapped frames is
|
|
496 screwed up. This showed up when trying to use the cheesy XEmacs
|
|
497 file selector dialog implemented using frames.
|
|
498
|
|
499 * ui-byhand.c: Removed a lot of functions that can now be imported
|
|
500 directly by gtk-import-function using the
|
|
501 Gtk(Array|List)Of(String|Object) types.
|
|
502
|
|
503 * ui-gtk.c (type_to_marshaller_type): Deal with new array/list
|
|
504 types.
|
|
505 (Fgtk_call_function): Need to free array and list storage after
|
|
506 calling functions.
|
|
507 (lisp_to_gtk_type): Deal with the new list and array types when
|
|
508 converting to GTK types.
|
|
509
|
|
510 * gtk-glue.c: New file to deal with lists of strings or
|
|
511 GtkObjects. Defines new types GtkArrayOf, GtkListOf,
|
|
512 GtkArrayOfString, GtkListOfString, and GtkListOfObject.
|
|
513 (xemacs_list_to_array): Convert from a lisp list to a GtkArrayOf
|
|
514 of items.
|
|
515 (xemacs_list_to_list): Convert from a lisp list to a GtkListOf of
|
|
516 items.
|
|
517
|
|
518 * dialog.c (Fpopup_dialog_box): Don't crap out if the car of
|
|
519 dbox_desc is not a string... this allows us to follow ben's
|
|
520 system/native dialog box specification.
|
|
521
|
|
522 2000-05-19 William M. Perry <wmperry@aventail.com>
|
|
523
|
|
524 * ui-gtk.c (lisp_to_gtk_type): Can now convert to GDK colors. Can
|
|
525 deal with color specifiers or instances.
|
|
526 (lisp_to_gtk_type): Can now convert to GDK fonts. Can deal with
|
|
527 face names, actual faces, font specifiers, or font instances.
|
|
528
|
|
529 2000-05-18 William M. Perry <wmperry@aventail.com>
|
|
530
|
|
531 * gtk-xemacs.c (smash_scrollbar_specifiers): Function that
|
|
532 attempts to set the scrollbar width/height correctly, but does not
|
|
533 do a very good job. Commented out for now.
|
|
534
|
|
535 * redisplay-gtk.c (gtk_output_vertical_divider): Got rid of lots
|
|
536 of useless code, since we ended up just calling gtk_output_shadows
|
|
537 anyway.
|
|
538 (gtk_output_vertical_divider): Make sure we fill the rectangle
|
|
539 completely, otherwise the transparent background shows thru.
|
|
540
|
|
541 * menubar-gtk.c: Don't nuke menus all the time... should speed up
|
|
542 submenu traversal a bit, and save on the GtkMenuItem creation.
|
|
543
|
|
544 * device-gtk.c (Fgtk_style_info): Return a list of all the
|
|
545 pixmaps, not just GTK_STATE_NORMAL.
|
|
546
|
|
547 * menubar-gtk.c (menu_descriptor_to_widget_1): Better menu labels
|
|
548 with keybindings.
|
|
549
|
|
550 * frame-gtk.c (gtk_set_frame_size): This function actually works
|
|
551 now.
|
|
552 (gtk_set_initial_frame_size): Better default sizing method.
|
|
553
|
|
554 * event-gtk.c (init_event_gtk_late): Push an error trap handler so
|
|
555 that XEmacs won't abort at the drop of a hat on X errors. We
|
|
556 could get X specific here and override the default GDK XError and
|
|
557 XIOError handlers to be more like those in device-x.c. Not sure
|
|
558 if that is worth it or not - you would at least get information
|
|
559 that an error occurred.
|
|
560
|
|
561 * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Don't
|
|
562 always call gtk_widget_set_usize because that causes the widget to
|
|
563 redraw itself, which can cause some annoying flicker.
|
|
564 (gtk_update_scrollbar_instance_status): Don't always move it
|
|
565 either, because that can cause the GtkFixed container to get a
|
|
566 resize event.
|
|
567 (update_one_widget_scrollbar_pointer): Try to set the cursor
|
|
568
|
|
569 2000-05-17 William M. Perry <wmperry@aventail.com>
|
|
570
|
|
571 * device-gtk.c (Fgtk_style_info): Back to taking only 1 argument -
|
|
572 the device.
|
|
573 (Fgtk_style_info): Now returns ALL of the information about
|
|
574 colors. Returns a list of colors instead of just the one
|
|
575 associated with GTK_STATE_NORMAL.
|
|
576
|
|
577 2000-05-16 William M. Perry <wmperry@aventail.com>
|
|
578
|
|
579 * gtk-xemacs.c (smash_face_fallbacks): New function to reset the
|
|
580 gtk-specific fallbacks on various face specifiers. This means
|
|
581 that if the user has not changed the face, when a theme or style
|
|
582 is changed, the faces will automatically change as well.
|
|
583 (gtk_xemacs_style_set): Call it.
|
|
584
|
|
585 * toolbar-gtk.c (get_toolbar_gc): Swap the fg/bg of the toolbar
|
|
586 face when getting the GC. It looks better this way.
|
|
587
|
|
588 * gtk-xemacs.c (gtk_xemacs_style_set): Override the style-set
|
|
589 method so that we can nuke the pixmaps again.
|
|
590 (__nuke_background_items): Moved the voodoo out into its own
|
|
591 function so that it can be called from both style_set and
|
|
592 realize.
|
|
593
|
|
594 * console-gtk.h (struct gtk_frame): Removed hardcoded GCs ala X.
|
|
595
|
|
596 * toolbar-gtk.c (get_toolbar_gc): New function that dynamically
|
|
597 creates a GC from the `toolbar' face.
|
|
598 (gtk_draw_blank_toolbar_button): Use it instead of the hardcoded
|
|
599 GC.
|
|
600 (gtk_output_toolbar_button): Ditto.
|
|
601 (gtk_output_toolbar): Ditto.
|
|
602
|
|
603 * event-gtk.c (gtk_check_for_quit_char): Quit handling actually
|
|
604 works now. Feh!
|
|
605
|
|
606 * device-gtk.c (gtk_device_init_x_specific_cruft): New function
|
|
607 that gets the socket we are listening to the X server on so that
|
|
608 the SIGIO lossage works correctly for GTK devices.
|
|
609 (gtk_init_device): Call it at device creation time.
|
|
610
|
|
611 2000-05-15 William M. Perry <wmperry@aventail.com>
|
|
612
|
|
613 * ui-gtk.c (__internal_callback_marshal): We now correctly handle
|
|
614 the 'data' argument. This is an arbitrary lisp object passed to
|
|
615 the callback routine as its last argument.
|
|
616
|
|
617 2000-05-14 William M. Perry <wmperry@aventail.com>
|
|
618
|
|
619 * event-gtk.c (gtk_event_to_emacs_event): Needed to reinstate the
|
|
620 magic to NOT differentiate betwen ! and shift-!. *sigh*
|
|
621
|
|
622 * ui-gtk.c (lisp_to_gtk_type): Allow 'nil' for string types so
|
|
623 that we can pass NULL to gtk-frame-new.
|
|
624
|
|
625 2000-05-13 William M. Perry <wmperry@aventail.com>
|
|
626
|
|
627 * gtk-xemacs.c (gtk_xemacs_size_request): Needed to override the
|
|
628 size_request method to get frame sizing correct. Whoo hoo!
|
|
629 (gtk_xemacs_realize): Don't set the background on the GtkXEmacs
|
|
630 window - this reduces the flicker even more.
|
|
631
|
|
632 * device-gtk.c (gtk_init_device): Don't use shared memory under
|
|
633 FreeBSD - it is apparently flaky as hell and causes lots of themes
|
|
634 to crash and burn quite prettily.
|
|
635
|
|
636 * gtk-xemacs.c (gtk_xemacs_realize): Added new widget method that
|
|
637 makes sure to nuke the background pixmap of the XEmacs text area
|
|
638 and its parent (the GtkWindow it is contained in). This fixes the
|
|
639 flashing you would see with themes/styles that define a background
|
|
640 pixmap.
|
|
641
|
|
642 2000-05-12 William M. Perry <wmperry@aventail.com>
|
|
643
|
|
644 * menubar-gtk.c (gtk_update_frame_menubar_internal): Duh, should
|
|
645 actually pay attention to menubar_will_be_visible instead of just
|
|
646 calling gtk_widget_show_all in both branches. :)
|
|
647
|
|
648 2000-05-11 William M. Perry <wmperry@aventail.com>
|
|
649
|
|
650 * menubar-gtk.c (vars_of_menubar_gtk): New variable
|
|
651 menubar-dockable-p that controls whether to use the GtkHandleBox
|
|
652 or not.
|
|
653
|
|
654 * select-gtk.c: Implemented all of the selection callbacks for GTK
|
|
655
|
|
656 * frame-gtk.c (resize_event_cb): Force a redisplay when the frame
|
|
657 is resized.
|
|
658
|
|
659 * event-gtk.c (gtk_event_to_emacs_event): When we are doing our
|
|
660 hackery to make sure we don't see button events inside the
|
|
661 scrollbar, make sure we correctly forward events that did not
|
|
662 happen over ANY widget, otherwise selection gets royally screwed
|
|
663 and thinks you still have the mouse button down.
|
|
664
|
|
665 * redisplay-gtk.c (gtk_output_string): Don't bother calling
|
|
666 gdk_draw_text_wc - I misunderstood what XDrawString16 did -
|
|
667 gdk_draw_text encapsulates this nicely for us.
|
|
668
|
|
669 2000-05-10 William M. Perry <wmperry@aventail.com>
|
|
670
|
|
671 * menubar-gtk.c: Changed how the menubar is created and managed.
|
|
672 We no longer create and destroy it at will. Only one GtkMenuBar
|
|
673 is ever created, and the children are just added/removed from it.
|
|
674 Much less flickering when switching buffers - cleaner in general.
|
|
675 (create_menubar_widget): Wheee - menubars are now detachable.
|
|
676
|
|
677 * ui-gtk.c (Fgtk_import_function_internal): Don't drop everything
|
|
678 down to its fundamental type just yet - we need to know specifics
|
|
679 about boxed types.
|
|
680 (object_putprop): Duh, actually SET the property.
|
|
681 (Fgtk_fundamental_type): New function that does the obvious.
|
|
682 (Fgtk_object_type): New function that does the obvious.
|
|
683 (lisp_to_gtk_type): Implement glyph handling! GtkPixmap works!
|
|
684
|
|
685 * ui-byhand.c (Fgtk_pixmap_get): Implemented by hand. *sigh*
|
|
686
|
|
687 * dialog-gtk.c: Call into lisp to do dialog boxes.
|
|
688
|
|
689 2000-05-08 William M. Perry <wmperry@aventail.com>
|
|
690
|
|
691 * make-src-depend (PrintPatternDeps): Make sure we generate the
|
|
692 xx-gtk.* dependencies.
|
|
693
|
|
694 * depend: Regenerated
|
|
695
|
|
696 * make-src-depend: Handle inclusion of .c files.
|
|
697
|
|
698 * Makefile.in.in (extra_doc_files): Need to include ui-byhand.c
|
|
699 here as well.
|
|
700
|
|
701 * ui-gtk.c (type_to_marshaller_type): Don't abort if we don't know
|
|
702 about the marshaller. Just return Qnil and let the caller figure
|
|
703 it out.
|
|
704 (Fgtk_import_function_internal): Deal with new return value of
|
|
705 Qnil for error signalling from type_to_marshaller_type().
|
|
706 (lisp_to_gtk_type): Half-assed implementation of dealing with
|
|
707 callbacks.
|
|
708 (gtk_type_to_lisp): Ditto.
|
|
709
|
|
710 * ui-byhand.c: New file that hand-codes some annoying functions in
|
|
711 Gtk. *sigh*
|
|
712
|
|
713 * emacs-widget-accessors.c (Fgtk_adjustment_lower): New
|
|
714 auto-generated file that spits out all the widget slot accessor
|
|
715 functions.
|
|
716
|
|
717 * ui-gtk.c (Fgtk_signal_connect_internal): Holy shit, signals work!
|
|
718 (lisp_to_gtk_type): Allow ints to be passed in as arguments to
|
|
719 functions that expect floats, otherwise you have to write stupid
|
|
720 code like 9.0 instead of just passing in '9'.
|
|
721
|
|
722 2000-05-07 William M. Perry <wmperry@aventail.com>
|
|
723
|
|
724 * ui-gtk.c (gtk_type_to_lisp): Return Qnil if we get a NULL
|
|
725 pointer/object/boxed.
|
|
726 (lisp_to_gtk_type): Allow Qnil to be passed in to mean a NULL
|
|
727 pointer/object/boxed.
|
|
728
|
|
729 * event-gtk.c (gtk_event_to_emacs_event): Make sure a button press
|
|
730 focuses on the text widget, otherwise if someone packs a widget
|
|
731 into the container from lisp, we end up not getting keyboard focus
|
|
732 quite a bit. Eek.
|
|
733
|
|
734 * frame-gtk.c (gtk_create_widgets): Set the name of the xemacs
|
|
735 shell so we can control sylte issues from .gtkrc
|
|
736 (gtk_set_initial_frame_size): Set the default size of the frame
|
|
737 correctly.
|
|
738 (gtk_create_widgets): Expose the frame shell and container widgets
|
|
739 to lisp.
|
|
740
|
|
741 * emacs-marshals.c: Added a whole shitload of marshallers - don't
|
|
742 edit this file by hand if you need to add one. Check out
|
|
743 ../lisp/ui/gtk-marshal.el for a script that auto-generates them
|
|
744 for you.
|
|
745
|
|
746 2000-05-05 William M. Perry <wmperry@aventail.com>
|
|
747
|
|
748 * ui-gtk.c (describe_gtk_arg): Debugging function to spit out
|
|
749 human-readable version a GtkArg.
|
|
750 (lisp_to_gtk_type): Made this function much more sane.
|
|
751 (Fgtk_call_function): New function to allow calling generic
|
|
752 functions from DLLs in lisp.
|
|
753 (CONVERT_RETVAL): New macro (ugh) to convert a pointer that the
|
|
754 return value filled in back into a valid GtkArg.
|
|
755 (Fgtk_call_function): This actually works now! Scary stuff.
|
|
756
|
|
757 2000-05-04 William M. Perry <wmperry@aventail.com>
|
|
758
|
|
759 * ui-gtk.c (Fgtk_import_type): New function to import a GtkType
|
|
760 into the XEmacs namespace. For starters this only fully imports
|
|
761 enumerations and flags. Importing a GtkObject or subclass results
|
|
762 in getting a list back of possible signals and argument lists.
|
|
763
|
|
764 * scrollbar-gtk.c (gtk_create_scrollbar_instance): Fixed some
|
|
765 compiler warnings.
|
|
766 (scrollbar_cb): Aha! Thanks to the magic of reading the
|
|
767 gtkrange.c source code, we now have better behaving scrollbars.
|
|
768 Clicking in the trough/end arrows now works correctly instead of
|
|
769 the semi-hackish way it did earlier today.
|
|
770
|
|
771 * ui-gtk.c (Fgtk_define_enumeration): New function that can
|
|
772
|
|
773 * scrollbar-gtk.c (scrollbar_cb): Combined the horizontal and
|
|
774 vertical scrolling callbacks. Differentiate between them by
|
|
775 user_data.
|
|
776 (scrollbar_cb): Don't bother trying to figure out whether this is
|
|
777 a line-by-line or page-wide scrolling operation. Just go by what
|
|
778 is in the value of the adjustment and issue a scrollbar_*_drag
|
|
779 event. This is not 100% correct, but it at least gets it
|
|
780 working. Doing it 'right' might not be possible with standard Gtk
|
|
781 scrollbars.
|
|
782 (scrollbar_drag_hack_cb): New function to set
|
|
783 vertical_drag_in_progress and inhibit_slider_change when we might
|
|
784 be starting a drag in the scrollbar.
|
|
785 (gtk_update_scrollbar_instance_status): Better setting of the
|
|
786 adjustment variables. Scrolling by pages (clicking in the trough)
|
|
787 works now. Line-by-line seems to work too.
|
|
788
|
|
789 2000-05-03 William M. Perry <wmperry@aventail.com>
|
|
790
|
|
791 * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Got the
|
|
792 thumb sizing correct finally. Thanks to scrollbar-msw.c for
|
|
793 showing how to do it sanely - scrollbar-x.c is a mess.
|
|
794
|
|
795 * window.c (specifier_vars_of_window): Added GTK specific fallback
|
|
796 for Vvertical_divider_line_width.
|
|
797
|
|
798 * toolbar.c (specifier_vars_of_toolbar): Handle specifier
|
|
799 fallbacks for GTK toolbars.
|
|
800
|
|
801 * gui-gtk.c (button_item_to_widget): Compiles under Gtk at least -
|
|
802 more than likely completely broken.
|
|
803
|
|
804 * glyphs-gtk.c (write_lisp_string_to_temp_file): Resurrected this
|
|
805 blasphemous function to deal with XPMs.
|
|
806 (gtk_xpm_instantiate): Now writes the XPM to a temp file, since
|
|
807 GTK cannot deal with XPMs from memory. Lame, but not fixable for
|
|
808 gtk 1.2 - maybe for 1.4.
|
|
809 (gtk_xpm_instantiate): Transparency works now.
|
|
810
|
|
811 * gccache-gtk.c (gc_cache_lookup): Made non-hash based code
|
|
812 compile. It is not used, but what the hell.
|
|
813
|
|
814 * faces.c (complex_vars_of_faces): Do GTK specific mucking about
|
|
815 with face property fallbacks (fonts and colors)
|
|
816
|
|
817 * events.c (event_equal): Added special case for GTK.
|
|
818 (event_hash): Added special case for GTK.
|
|
819 (format_event_object): Added special case for GTK events.
|
|
820
|
|
821 * event-gtk.c (event_name): Use gtk_event_name helper function
|
|
822 here.
|
|
823 (handle_focus_event_1): Got rid of gtk-redisplay-hack variable and
|
|
824 usage.
|
|
825
|
|
826 * device.c (delete_device_internal): Delete 'popup' frames under
|
|
827 Gtk as well as X. Should this happen for HAVE_MSWINDOWS as well?
|
|
828
|
|
829 * console.c (select_console_1): Make sure we set Vwindow_system
|
|
830 like all the others.
|
|
831
|
|
832 * frame-gtk.c (gtk_update_frame_external_traits): Added comments
|
|
833 about why I didn't implement some portions of this function.
|
|
834
|
|
835 * redisplay-gtk.c (gtk_output_string): Fixed the bizarre redisplay
|
|
836 problem where all the default text would be drawn twice - once
|
|
837 with the normal background colour, and once with the text-cursor
|
|
838 background. This was caused by a stupid typo and using the wrong
|
|
839 GdkGC in the second call to gdk_draw_text_image... basically no
|
|
840 clipping was being done on the image, so the whole thing was
|
|
841 redrawn.
|
|
842 (gtk_output_string): Call gdk_draw_text if we have a background
|
|
843 pixmap, otherwise things look REALLY weird.
|
|
844 (gtk_clear_region): Had a misplaced brace that caused the non-text
|
|
845 area of a frame not to get the correct background.
|
|
846
|
|
847 2000-05-02 William M. Perry <wmperry@aventail.com>
|
|
848
|
|
849 * glyphs-gtk.c (gtk_xpm_instantiate): Need to write pixmaps to a
|
|
850 temp file and then read with gdk_pixmap_create_from_xpm () - there
|
|
851 is no way to read from a memory buffer (yet - I might write one
|
|
852 for Gtk 1.4)
|
|
853
|
|
854 * glyphs.c: Don't include xpm.h when building with Gtk.
|
|
855 (pixmap_to_lisp_data): Alternate implementation for Gtk.
|
|
856
|
|
857 * device-gtk.c (gtk_init_device): Call gdk_imlib_init if
|
|
858 available, otherwise the 'Pixmap' theme engine doesn't work.
|
|
859 Losers.
|
|
860
|
|
861 * glyphs-gtk.c (gtk_xpm_instantiate): Now at least tries to
|
|
862 instantiate XPM images.
|
|
863 (init_image_instance_from_gdk_pixmap): Utility function to create
|
|
864 a glyph from an existing GdkPixmap.
|
|
865
|
|
866 * device-gtk.c (Fgtk_style_info): Attempt to expose the background
|
|
867 pixmaps from a Gtk style.
|
|
868
|