Highlights from release notes:
* GtkMisc::xalign has been undeprecated for now, it is still needed
* GtkIconView
- Always draw cell background
- Fix handling of prelight items
* GtkWindow
- Fix growing nautilus windows
* Theming:
- Use sass functions more
- Theme .app-notification instead of .app-notification.frame
- Lots of button fine-tuning
- Avoid double background rendering in tooltips
- Much faster blur implementation for shadows
- Support symbolic, recolorable pngs
- Many improvements in details
- Style .needs-attention in GtkStackSwitcher
- Adwaita is much more complete
- Shadows, reliefs and frames in GtkScrolledWindow, GtkViewport,
GtkButton, GtkEntry, GtkFrame, etc are now translated to style
classes and themed
- Use client-side shadows for menus and tooltips
- Include the Adwaita theme
- The default theme is now Adwaita
- Icon loading now respects limits specified in the icon theme,
unless GTK_ICON_LOOKUP_FORCE_SIZE is set
- Don't include image content in icon caches, to avoid huge caches
- GtkSwitch gained a hover state
- Use outlines to render focus rings
- Use icons to render spinners, expanders and arrows
- GtkIconTheme can force symbolic or regular
icon variants
- GtkIconTheme will automatically load rtl
icon variants
* Inspector:
- Show widget allocations
- Show hidden windows
- Fix initial state of dark switch
- Show some widget states and buildable ids
- Add GtkTreeSelection to object tree
- Add an easy way to change the font
- Can change hi-dpi scale on the fly
- Can simulate touchscreen at runtime
- Shows style properties
- Ctrl-Shift-I selects the widget under the pointer
- Property editors show property and settings bindings
- Support saving custom CSS
- Show GMenus and GActions
- Show combobox menus and submenus
- Lower the inspector window when picking
- Misc. navigation improvements
* Show widget state and other misc. info
* Wayland:
- Implement Drag-and-Drop
- Use subsurfaces for entry completion popups
- Use subsurfaces for tooltips
- Support newer protocol versions
- Fix repaint artifacts
- Update xdg-shell
- Always use CSD under Wayland
- Avoid a crash on pointer-less systems
- Context menus work now
- Support GNOME classic mode
- Update to the latest xdg-shell protocol
- Updates for xdg_shell protocol changes
- Touch support
* To align better with css, button and menuitem subclasses now use a
:checked state to indicate their checkedness, instead of :active or
:selected.
* Deprecations, removals:
- GtkStatusIcon, GtkThemingEngine
- GtkWindow no longer supports resize grips
- builtin icons have been deprecated in favor of loading icons
from resources
- Style regions
- Support for .icon files
- gdk_window_flush, drawing outside of begin/end paint
- GdkColor
- GtkMisc
- GtkArrow
- focus-line-width style property
- GtkNumerableIcon
- GtkButton::x/yalign
- gtk_widget_reparent
- gtk_widget_region_intersect
- gtk_container_set_reallocate_redraws
* GtkFileChooser
- Fix editing of bookmarks
- Use symbolic icons in the path bar
- received some design improvements
* GtkTextView
- Add a vfunc to allow subclasses to draw above/below text
* GtkImage
- Support scale factor when loading from resources
* Windows:
- Fix handling of input shapes
- Support font scaling
- Dialog theming fixes
- Several crash fixes
- Fix icon theme loading
- *Many* theme improvements
- Add popover theming
- Enable introspection
- Theme improvements
* CSS:
- Selectors can now match state pseudo classes on
all elements
- Support outline-radius in CSS
- Implement 'unset' and 'all'
- Support -gtk-icontheme
- Support -gtk-icon-source
- Add -gtk-icon-transform, supporting the 2D
parts of CSS transforms
- Support -gtk-icon-style
* GtkListBox:
- Rows now have a selectable property and will be
styled accordingly
- GtkListBox can now do multi-selection
* GtkApplication:
- gtk_application_prefers_app_menu is a new function to facility
adapting UIs to platform expectations
- GtkApplication now tries to load menus from resources in the
resource path that is defined by GApplication
- GtkApplication set up a resource path for loading icons as well
* GtkScrolledWindow:
- Scrolling in response to user input (scrollbar clicks, keynav)
is now animated
- The displacement animation has been replaced edge gradients
* GtkScaleButton:
- The orientation is now changed on the fly to make the popup
fit into small windows
* GtkEntry:
- Activity mode progress is now smooth
* Client-side decorations
- The default button layout includes minimize and maximize again
- Dialogs are no longer using client-side decorations when
use-header-bar is unset
* GTK+ now ships a simple icon theme browser, gtk3-icon-browser
* Gestures:
- Convert most widgets to use gestures internally
* Widget factory:
- Improve coverage of GTK+ features
* Interactive debugging support. The GtkInspector
window can be triggered with the Ctrl-Shift-I
or Ctrl-Shift-D keyboard shortcuts, or via the
GTK_DEBUG environment variable.
* Gesture support has landed. New classes include
GtkGestureLongPress, GtkGestureMultiPress, GtkGestureSwipe,
GtkGesturePan, GtkGestureRotate, GtkGestureZoom. Many GTK+
widgets already use gestures internally. Gestures also
show up in GtkInspector.
The gesture-related APIs are still subject to change.
* GTK+ widgets can now draw outside their allocation,
by setting a clip with gtk_widget_set_clip().
The clip-related APIs are still subject to change.
* GtkStack has added a few more transition types
* GtkProgressBar is now narrower
* GtkSwitch has a way to delay state changes
* GtkMenuButton is using a popover for menu models by default
* GtkPopover can have horizontal sections
* GtkBuilder
- Supports property binding
- Supports dialog actions
* Client-side decorations
- The requirement for _GTK_FRAME_EXTENTS has been dropped
to avoid 'double headers' with most window managers
- Drawing of DND highlights around the entire window works
* Broadway backend
- Now builds on OpenBSD
* Many bug fixes
* Translation updates
For full details see:
https://git.gnome.org/browse/gtk+/tree/NEWS?id=3.14.1
Highlights from changes:
* GtkPopover: A new widget that is can be used for transient
views, as an alternative to menus or dialogs.
- GtkMenuButton can use popovers instead of menus
* Client-side decorations:
- Make F10 move focus to the header bar
- Make header bars draggable on touch systems
- Make shadows unclickable
* Printing: Google cloud print support
* GtkActionBar is a new widget that is meant to be used
for actions at the bottom of a window.
* GtkAppChooserDialog has been redesigned
* GtkBox can now place a widget centered, regardless of
the sizes of children on either side, similar to GtkHeaderBar.
* Dialogs:
- Dialogs have been modernized, can use a header bar now
- Built-in dialogs react to a setting, gtk-dialogs-use-header
for this, dialogs derived from GtkDialog: default to no headerbar
- GtkAssistant also respects the setting
* OS X:
- Better menu integration. Items such as 'Hide', 'Hide Others'
and 'Show All' are now handled specially
- GTK+ provides a default application menu now
* Theming:
- GTK+ now uses RGBA visuals by default
- Notebook tabs now support a prelight state
- Reorderable notebook tabs can be themed differently
* GtkActionBar: A new container, which has a centered
child like GtkHeaderBar. It can be used in places
where header bar theming is not suitable
* GtkAppChooser: The online support has been simplified
and modernized
* GtkHeaderBar button theming has been changed to be
more flexible. There is now a gtk-decoraton-layout
setting and a decoration-layout property.
* Accessibility:
- Links in labels are now accessible
- Model-based menus are accessible
- Accessible roles of several widgets have been fixed
- GtkColorChooser accessibility is improved
* Theming: The Raleigh theme has been updated for
several new features, including client-side decorations
* Model-based menus now support a hidden-when attribute
on items that allows them to be hidden on various
conditions
* New notebook tab styling: GtkNotebook now offers a way
for themes to opt out of the tab rendering, with the
'has-tab-gap' style property. The Adwaita theme is using
this to achieve a more modern tab appearance.
* GtkFlowBox: A container that its children in a reflowing
grid, which can be oriented horizontally or vertically.
It is similar to GtkListBox in that the children can
be sorted and filtered, and by requiring a dedicated child
widget type, GtkFlowBoxChild. It is similar to GtkTreeView
in that is supports a full set of selection modes, including
rubberband selection.
* GtkStack: children can now indicate that they require
attention by setting the needs-attention child property.
* Broadway now requires binary array buffers and modern WebSocket
protocol support
* Autoscrolling in range widgets has been improved to work more
reliably in maximized windows.
* GtkSpinner has been changed to render in in a limited set of
sizes.
* GtkApplication now stores and handles accelerators for GActions
itself.
* GtkIconTheme now falls back to the gnome icontheme to fix
problems with the availability of symbolic icons in other
icon themes.
* GTK+ respects the deprecated gtk-button-images and gtk-menu-images
settings again.
For full details see:
https://git.gnome.org/browse/gtk+/tree/NEWS?id=3.12.2
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
Overview of Changes in GTK+ 3.10.6 to 3.10.7
============================================
* Bugs fixed:
386569 GtkFileChooser enters first file name into the entry...
709491 dark theme setting not propagated to vertical spinbu...
711298 "Edit Scheduled Transaction" window way too modal
719314 gdk_property_change segfault on multiple X protocol...
719970 Fails to build: gdkevents-quartz.c:1692:58: error: ...
719977 Can not use GtkFileChooserDialog: assertion failure
721700 invalid callback prototypes leads to test issues
win32: add more width to the slider to not cut it w...
win32: add margin to scale trough
win32: set color for scale marks
win32: scale slider with marks was off by 2 pixels
win32: handle again gtk-font-name
* Translation updates:
Czech
German
Greek
Hungarian
Punjabi
Russian
Simplified Chinese
Slovenian
This is causing problems (3.9.6 to 3.9.8):
* We've started deprecating GtkStock apis. These apis will continue
working until GTK+ 4, so there is no need to rush to replace them.
For more information, see
https://mail.gnome.org/archives/gtk-devel-list/2013-July/msg00000.html
Wholly deprecated as part of this effort:
GtkIconFactory, GtkIconSet, GtkIconSource, GtkImageMenuItem,
GtkAction, GtkUIManager
Other highlights:
* Theme support
- Always fall back to 'gnome' icon theme in addition to 'hicolor'
- Respect deprecated gtk-button-images setting
- Respect deprecated gtk-menu-images setting
* Accessibility improvements
- Add accessible names to csd window buttons
- Mark GtkLinkButton as visited when appropriate
- Add a GtkListBoxRow accessible
* GtkLabel can now ellipsize just the last line,
ellipsized in multi-line labels.
* GtkInfoBar now uses a GtkRevealer internally to slide in place.
It is no longer necessary to do that manually.
* GtkHeaderBar can now add a window close button
* The fine adjustment mode for scrolling has been revamped to be
easier discoverable, and visual feedback and autoscrolling has
been added.
* GtkIconTheme now supports 2x scaled icons for hi-dpi displays.
* The Wayland and X11 clipboard implementations can now coexist
* GtkInfoBar updates
- Turn action area horizontal
- Fix spacing
- Add an easy way to add a close button
* Documentation
- Modernize many screenshots
- Redo the widget gallery
- Improve 'Getting Started' tutorial
- Add new application examples to tutorial
* Deprecations:
tear-off menuitems,
gtk-button-images,
gtk-show-unicode-menu,
gtk-show-input-method-menu,
gtk-enable-mnemonics,
gtk-auto-mnemonics,
gtk-color-palette,
gtk-can-change-accels,
cursor blink settings,
gtk-fallback-icon-theme,
gtk-scrolled-window-placement,
menu popup delay settings,
gtk-menu-bar-accel,
keynav tweaks,
gtk-touchscreen-mode,
gtk-icon-sizes,
im style tweaks,
gtk-file-chooser-backend,
gtk-enable-tooltips,
gtk-visible-focus,
tooltip timeout tweaks,
toolbar style tweaks
* Initial support for scaled output (on high-dpi screens) has been
added. While this can be built with cairo 1.12, it needs a cairo
branch to work. Support for this has been added to the Wayland,
OS X and Windows backends.
* GtkListBox:
- handle double-clicks properly
- add an example in gtk3-demo
* GtkSearchBar: a toolbar that will popup automatically when
searches should be started, and dismissed when they are finished
* GtkListBox a vertical container that can sort and filter its
children
* GtkStack has gained position dependent transitions (left-right
and up-down)
* The Broadway GDK backend can be built on Windows now
* The GDK initialization code has been refactored. GdkDisplayManager
is no longer backend-specific.
* The symbol exporting functionality has been refactored. We no longer
use .symbols files, and instead rely on explicit header annotations
for every exported symbol. the abicheck scripts are no longer used.
* The GDK drawing and scrolling has been simplified. We no longer use
XCopyArea for scrolling, instead an offscreen cache is used. There
is a new debug flag, GTK_DEBUG=pixel-cache for this.
* Window sizing issues have been addressed.
* Implement height-for-width for GtkEventBox and GtkCheckButton
* Custom titlebars can now be set from GtkBuilder files
* Optionally install tests, when configured with --enable-installed-tests.
To run these tests, gnome-desktop-testing-runner can be used.
* Native input methods are supported on OS X now.
Many bug fixes and translation updates. For full details see:
https://git.gnome.org/browse/gtk+/tree/NEWS?id=3.10.6
3.8.4: Remove unintentional use of GLib 2.37 apis
3.8.3:
* Bugs fixed:
667759 gtkdnd-quartz.c is missing annotations for introspection
672271 File chooser seems over-enthusiastic about using subdir...
674108 Hard crash due to wrong NSAutoreleasePool stacking
680953 set_item_width / text wrapping doesn't work in iconview...
688738 GtkMenuButton problem with mnemonics / accelerators
691921 GTK+ (quartz) built on Mac OS X 10.5 references [NSMenu...
692548 Quartz: Cursor doesn't reset when the mouse leaves a to...
694273 Patch to support NSTextInputClient in text widgets
694755 When clicking Activities, sometimes gnome-shell crashes.
696498 can't set download folder
696640 GtkButton: Don't suppress unhandled mouse events
698183 Text input is too slow and some keys are broken after c...
698758 Wrong limit for "Native Windows wider or taller than 65...
700185 GtkWindow: problem with child widget visibility
700779 gtk_menu_item_draw puts the arrow too close to the border
701332 Patch for minor glitch in NSTextInput
701341 Windows only paint once in Weston 1.1
701365 Do not assert sm_proxy != NULL in GtkApplication inhibi...
701613 XEmbed doesn't work with frame-synced GTK/Mutter
702598 Invalid read of size 4 in gtk_icon_info_get_embedded_rect
702763 ellipsize placeholder text
702913 Reduce hash table lookups in gdk_x11_screen_supports_ne...
703069 Opening a big menu activates some menu entry
703220 Memory allocation integer overflow in gdk_cairo_set_sou...
705181 Annoying beep on arrow keys when using IME on MacOS
705182 Reset Cocoa IME state when immodule is reset
705320 gtkicontheme: check for GdkPixbuf first
705692 Segmentation fault on horizontal slider
705750 Quartz input method doesn't work correctly for Chinese...
706152 g_object_notify called with NULL priv->focus_widget
* Translation updates:
Brazilian Portuguese
Traditional Chinese
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
Rename patch-gtk_a11y_gail.c to patch-gtk_a11y_gtkaccessibility.c
Many improvements, bug fixes and translation updates:
https://git.gnome.org/browse/gtk+/tree/NEWS?id=3.8.2
Highlights:
* Deprecations and removals:
- Custom CSS properties have been deprecated
- Support for color schemes has been removed
- gtk_style_provider_get_style, gtk_style_provider_get_icon_factory
- GtkGradient and GtkSymbolicColor
- All the padding style properties in menus
* CSS improvements:
- Add cycle detection to color resolving
* A lot of filechooser button fixes
* The print dialog now shows printers that are discovered
using avahi, if configured with --enable-avahi-browsing
* We now support the Window Manager frame synchronization protocol draft (when
running under a WM that supports it). This means applications will throttle
their drawing cycle to what the compositor is drawing, and the compositor
will never render half-updated windows, for seamless resizing and improved
smoothness in drawing.
See https://mail.gnome.org/archives/wm-spec-list/2013-January/msg00000.html
and the articles at http://blog.fishsoup.net/ for more details.
* We now support setting an opacity to any GtkWidget, not just toplevels:
gtk_window_set_opacity has been deprecated in favor of gtk_widget_set_opacity.
* GtkIconTheme gained asynchronous loaders for GtkIconInfo objects
* GtkIconInfo has changed from being a boxed type to a GObject. This
is technically an ABI change, but basically all existing code
will keep working if its used as a boxed type, and its not
possible to instantiate GtkIconInfos outside Gtk, so this is not
expected to be a big problem.
* GtkTreeView and GtkIconView allow single-click activation
* GtkImage can be set from a resource
* GdkWaylandDisplay is now public
* gdk_window_set_fullscreen_mode: new function to let windows
be fullscreened across multiple monitors
* We now use state flags for text direction: GTK_STATE_FLAG_LTR/RTL.
gtk_style_context_set_direction() has been deprecated.
* We install headers for accessible implementations of GTK+ widgets.
This makes it possible to implement accessibility for third-party
widgets by subclassing the proper GTK+ implementation. To do this,
include gtk/gtk-a11y.h.
* Invisible widgets now return a size of 0x0. This is an experimental
change that makes GtkWidget::visible essentially behave the same way
that "display: none" does in CSS. If you want the effect of CSS's
"visibility: hidden", you can use a GtkNotebook with an empty page.
* GtkFrame now draws a background.
* The Broadway backend now installs a separate server: broadwayd.
* GtkBuilder now lets you refer to external objects from a ui
file if the objects have been exported with the new function
gtk_builder_expose_object()
* Font handling has been improved:
- The default font is no longer handled like a custom style sheet
that overrides everything, but as the initial value. This is the
same behavior as in web browsers.
- It is now possible to set font-family and font-size like other
CSS properties, and relative font sizes are supported. Font
sizes in CSS can be specified as numbers or with keywords
like xx-small, medium, smaller, larger,...
* GTK+ now uses proper Unicode ellipses in strings.
Changes in 3.6.4:
* Bug fixes:
691186 stylecontext: Make font hack not crash
Changes in 3.6.3:
* The Wayland backend works with Wayland 1.0.0 now
* Bug fixes:
132333 Can't add a palette to the dialog of a color button
371034 Doc for gtk_file_chooser_get_filename: Is the resulting...
548793 funny pattern for iterating GtkTreeModel
577806 gtk_file_chooser_add_shortcut_folder adds duplicates of...
626499 GtkClipboard unnotified on change of OS X pasteboard owner
668239 texts disappear when notebook switch page at zh_CN locate!
672193 windows (including menus) shown multiple times don't ge...
677339 GTK+ 3 documentation wrong about GtkWidget scroll-event...
683072 Print dialog shows cryptic status message and displays ...
687065 InstallableOptions is not filtered in cups backend
687816 GtkTreeView does not draw correctly since commit aaedc7b6
688710 [PATCH] Splash screens shouldn't stay on top of all app...
688884 Typo in gtk_tree_view_set_tooltip_column documentation
689235 Broken function declarations corrupt the stack on windows
690266 Freeze with F10/Shift-F10 on submenus
Win32: Avoid infinite recursion in the ime input module
Quartz: Fixes for splashscreen and tooltip windows
* Translation updates: Dutch German Gujarati Tamil Uyghur
* Bug fixes:
677609 GtkSizeGroup regression in GTK+ 3.3.20
686021 spinner animation should not be subject to...
686265 scrolledwindow: set GDK_EXPOSURE_MASK on t...
686280 GtkScrollbar and GtkScale rendering broken...
687196 filesystemmodel: invalidate nodes on file ...
687467 Commit "Implement proper cross-fades for g...
687872 Segfault when attempting to get character ...
* Translation updates:
Irish
Traditional Chinese
libXext/buildlink3.mk, now that it is included there.
Leave the places where its API version is set or variables from it
are used directly (about 3 packages).
* The accessibility bridge code that exports accessible objects
on the bus is now used by default; atk-bridge has been converted
into a library that GTK+ links against. To void the linking,
pass --without-atk-bridge when configuring GTK+.
* GDK threading support has been deprecated. It is recommended to
use g_idle_add(), g_main_context_invoke() and similar funtions
to make all GTK+ calls from the main thread.
* GTK+ now follows the XDG Base Directory specification for
user configuration and data files. In detail,
* $XDG_CONFIG_HOME/gtk-3.0/custom-papers is the new location
for $HOME/.gtk-custom-papers
* $XDG_CONFIG_HOME/gtk-3.0/bookmarks is the new location
for $HOME/.gtk-bookmarks
* $XDG_DATA_HOME/themes is preferred over $HOME/.themes
* $XDG_DATA_HOME/icons is preferred over $HOME/.icons.
Existing files from the old location will still be read
if the new location does not exist.
* $HOME/.gtk-3.0 is no longer in the default module load path.
If you want to load modules from there, add it to the GTK_PATH
environment variable.