gtk-mac-integration 2.0.0



About gtk-mac-integration
=========================

Gtk-mac-integration provides an add-on library which Gtk+ applications
can use to better integrate themselves into the Mac user environment,
including placing their menus on the Mac's single menubar, adding
items to the Dock menu, and bouncing the Dock icon for notifications.

 Gtk-mac-integration is licensed under the Gnu Lesser General Public
License, the same terms under whic Gtk+ is licensed.

ChangeLog
=========

John Ralls (22):
      Change 'NSAlternate' to be used with GDK_MOD1_MASK, matching changes
         in Gtk keyhandling.
      initial conversion to gobject-introspectable structure
      [Introspection] Remove bindings/python/gtk3_osxapplication, made
         obsolete by gobject-introspection.
      [Introspection] Change all instances of gtk_osxapplication to
         gtkosx_application  in python bindings.
      [Introspection] Rename gtk_osxapplication files in python bindings to
         gtkosx_application, part 1
      [Introspection] Rename gtk_osxapplication files in python bindings to
         gtkosx_application, part 2
      [Introspection] Test-integration with introspection.
      [Introspection] Change gtk_osxapplication to gtkosx_application in
         python bindings
      [Python] Adjust acinclude and bindings/python/Makefile.am for
         introspection changes.
      [Introspection] Rename the bundle functions from quartz_application
         to gtkosx_application so that introspection can find them.
      Fix up some documentation warnings
      [Introspection] Final changes to configure & python Makefile
      [Introspection] Fix up the test-introspection example so that it
         works.
      g_threads_init is deprecated in glib-2.31
      Ignore introspection with Gtk2
      Change namespace on create_cgimage_from_pixbuf
      Fix naming conflict with gtkquartz-menu
      Remove gtkosx_application_cleanup
      Adjustments and fixes to 4620977

Julien Woillez (1):
      Add support for icons in menus.

Richard Procter (1):
      Fix object release issues found with Clang static analysis

Roy Liu (1):
      Add the missing G_END_DECLS macro to gtkosxapplication.h

Changes from version gtk-mac-integration-1.0.0 to version gtk-mac-integration-1.0.1:
John Ralls (9):
      Add to extra-dist the test data files accel_map and src/testui.xml
      Strings: Fix error in install script.
      Restore ige-mac-foo files
      Rename ige-mac-foo files to gtk-mac-foo
      Rename bindings/python/igemacintegration to
         bindings/python/gtkmacintegration
      Update internals of former ige-mac-foo files
      strings: Fix the same error in the uninstall script.

Changes from version ige-mac-integration-0.9.8 to version gtk-mac-integration-1.0.0:
John Ralls (11):
      Replace the single static emission_hook_id with stuffing the id for
         each main menu as a qdata on the menu shell.
      Remove the attempt to add the window title to the window menu.
      Fix a dumb typo which prevented building with Gtk+2
      Bug 56: Better French Translations, thanks to gegeweb
      Add doap file for git.gnome.org
      Rename the module from ige-mac-integration to gtk-mac-integration
      Remove deprecations for Gtk-mac-integration release 1.0.0
      More changes to reflect project name change
      Make package work with "make dist"
      Documentation updates for 1.0.0 Release

Changes from version ige-mac-integration-0.9.7 to version ige-mac-integration-0.9.8:
John Ralls (13):
      Fix compile error with IGE_MAC_INTEGRATION defined.
      Cleanup trailing whitespace.
      Fix a warning about labels not being GObjects when there isn't a
         label (when the menu item is a separator).
      Bug #53: Force a double menubar switch to suppress a second system
         menu icon (with no attached menu) from appearing in the menubar
         when a new window is created after starting the main loop.
      Force addition of the current window to the Window menu when a window
         menu is passed in. This is mostly needed for for the first window;
         the windows list gets created after the window, so it's not no the
         list.
      Test for adding a window after starting the main loop; a tailored
         window menu is added to hold the command.
      Add m4 to the ignore list.
      Bug #52: Make Quartz accelerator handlers work in a gdk_threaded
         application.
      Move the "Bounce" binding from "o" to "u" so that it doesn't conflict
         with File>Open.
      Setup a new directory, bindings/python/gtk3_osxapplication for pygi
         (replacing pygtk for gtk3), and for making it instead of
         gtk_osxapplication if the gtk library is gtk3, Gtk-3.0.gir exists,
         and pygobject-2.28 or better is present.
      Add bindings which work with PyGI (replaced PyGtk).

Changes from version ige-mac-integration-0.9.6 to version ige-mac-integration-0.9.7:
John Ralls (7):
      Cast to GNSMenuItem so that the setHidden method is found when
         building for Tiger.
         https://sourceforge.net/apps/trac/gtk-osx/ticket/41
      Correct parameter number error in g_cclosure_marshal_BOOLEAN__STRING
      Add test for openfile.
      Revert e9a29d3d5ee06f88ce02b68a047e52b1e6f95f31. It turns out that
         you _do_ need to call gtk_window_add_accel_group, even when using
         GtkUIManager.
      Fix key equivalents for Hide, Hide Others, and Minimize so that they
         don't require <Shift>; not standard per the Apple HIG. Thanks to
         Richard Proctor for pointing this out.
      Clean up trailing whitespace in configure.ac

Changes from version ige-mac-integration-0.9.5 to version ige-mac-integration-0.9.6:
John Ralls (11):
      Remove the semicolons from the macro definitions; they caused errors
         when using the macros in the declaration section of a code block.
      Add a "removeItem" call to GNSMenuItem (only needed because of the
         inMenu and index member variables which exist when the target is
         10.4)
      Rework parent_set_emission_hook so that it returns immediately if
         neither the old nor the new parent have registered cocoa menus. It
         turns out that GtkComboBox uses a GtkMenu to keep its list, and
         trying to sync that menu was a common (and expensive) occurence.
      Restore cocoa_menu_item_connect to outside of not a separator; that
         was the wrong solution. Instead, explicitly unhide the inserted
         separated item in Cocoa.
      Prevent reentry of signal emission in applicationShouldTermintate
      Change keymask to reflect patch to gtk+ which maps NSCommandKeyMask
         to GDK_META_MASK
      test-integration: Enable BUILT_UI, fix a couple of compile errors for
         that option, load an accelerator map file.
      Add accel_map, used for test-integration.
      Add protection against index being out of range when unhiding a menu
         item.
      Use gdkkeysyms-compat for versions of Gtk after 2.90.7

Changes from version ige_mac_integration-0.9.4 to version ige-mac-integration-0.9.5:
John Ralls (6):
      Protect the creation of the static GtkOSXApplication pointer with a
         GStaticMutex for thread safety.
      Correct the modifier key mappings.
      Move connect_menu_item call inside the "not a separator branch";
         unattached separators (those inserted by
         gtk_osxapplication_insert_app_menu_item in particular) were
         disappearing because they couldn't successfully connect.
      [#37] Deprecate gtk_osxapplication_add_app_menu_group() and
         gtk_osxapplication_add_app_menu_item() in favor of the much
         simpler gtk_osxapplication_insert_app_menu_item().
      Update python gtk_osxapplication bindings to reflect API changes.

Richard Procter (1):
      Make bundle functions "free"

Changes from version ige_mac_integration-0.9.3 to version ige_mac_integration-0.9.4:
Hamish Mackenzie (1):
      Menu_event_handler_func: return eventNotHandledErr instead of calling
         the next event (which EventManager will do when it gets the
         eventNotHandledErr -- and if the next event returns it, then
         EventManager would call it again, uselessly)

John Ralls (9):
      Add clean and distclean targets in strings
      Correct errors in Python detection script
      Correct conceptual error in strings clean target: Delete the Makefile
         for distclean, so that configure will create a new one. One can't
         very well have a make target to make the makefile.
      Enable building to gtk+-2.0 or gtk+-3.0
      Replace deprecated function and macro calls to enable correct
         operation in gtk+-3.0
      No need to call gtk_window_add_accel_group with BUILT_UI;
         GtkUIManager takes care of it for us.
      Clean up the ifdefs, which had gotten borked for IGEMACINTEGRATION.
      Corrected ifdef error which prevented test-integration from building
         in GTKOSXAPPLICATION mode.

Changes from version ige_mac_integration-0.9.2 to version ige_mac_integration-0.9.3:
John Ralls (14):
      Make bundle functions return duplicated gchar* instead of the const
         gchar* pointing into the NSString object. This corrects some ugly
         memory leaks.
      Create an object autorelease pool. Corrects some memory issues if the
         GtkOSXApplication object is created too early.
      Wrap static strings for translation.
      Test Response to WillTerminateNotification signal.
      Add translations for menu labels
      Use AC_CONFIG_FILES instead of the deprecated AC_OUTPUT().
      Rename the english strings file to have the "en" suffix.
      Install the strings files. They'll go to
         $PREFIX/share/strings/foo.proj/GtkOSXApplication.strings (where
         "foo" is the appropriate language code).
      Move some code around to fix errors when BUILD_UI is undeffed.
      Template accelerator map file for converting standard accelerators to
         OSX-standard key equivalents.
      Add pointer to the wiki page for more documentation.
      Add standard key equivalents to selected menu items in Application
         and Window menus.

Changes from version ige_mac_integration-0.9.1 to version ige_mac_integration-0.9.2:
John Ralls (12):
      Add Paul Davis.
      Restore the docs Makefiles to AC_OUTPUT, mysteriously deleted in a
         merge.
      Better memory management in the unlikely case that the various memory
         items are changed.
      Provide accessor for GtkMenuBar*
      Change name of windowMenu to windowsMenu for consistency with
         NSApplication function
      Expose cocoa_menu_item_get as a public function.
      Split setting up of the Help and Window menus as separate functions.
      Additional required docs files... should have been added earlier.
      Fix crash if help_menu or window_menu is no longer attached to the
         menu bar.
      Add "will terminate" signal to fully support applications that use
         two-stage shutdown.
      Make the creation of docs conditional on --enable-gtk-docs.

Changes from version ige_mac_integration-0.9.0 to version ige_mac_integration-0.9.1:
John Ralls (6):
      Tiger compatibility fixes
      Minor documentation errors
      Change the return to shouldTerminate to NSTerminateCancel.
      Add observation of NSApplicationWillTerminate and use that to clean
         up.
      Add the notification object to self->priv to ensure its orderly
         destruction at shutdown.

Changes from version ige_mac_integration-0.8.6 to version ige_mac_integration-0.9.0:
John Ralls (144):
      Fix ticket #13 (window focus). Thanks to Steffen Gutmann.
      Add check for parent so menubars which aren't attached to windows
         won't be connected to the window-switch callback. (Steffen
         Gutmann)
      h2defs.py moved from pygtk to pygobject
      Add descriptive comments
      Two windows for test-integration
      Removed extraneous set_parent
      Fixed the change icon path so that it's something that's guaranteed
         to be available and so that it can be found (instead of being on
         an absolute path from MacPorts).
      Cocoa reimplimentation on ige-mac-menu from Paul Davis (Ardour).
      Change license notice to allow distribution under later revisions of
         LGPL.
      Change further info URL from imendio to gtk-osx
      Update copyright information
      Rename and reorganize gtkapplication-quartz, rewrite GtkApplication
         class as a GObject (from a Gtkmm C++) class.
      Adjust Makefile.am to compile GtkApplication and related classes.
      Upgrade to automake-1.10
      Use GtkApplication menu functions instead of ige-mac-menu.
      Split up overly-long gtkapplication_quartz.c into more manageable
         (and object-specific) files.
      Cleanup extra includes and put all exported functions together.
      Invoke gtk_application_ready() before starting the event loop. This
         tells NSApp that the menus are ready; leave it out and the menubar
         isn't populated.
      minor reformat for readability
      Move, rather than skip, an existing NSMenuItem.
      Use the saved app_menu instead of retrieving submenu 0.
      Rename carbon_menu_item_add_submenu to cocoa_menu_item_add_submenu.
         Oops!
      Call [NSApplication sharedApplication] exactly once during
         GtkApplication init, and use the global NSApp elsewhere.
      Change GNSMenuItem to take a GClosure for its second argument instead
         of a GtkMenuItem.
      New ClosureData struct
      New function cocoa_menu_item_add_action to take a closure and a
         gpointer to other data so that an arbitrary two-parameter (one in
         closure.data and one in the gpointer) function wrapped in a
         closure can be used as a callback to the added CocoaMenuItem, for
         use in menus that aren't changed with the window.
      Change calls to [GNSMenuItem initWithTitle] to comply with new
         signature.
      Call g_cclosure_new_object_swap instead of g_cclosure_new
      Change signature of gtk_application_add_app_menu_item to take a
         label, closure, and data pointer instead of a menu_item.
      Restore ige-mac-menu to the library for testing and
         backwards-compatibility.
      Create accelerators on the File menu to test accelerator function.
      Renable testing two windows.
      Add reminder for test coverage
      Add explanitory comment about menu action callback
      Set up defines for testing either no menu mangling, Carbon menu
         mangling (IGEMACMENU) or Cocoa menu mangling (GTKAPPLICATION).
      Allow cocoa_menu_get to be called (and to return NULL) if
         cocoa_menu_connect hasn't yet been called.
      Move the menubar from being owned by the GtkApplication (which limits
         us to one menubar) to being owned by each window, since in Gtk
         each window has its own menubar (or doesn't have one at all --
         which might crash the application when the menuless window
         receives focus.)
      Restore the use of a menu item for gtk_application_add_app_menu_item,
         because it turns out that while Carbon has only one App menu
         shared among all menubars, Cocoa has one for every menubar.
      Connect window_focus_cb to the signal.
      Correct behavior of [GtkApplicationDelegate ApplicationShouldQuit],
         signature and behavior of gtk_application_should_quit, and
         comments about other AppDelegate functions.
      Correct license from GPL to LGPL.
      Move update_active, update_accel_closure, and _update_submenu from
         carbon_menu_item_create to sync_menu_shell so that changes to
         these things will be synchronized even if the menu itself isn't
         changed.
      Replace interface extension and direct call to [NSApp setAppleMenu:]
         with indirect call
      Comment out add_to_app_menu and add_to_window_menu
      Fix forgotten parameter in g_print in gtk_application_should_load.
      Modify add_to_menubar to take a position indicating where on the
         menubar to add the new menu.
      Modify create_app_menu to always insert the app menu at index 0.
      Create a Window menu, always inserting it just to the left of the
         Help menu if there is one, or on the end if there isn't.
      Fix app_menu tracking
      Fix Window menu to include the first-opened window.
      Add signal handler to override gtk_widget_can_activate_accel for the
         hidden menubar; makes menu accelerators work.
      Add to the test program a GtkUIManager ui with actions instead of
         menuitems doing the work.
      Add some documentation and a guard to prevent calling
         ige_mac_menu_sync() before ige_mac_menu_set_menubar();
      Turn off debug messagesin cocoa_menu_item and gtkapplication_quartz
      Suppress critical error message if cocoa_menu_get is called before
         the quark is set.
      Make the diagnostic signal handler messages DEBUG() macros.
      UI file for test program GtkUIManager ui.
      A little cleanup
      Delete stray leftover from adding accelerators
      Remove "in_event_menu_handler"     Don't know why this was here, it
         isn't used.
      Force passing of windowless (read Apple) accelerators to the main
         menu bar.
      Remove cocoa_menu_item_add_action; it isn't needed.
      Clean out debugging message
      Provide menu-item hiding for Tiger (not tested) and enable it for
         Leopard and later (tested).
      Use Tiger menu item hiding.
      Prettier formatting.
      Provide for disabling of Quartz menu accelerator (aka keyEquivalents)
         for apps which need to do their own.
      Change the menu_item_activate callback to toggle the sensitiviy of
         Edit>Copy rather than turn it off once.
      Fix up the tests of accelerators so that they respond correctly to
         changes from e.g., gtkrc files.
      Provide test of disabling quartz key equivalents.
      Separate state syncronization into a separate function, rename
         cocoa_menu_item_active to cocoa_menu_item_checked, and  provide
         for setting checked menu items to "NSMixedState" when the
         corresponding GtkCheckedMenuItem has its "inconsistent" property
         set to true.
      Provide for resyncing an already-set menubar.
      Make the "action" instance variable private.
      Fix errors in the Tiger menu-item-hiding code; now tested and working
         properly.
      Tidy up some word-wrapping
      Clean up line endings
      Add a Help item to the Help menu in BUILT_UI to force the Help menu
         to be visible after the About menu item is moved.
      Handle resync of an existing submenu
      Add parameters with accessors for the 3 OSX special menus so that
         their positions can be maintained.
      Add a notUsed instance variable with manipulation so that
         GNSMenuItems whose Gtk counterparts have been deleted
         programmatically with signals disconnected can be identified and
         removed.
      Track osx-controlled special menus (Apple, Windows, and if needed,
         Help) so that their positions can be adjusted after modifications
         to the menubar.
      Move menu_data_cb functions outside of the ifndef BUILT_UI block so
         that they can be used with BUILT_UI
      Add a button which adds/removes a new menu item to/from the menu bar
         to test and demonstrate programmatic menu synchronization.
         BUILT_UI only.
      Change all instances of NSMenuItem in cocoa_menu_item.c to
         GNSMenuItem to make sure that pointers don't get corrupted by
         slicing.
      Editorial cleanup and comments
      Oops. Clean the submenu and return if there *isn't* a Gtk submenu,
         not if there is!
      Some safety improvements in cocoa_menu_item_add_submenu
      Wrap ige_mac_menu_sync for python bindings
      When syncronizing the main menu bar ensure that the Window menu gets
         put back in the right place.
      Provide for synchronizing deletion of menu items.
      Provide a QUARTZ_HANDLERS macro to turn on allowing quartz to handle
         keyboard accelerators.
      Disconnect the old signal instead of ignoring the fact that the
         coocoa_item has changed.
      Don't do anything if the old item and new item match.
      Comments for #endifs; it's getting pretty complicated!
      Add dock menu support
      Comments separating function prototypes by what they do.
      Add comment indicating that ige-mac-image-utils does not need to be
         rewritten to support 64-bit compilation.
      Fix crasher from last change
      Fix a typo, add some descriptive comments
      Add a protective check against a null menu shell.
      Repair a couple of minor typos in GtkApplicationDelegate.c
      Finish dock functions in GtkApplication, and tests for same to
         test-integration.c
      Add bundle functions
      GtkApplicationNotify emits signals instead of calling a hard-coded
         function in GtkApplication.
      Reconfigure GtkApplicationDelegate to use a signal for
         applicationShouldTerminate.
      Rename GtkApplication to GtkOSXApplication
      Move the ige_mac_integration python bindings into their own directory
         in preparation for creating gtkosxapplication bindings (also in
         their own directory).
      Fix m4 function IMENDIO_PYTHON_CHECK for codegen moving from pygtk to
         pygobject.
      Symbol changes to be compatible with pygobject-codegen
      Modify makefiles and configure for moving the ige_mac_integration
         wrapper to a subdirectory of bindings/python. Provide a makefile
         for the gtkosxapplication binding.
      Basic python wrapper for gtkosxapplication.
      Rename bindings/python/gtkosxapplication to gtk_osxapplication to
         work consistently with the wrapper module name.
      Provide a signal for NSApplicationDelegate openFile:
      Add compiled python and wrapper-intermediate files to ignore list.
      Fix minor bug and remove testing comment.
      Change comment type, because pygobject's h2defs pukes on C++-style.
      Remove the menu item hide in gtk_osxapplication_add_app_menu_item.
      Remove redundant hide command from cocoa_menu_item_sync_state.    
         (cocoa_menu_item_update_state handles hidden and sensitive
         properties)
      Rename cocoa_menu_item_sync_state to cocoa_menu_item_sync
      Give gtk_application_sync_menubar a GtkOSXApplication* argument so
         that h2defs.py will recognize it as a member function.
      Correct marshaller arguments in NSApplicationOpenFile signal
         creation.
      Complete python bindings for GtkOSXApplication
      Minor typo in AC_OUTPUT
      PyGObject-codegen needs to see "self" to recognize a class method
      Conditionally compile Carbon-dependent functions in 32-bit only.
      Disable compilation of igemacintegration python bindings when
         compiling for 64-bit is enabled.
      Make gtk_osxapplication_dock_menu() appear private to Gtk-Doc by
         renaming it _gtk_osxapplication_dock_menu()
      Enable running Gtk-Doc to build documentation; update minimum version
         to 1.11, the one in the current stable moduleset.
      First pass at documentation.
      Move the signal creation from gtk_osxapplication_init to
         gtk_osxapplication_class_init.
      Add the docs Makefiles so that docs get built
      Add gtk-doc.make to distribution
      Gtk-docs Makefile tweaks to get it working.
      Documentation fixups.
      Fix some documentation typos.
      Change return type of gtk_osxapplication_get_bundle_info to gchar*
      Finish Documentation
      Update README
      New version 0.9.0
      Fix URL in README

Changes from version ige-mac-integration-0.8.5 to version ige_mac_integration-0.8.6:
John Ralls (10):
      Provide separate menubars for different windows.
      Corrected return type (and value) of window_focus event handler,
         added window_delete event handler.
      Better logging of parent-set events, synch_menu_shell startup.
      Rename carbon_menu_create_item to carbon_menu_item_create, more
         consistent with other function names
      Decrement CarbonMenuItem index when it's only 1 high (i.e., after a
         menu item deletion) instead of deleting and recreating the
         MenuItem.
      Destroy the Carbon Menu/MenuItem when freeing the
         CarbonMenu/CarbonMenuItem that points to it.
      Revert "Corrected return type (and value) of window_focus event
         handler, added window_delete event handler."
      Corrected return type, value of window_focus.
      Clear the menubar when a window is deleted. Still have to manually
         refocus to another window in the app, but this is a gtk+-quartz
         problem, not a menu problem.

Changes from version ige-mac-integration-0.8.4 to version ige-mac-integration-0.8.5:
John Ralls (13):
      Reformatted for better readability.
      Rearranged some if blocks to reduce excessive indenting.
      Extract method to carbon_menu_create_item
      Prettier control of Debug printing.
      Error detection and reporting for carbon calls
      Clean up compile errors
      Better, more concise logging
      create carbon_menu_item_get_checked from carbon_menu_item_get (which
         is returned to it's former form)
      Use carbon_menu_item_get_checked where needed
      Avoid adding CarbonMenuItems after errors
      Better logging
      Just increment the carbon_item->index after an insert instead of
         trying to delete the menu item and get everything relinked.

Changes from version ige_mac_integration-0.8.0 to version ige-mac-integration-0.8.4:
John Ralls (3):
      Added -DMAC_INTEGRATION
      Updated URL in README



Download
========
http://download.gnome.org/sources/gtk-mac-integration/2.0/gtk-mac-integration-2.0.0.tar.xz (289K)
  sha256sum: 44c6461e7b2b058bd4c9c7a28903e2a25fa5a5b1eeea49331c4fe7043a042436



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]