246 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			246 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| General Information
 | |
| ===================
 | |
| 
 | |
| This is GTK+ version @GTK_VERSION@. GTK+ is a multi-platform toolkit for
 | |
| creating graphical user interfaces. Offering a complete set of widgets,
 | |
| GTK+ is suitable for projects ranging from small one-off projects to
 | |
| complete application suites.
 | |
| 
 | |
| GTK+ is free software and part of the GNU Project. However, the
 | |
| licensing terms for GTK+, the GNU LGPL, allow it to be used by all
 | |
| developers, including those developing proprietary software, without any
 | |
| license fees or royalties.
 | |
| 
 | |
| The official download locations are:
 | |
|   ftp://ftp.gtk.org/pub/gtk
 | |
|   http://download.gnome.org/sources/gtk+
 | |
| 
 | |
| The official web site is:
 | |
|   http://www.gtk.org/
 | |
| 
 | |
| Information about mailing lists can be found at
 | |
|   http://www.gtk.org/mailing-lists.php
 | |
| 
 | |
| 
 | |
| Installation
 | |
| ============
 | |
| 
 | |
| See the file 'INSTALL'
 | |
| 
 | |
| 
 | |
| How to report bugs
 | |
| ==================
 | |
| 
 | |
| Bugs should be reported to the GNOME bug tracking system.
 | |
| (http://bugzilla.gnome.org, product glib.) You will need
 | |
| to create an account for yourself.
 | |
| 
 | |
| In the bug report please include:
 | |
| 
 | |
| * Information about your system. For instance:
 | |
| 
 | |
|    - What operating system and version
 | |
|    - For Linux, what version of the C library
 | |
| 
 | |
|   And anything else you think is relevant.
 | |
| 
 | |
| * How to reproduce the bug.
 | |
| 
 | |
|   If you can reproduce it with one of the test programs that are built
 | |
|   in the tests/ subdirectory, that will be most convenient.  Otherwise,
 | |
|   please include a short test program that exhibits the behavior.
 | |
|   As a last resort, you can also provide a pointer to a larger piece
 | |
|   of software that can be downloaded.
 | |
| 
 | |
| * If the bug was a crash, the exact text that was printed out
 | |
|   when the crash occured.
 | |
| 
 | |
| * Further information such as stack traces may be useful, but
 | |
|   is not necessary.
 | |
| 
 | |
| 
 | |
| Patches
 | |
| =======
 | |
| 
 | |
| Patches should also be submitted to bugzilla.gnome.org. If the
 | |
| patch fixes an existing bug, add the patch as an attachment
 | |
| to that bug report.
 | |
| 
 | |
| Otherwise, enter a new bug report that describes the patch,
 | |
| and attach the patch to that bug report.
 | |
| 
 | |
| Patches should be in unified diff form. (The -up option to GNU diff)
 | |
| Even better are git-formatted patches. (Use git format-patch)
 | |
| 
 | |
| 
 | |
| Release notes for 3.12
 | |
| ======================
 | |
| 
 | |
| * GtkWidget had a hack where if opacity is 0.999 we set up an opacity
 | |
|   group when rendering the widget. This is no longer needed in 3.10,
 | |
|   and GtkStack doesn't use it anymore. It has been removed in 3.12.
 | |
|   GdStack is using it, so applications should be ported from GdStack
 | |
|   to GtkStack in 3.12.
 | |
| 
 | |
| * GtkHeaderBar in 3.10 was not ordering its pack-end children in
 | |
|   the right way. This has been fixed in 3.12. Applications which
 | |
|   pack multiple widgets at the end of a headerbar will have to
 | |
|   be updated.
 | |
| 
 | |
| * gtk_text_view_add_child_in_window has changed behaviour a bit.
 | |
|   It now always positions the child in buffer coordinates, where
 | |
|   it used to inconsistently scroll with the buffer but then go
 | |
|   reposition to a window-relative position on redraw.
 | |
| 
 | |
| * A number of container widgets have been made more compliant with
 | |
|   the uniform CSS rendering model by making them render backgrounds
 | |
|   and borders. This may require some adjustments in applications that
 | |
|   were making assumptions about containers never rendering backgrounds.
 | |
| 
 | |
| * GTK+ is now choosing an RGBA visual for its windows by default if
 | |
|   one is available. This can cause problems for applications which make
 | |
|   assumptions about the default visual. You can set GDK_RGBA=0 in the
 | |
|   environment to force GTK+ to use the default X11 visual, as before.
 | |
| 
 | |
| Release notes for 3.10
 | |
| ======================
 | |
| 
 | |
| * GDK has been changed to allow only a single screen per display.
 | |
|   Only the X11 backend had multiple screens before, and multi-screen
 | |
|   setups (not multi-monitor!) are very rare nowadays. If you really
 | |
|   need multiple X screens, open them as separate displays.
 | |
| 
 | |
| * The behavior of GtkBox::expand has been changed to never propagate
 | |
|   up. Previously, this was happening inconsistently. If you want the
 | |
|   expand to propagate, use the GtkWidget h/v expand properties.
 | |
|   If you experience sizing problems with widgets in ported code,
 | |
|   carefully check the expand and fill flags of your boxes.
 | |
| 
 | |
| * GtkBin no longer provides default implementations for
 | |
|   get_height_for_width, subclasses now have to provide their own
 | |
|   implementation if they need height-for-width functionality.
 | |
| 
 | |
| * Widget state propagation has been changed. Historically, all of
 | |
|   active, prelight, selected, insensitive, inconsistent and backdrop
 | |
|   have been propagated to children. This has now been restricted
 | |
|   to just the insensitive and backdrop states. This mostly affects
 | |
|   theming.
 | |
| 
 | |
| * The way widget drawing happens has changed. Earlier versions handled
 | |
|   one expose event per GdkWindow, each with a separate cairo_t. Now we
 | |
|   only handle the expose event on the toplevel and reuse the same
 | |
|   cairo_t (with the right translation and clipping) for the entire
 | |
|   widget hierarchy, recursing down via the GtkWidget::draw signal.
 | |
|   Having all rendering in the same call tree allows effects like
 | |
|   opacity and offscreen rendering of entire widget sub-hierarchies.
 | |
|   Generally this should not require any changes in widgets, but
 | |
|   code looking at e.g. the current expose event may see different
 | |
|   behavior than before.
 | |
| 
 | |
| * The Gtk+ scrolling implementation has changed. gdk_window_scroll()
 | |
|   and gdk_window_move_region() no longer copy the region on the
 | |
|   window, but rather invalidate the entire scrolled region. This is
 | |
|   slightly slower, but allowed us to implement a offscreen surface
 | |
|   scrolling method which better fits modern hardware. Most scrolling
 | |
|   widgets in Gtk+ have been converted to use this model for scrolling,
 | |
|   but external widgets implementing scrolling using GdkWindow may see
 | |
|   some slowdown.
 | |
| 
 | |
| Release notes for 3.8
 | |
| =====================
 | |
| 
 | |
| * 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.
 | |
| 
 | |
| Release notes for 3.6
 | |
| =====================
 | |
| 
 | |
| * 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.
 | |
| 
 | |
| Release notes for 3.4
 | |
| =====================
 | |
| 
 | |
| * Scroll events have been separated from button events, and smooth
 | |
|   scrolling has been added with a separate event mask. Widgets now
 | |
|   need to have either GDK_SCROLL_MASK or GDK_SMOOTH_SCROLL_MASK in
 | |
|   their event mask to receive scroll events. In addition, the
 | |
|   GdkScrollDirection enumeration has gained a new member,
 | |
|   GDK_SCROLL_SMOOTH, so switch statements will have to be amended
 | |
|   to cover this case.
 | |
| 
 | |
| * GTK+ now uses <Primary> instead of <Control> in keyboard accelerators,
 | |
|   for improved cross-platform handling. This should not affect
 | |
|   applications, unless they parse or create these accelerator
 | |
|   manually.
 | |
| 
 | |
| * The tacit assumption that the Alt key corresponds to the MOD1
 | |
|   modifier under X11 is now a hard requirement.
 | |
| 
 | |
| * The beagle search backend for the file chooser has been dropped.
 | |
|   Tracker is the only supported search backend on Linux now.
 | |
| 
 | |
| * GtkNotebook has been changed to destroy its action widgets when
 | |
|   it gets destroyed itself. If your application is using action
 | |
|   widgets in notebooks, you may have to adjust your code to take
 | |
|   this into account.
 | |
| 
 | |
| * GtkApplication no longer uses the gtk mainloop wrappers, so
 | |
|   it is no longer possible to use gtk_main_quit() to stop it.
 | |
| 
 | |
| * The -uninstalled variants of the pkg-config files have been dropped.
 | |
| 
 | |
| * Excessive dependencies have been culled from Requires: lines
 | |
|   in .pc files. Dependent modules may have to declare dependencies
 | |
|   that there were getting 'for free' in the past.
 | |
| 
 | |
| 
 | |
| Release notes for 3.2
 | |
| =====================
 | |
| 
 | |
| * The accessible implementations for GTK+ widgets have been integrated
 | |
|   into libgtk itself, and the gail module does not exist anymore. This
 | |
|   change should not affect applications very much.
 | |
| 
 | |
| Release notes for 3.0
 | |
| =====================
 | |
| 
 | |
| * GTK+ 3 is a major new version of GTK+, which is parallel installable
 | |
|   with GTK+ 2.x. For information about porting applications from GTK+ 2.x
 | |
|   to GTK+ 3, see the file:
 | |
| 
 | |
|   docs/reference/gtk/html/migrating.html
 | |
| 
 | |
|   Or online at:
 | |
| 
 | |
|   http://library.gnome.org/devel/gtk/3.0/migrating.html
 | |
| 
 | |
| * Note that the library sonames in this release have been changed from
 | |
|   libgtk-3.0 and libgdk-3.0 to libgtk-3 and libgdk-3, to prevent the
 | |
|   library versions from going backwards, compared to the 2.90/91/99
 | |
|   releases. Applications will have to be recompiled.
 | 
