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