Subject: CVS commit: pkgsrc/x11/gtk3
From: Patrick Welche
Date: 2015-06-15 00:02:08
Message id: 20150614220209.03AA798@cvs.netbsd.org

Log Message:
Update gtk3 to 3.16.3

It now has a hard dependency on libepoxy, and provides gtk-icon-update-cache.

Highlights from release notes:

* Improve client-side decorations without a compositor
* Theming: Fixes for the HighContrast theme

* GtkMenuButton:
 - Improve accessible names

* GtkCellRendererPixbuf:
 - Always follow state changes, the ::follow-state property
   is now ignored. This is necessary to make HighContrast
   and symbolic icons remain visible e.g. in selected rows.

* GtkEntry:
 - Rework the size allocation code to be less arcane. This
   changed the semantics of the get_frame_size() vfunc. GtkEntry
   subclasses that override this vfunc may need adjustment.

* Go back to requiring GTK_FRAME_EXTENTS support for CSD,
  to fix shadow problems in KDE.

* GtkFileChooser:
 - Don't start search too eagerly
 - Use fts with tracker
 - Make tracker queries more similar to nautilus

* GtkWindow:
 - Improve window dragging on header bars

* Printing:
 - Make avahi-browsed printers work
 - Set printer state correctly

* Wayland
 - Support hi-dpi cursors
 - Exit cleanly if the compositor goes away
 - Don't ignore early maximization/fullscreening
 - Make subsurface popovers work under Weston
 - DND fixes

* GL
 - Port GdkGears example to modern OpenGL

* GtkScrolledWindow
 - Avoid 'jumping' when zoom scrolling kicks in
 - Make zoom scrolling less easy to trigger
 - Make steppers use smooth autoscrolling
 - Ensure indicators appear in the correct place

* Input methods can now be turned off entirely, which
  can be useful to free up the Ctrl-Shift-u shortcut

* Add some DND support to gtk3-icon-browser

* CSS
 - Support animated font weight changes

* GtkPopover:
 - has a map/unmap animation now

* GtkListBox now supports models with gtk_list_box_bind_model

* GtkNotebook has a new function to support tab dnd

* GtkSidebar was renamed to GtkStackSidebar to better convey what it does

* GtkFileChooser now has a location column for search

* GdkGLProfile has been removed

* GTK+ types now support the GLib g_autoptr() facility for
  automatic cleanup of automatic variables. GTK+ itself does
  not use g_autoptr() internally.

* GtkSearchEntry has gained ::next-match, ::previous-match
  and ::stop-search signals and a gtk_search_entry_handle_event()
  function, which help in providing a richer search experience
  and make search entries usable outside of GtkSearchBar.

* GtkFileChooser:
 - The search has been reintegrated in the UI, there is now
   a toggle button on the header bar to go to search mode,
   in addition to the Alt-S shortcut.
 - The file chooser button now accepts files by drag-and-drop properly.

* GtkScrolledWindow has gained a new ::edge-reached signal, which
  triggers when the edge of the scrollable area is reached.

* CSS:
 - Performance improvements

* OpenGL:
 - It is now possible to specify the required GL version, as well
   as some other options (debug, forward compatible) when creating
   a GdkGLContext
 - Support for the OpenGL legacy profile has been dropped. Most examples
   have been updated, with the exception of gdkgears, which will be fixed
   in the next snapshot
 - Use shader version 1.50

* GtkTextView
 - Allow to customize multi-click behaviors, using the new
   ::extend-selection signal
 - Selection can now be extended by scrolling
 - Better behavior and appearance for text selection with touch

* GtkApplication:
 - Use app menu fallback with ssh connections
 - Provide a mechanism to hide unnecessary app menu items
   on OS X, so a single menu file can be used across platforms

* GtkCalendar:
 - Show other months in a different color under Adwaita again
 - Ensure we always show a bit of the other month on both ends

* GtkScrolledWindow
 - Make overlay scrollbars more dynamic

* GtkFileChooser:
 - Make bookmark DND insert at the right location
 - Make '~' and '/' work in recent mode
 - Make Ctrl-L work in recent mode
 - Re-integrate search

* CSS:
 - Introduce immutable style nodes
 - Performance improvements
 - Reduced memory consumption

* GtkInspector:
 - Add a magnifier for the selected widget
 - Show more display information
 - Show memory address of objects

* Wayland:
 - Use subsurfaces for popovers, so popovers can extend beyond the
   window boundaries
 - Prefer the Wayland backend over X11 if both are available

* GL:
 - Fix interaction with hi-dpi
 - Add OpenGL support to the Windows backend

* GtkTextView:
 - Font fallback and letter spacing can be controlled with tags now
 - Pango markup can be inserted in text buffers

* GtkEntry now has API to grab focus without selecting the contents

* GtkWindow now starts from the focused widget when looking for
  actions that are activated by accelerators

* GtkScrolledWindow draws an indication where an edge if hiding
  some content that can be scrolled in

* GtkStack has gained GtkNotebook-like focus handling

* Theming:
 - Support :not() in CSS
 - GtkRange now supports :hover for the whole widget
 - The HighContrast theme has caught up with some never GTK+ features
 - Avoid excessive shadow redraws

* Build:
 - gtk3-update-icon-cache is no longer used at build time, and the
   --enable-gtk2-dependency configure option has been removed
 - The examples that are used in the documentation can now be built
   standalone

* Inspector:
 - Allow extension with loadable modules, the first use for this
   is gjs-inspector, which adds a JavaScript prompt
 - Allow testing cursor theme changes

* GtkPopoverMenu: A GtkPopover subclass that makes it easy
  to manually build menu-like popovers which can include
  arbitrary controls.

* GtkModelButton: A button widget that is optimized for
  use inside popovers with a GAction as 'model'.

* GL support:
 - Try harder to pick good visuals
 - Rework the way GL rendering is done in GtkGLArea
 - Support input events in GtkGLArea
 - Use shaders
 - The GDK_GL environment variable can be used for debugging

* Inspector:
 - Make picking widgets work in Wayland
 - Rework search in all pages
 - Improve space use
 - Support GL information and debug flags
 - Shield the inspector window from more debug settings
 - Hide empty tabs

* Theming:
 - Include the HighContrast theme
 - Add borders to menus in non-composited environments
 - Load themes from versioned directories like
   .../themes/Emerald/gtk-3-14/.

* Wayland:
 - Make window opacity work
 - Propagate clipboard owner changes

* Mir:
 - Improved event handling
 - Support cursors
 - Enable CSD
 - Better monitor support
 - Add OpenGL support

* Deprecations:
 - gdk_cursor_new
 - gdk_device_grab_info_libgtk_only
 - gdk_display_open_default_libgtk_only
 - gdk_add_option_entries_libgtk_only
 - gdk_pre_parse_libgtk_only

* An experimental mir backend has been added.
  Use --enable-mir-backend to build it.

* Inspector:
 - Show more information
 - Use a separate display connection

* Deprecations:
 - GtkStyleProperties

* GDK supports rendering windows using OpenGL; currently
  this is implemented for X11 and Wayland using libepoxy

* GtkGLArea: A new widget for rendering with OpenGL

* GtkSidebar: A new switcher for GtkStack that looks like
  a sidebar

* Better typography: In many places, we now use proper Unicode
  characters for dashes, quotes, multiplication signs and the
  like, instead of ASCII approximations

* Theming:
 - Context menus use the default font instead of inheriting from
   the widget they are attached to
 - Theming engines are no longer used
 - Backdrop style has been fine-tuned to make the difference to
   the active window more evident without affecting readability

* Inspector:
 - Show nested tree models
 - Add a checkbox to disable the warning dialog
 - Rearrange the UI to gain space
 - Show object counts

* GtkTextView has a monospace property

* GtkPaned has a wide-handle property

* GtkPrintUnixDialog
 - Has improved appearance without headerbars
 - Better rendering of sheet icons
 - No more missing icons

* GtkScrolledWindow
 - A new policy, GTK_POLICY_EXTERNAL, which allows scrolling
   without showing a scrollbar
 - Scroll events can now overshoot as well
 - The new signal ::edge-overshot is emitted when the scrolled
   window is fully overshot
 - Scrollbars will be overlayed as narrow indicators when
   there is no mouse

* Deprecations:
 - gdk_window_set_static_gravities
 - gdk_window_set_composited
 - gtk_style_context_get_background_color
 - gtk_style_context_get_border_color
 - gtk_settings_set_string/long/double_property
 - gtk_settings_install_property

Plus many bug fixes and translation updates.

For full details see:

https://git.gnome.org/browse/gtk+/tree/NEWS?id=3.16.3

Files:
RevisionActionfile
1.61modifypkgsrc/x11/gtk3/Makefile
1.15modifypkgsrc/x11/gtk3/PLIST
1.27modifypkgsrc/x11/gtk3/buildlink3.mk
1.29modifypkgsrc/x11/gtk3/distinfo
1.6modifypkgsrc/x11/gtk3/patches/patch-aj