

Lower-level selection support is largely missing from GDK-quartz (and GTK selection is implemented via GDK selection).gtk_clipboard_request_rich_text(), gtk_clipboard_wait_for_rich_text(), _gtk_clipboard_handle_event(), gtk_clipboard_set_can_store(), gtk_clipboard_store(), _gtk_clipboard_store_all().Supported at a high level in gtkclipboard-quartz.h and gtkdnd-quartz.h, but the following need implementing:.Selection, properties, clipboard and drag and drop Support anti-exposes (_gdk_windowing_window_queue_antiexpose).

#CVS HASKELL UPDATE#
Don't update focus window when grabbed?.Guard for unallocated events in gdk_quartz_get_event?.Implement gdk_screen_get_monitor_plug_name().Should we support foreign pixmaps? (Most probably not).Implement _gdk_pixmap_create_from_data().Implement gdk_keymap_get_caps_lock_state(). Check whether gdk_keymap_have_bidi_layouts() is implementable.
#CVS HASKELL CODE#
Resync the keyboard handling with the code in xserver xquartz.Composite support (gdk_display_supports_composite()).Support for shaped windows (gdk_display_supports_shapes(), gdk_display_support_input_shapes(), gdk_window_quartz_shape_combine_region(), gdk_window_quartz_input_shape_combine_region(), _gdk_windowing_get_shape_for_mask(), _gdk_windowing_window_get_shape(), _gdk_windowing_window_get_input_shape()).Window groups: gdk_window_set_group(), gdk_window_get_group(), gdk_display_get_default_group().Complete mouse cursor support: implement gdk_cursor_new_from_name(), gdk_cursor_get_image().Look into simplifying gdk_window_quartz_show().

97% of the FIXME comments are incorporated in this list. Note that a couple of those are for either deprecated functionality (that will be removed in the future and is only really needed by legacy applications) or for things that are very X11-specific and will not work natively on the Mac. The code does contain a fair amount of "FIXME" comments. A good way to get started with GTK+ OS X hacking is to just compile your favorite application and try to make it work better. This is a tentative list of items to be done, with varying difficulty.
