]> Pileus Git - ~andy/gtk/blobdiff - README.in
Finnish translation update by Jiri Grönroos
[~andy/gtk] / README.in
index e2084bbc0f31fc666757a2c72cfffa25aea6ae2a..c10587d457d811fa7bafc60f3bc99f9c88be80ba 100644 (file)
--- a/README.in
+++ b/README.in
@@ -11,14 +11,15 @@ 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 ftp site is:
+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/mailinglists.html
+  http://www.gtk.org/mailing-lists.php
 
 
 Installation
@@ -27,434 +28,143 @@ Installation
 See the file 'INSTALL'
 
 
-Release notes for 2.20
-======================
-
-* GtkStatusbar now has a message area (see gtk_status_bar_get_message_area)
-  which makes it easy to place additional widgets inside the statusbar
-  frame or to replace the label widgets. Previously, this was only possible
-  by accessing the innards of the statusbar widget directly. Applications
-  which are doing so may need some adjustments, since the addition of the
-  message area changed the internal widget hierarchy.
-
-* GtkBuilder no longer sets the "name" property of widgets to the ID
-  attribute of the <object>. Use gtk_buildable_get_name() instead of
-  gtk_widget_get_name() to obtain the ID.
-
-* GTK+ now includes introspection data, as a consequence, it gained a
-  dependency on gobject-introspection. It is possible to build without
-  introspection by passing --disable-introspection to configure.
-
-
-Release notes for 2.18
-======================
-
-* gtk_tooltip_set_custom now accept a NULL custom_widget to unset the
-  old custom_widget. Custom_widget does not get destroyed when the
-  tooltip goes away.
-
-* JPEG2000 support is no longer enabled by default. It must be
-  explicitly turned on, by passing --with-libjasper to configure.
-
-* GDK has been reworked to implement 'client-side windows'. This offers
-  exciting new possibilities, such as transformed, offscreen rendering,
-  but it breaks some long-standing assumptions that applications may
-  have about GDK windows. Setting the environment variable
-  GDK_NATIVE_WINDOWS makes GDK create a native X11 window for each
-  GDK window, which might make problematic applications work better.
-
-* GTK+ calls signal (SIGPIPE, SIG_IGN) during initialization, to ignore
-  SIGPIPE signals, since these are almost never wanted in graphical
-  applications. If you do need to handle SIGPIPE for some reason, reset
-  the handler after gtk_init(), but notice that other libraries (e.g.
-  libdbus or gvfs) might do similar things.
-
-Release notes for 2.16
-======================
-
-* Password entries now display a caps-lock warning. This can be turned off
-  with the caps-lock-warning property.
-
-* Various orientation-related functions have been deprecated in favour
-  of the new GtkOrientable interface: gtk_scale_button_get_orientation,
-  gtk_scale_button_set_orientation, gtk_toolbar_set_orientation.
-
-* The action-proxy interaction has been changed. Widgets that operate as
-  proxies have to implement the GtkActivatable interface now. GtkActivatable
-  implementation are responsible for syncing their appearance with the
-  action and for activating the action. All GTK+ widgets that are commonly
-  used as proxies implement the GtkActivatable interface.
-
-* The handling of keyboard shortcuts has been changed, to help with a
-  longstanding complaint about the way GTK+ handles multiple layouts. GTK+
-  now only uses keys from groups other than the current group if they are
-  not present in the current group.
-
-Release notes for 2.14
-======================
-
-* gtkitemfactory.h is now completely deprecated.
-  As gtkactiongroup.h and gtkstock.h no longer include the gtkitemfactory.h
-  header, this might break application using gtk_item_factory_* symbols
-  without including gtkitemfactory.h - even though this behaviour has never
-  been supported in the first place.
-
-* The GtkFileSystem semi-private interface has been removed.
-  The GTK+ filechooser implementation now uses GIO directly, which has
-  rendered external filesystem implementations unnecessary. Consequently,
-  the GtkFileSystem interface is no longer available, nor the filechooser
-  will load any GtkFileSystem implementation.
-
-* GtkComboBox now renders the popdown button insensitive when
-  the model is empty. Applications which want to populate the list
-  only before displaying it can set gtk_combo_box_set_button_sensitivity
-  to GTK_SENSITIVITY_ON, so that the button is always sensitive or
-  GTK_SENSITIVITY_OFF to make it insensitive respectively.
-
-* GtkAdjustment now enforces that values are restricted to the
-  range [lower, upper - page_size]. This has always been the documented
-  behaviour, and the recommended practice is to set page_size to 0
-  when using adjustments for simple scalar values, like in a slider
-  or spin button.
-
-* gdk-pixbuf will use GIO for mime type detection if possible. For
-  this to work, shared-mime-info needs to be installed and XDG_DATA_DIRS
-  set accordingly at configure time. Otherwise, gdk-pixbuf falls
-  back to its built-in sniffing implementation.
-
-Release notes for 2.12
-======================
-
-* gtk_about_dialog_get/set_name() were deprecated in favour of
-  gtk_about_dialog_get/set_program_name(), the GtkAboutDialog now uses the
-  "program-name" property instead of the conflicting "name" property.
-
-* The gdk-pixbuf tiff loader now requires libtiff 3.6.0 or later.
-
-* Support for Windows 9x/ME has officially been removed. It hasn't worked
-  since 2.6 anyway.
-
-* The GtkTextBufferTargetInfo enumeration values have been changed from
-  G_MAXUINT-0, G_MAXUINT-1, G_MAXUINT-2, etc, to -1, -2, -3 to stay within
-  ANSI C limits.
-
-* A change in the handling of _NET_WM_USER_TIME properties on toplevel
-  windows can cause deadlock problems with window managers that are using
-  GDK for drawing decorations. In particular, metacity <= 2.18.0 is affected
-  by this. The problem has been fixed in metacity 2.18.1.
-
-* Semi-private GtkTextLayout api has changed: new GtkTextLayout method
-  invalidate_cursors(), and new functions gtk_text_layout_invalidate_cursors()
-  and gtk_text_layout_cursors_changed(), which should be used in place of
-  gtk_text_layout_invalidate() and gtk_text_layout_changed() if invalidation
-  is due to marks moved or changed selection; new GtkTextLineDisplay structure
-  member. Source compatibility is preserved; binary compatibility may break
-  only if GtkTextLineDisplay structure was created on stack or as a part
-  of another structure (in particular GnomeCanvas and its clones do not need
-  recompiling).
-
-* Another new signal has been added to GtkNotebook. The new signal
-  is called create-window, so this name can no longer be used for signals
-  in objects derived from GtkNotebook.
-
-* The gtk_notebook_set/get_group_id() functions were found to be insufficient
-  and have been deprecated in favour of gtk_notebook_set/get_group().
-
-* The move-focus signal has been moved to GtkWidget, to unify the 
-  various implementations of this signal in specific widgets. Great care 
-  has been taken to make sure that all code using this signal continues
-  to work.
-
-* An unused and hardly visible GtkFrame has been removed from the menu 
-  widget hierarchy when GtkComboBox::appears-as-list style property is 
-  set. Any RC file applying a different style to any widget below the 
-  widget path "gtk-combobox-popup-window.GtkFrame" should take into 
-  account that the frame no longer exists.
-
-* The external print preview application used by GtkPrintOperationPreview 
-  is now passed the print settings on the command line with the 
-  --print-settings parameter pointing to a temp file containing the 
-  settings. The preview application assumes ownership of the file and 
-  should delete it once it does not need it anymore. The --print-settings 
-  commandline option is understood by Evince 0.9.0 and newer. To use a 
-  different print preview application, change the gtk-print-preview-command 
-  setting in your gtkrc file, e.g. gtk-print-preview-command = "ggv %f"
-
-* GtkMenuShell is now defined as an abstract type. It was already 
-  documented as an abstract class, and there is little reason to 
-  instantiate it.
-
-* The GtkTooltips struct (this is the old tooltips API) is now considered
-  private. Code that used to access this struct, in particular the
-  tips_data_list field, will need to change. All of the old tooltips
-  API has been deprecated in favour of a new implementation and
-  API. This affects all of the gtk_tooltips_ functions, and functions 
-  which take a GtkTooltips argument, such as gtk_tool_item_set_tooltip()
-  and gtk_menu_tool_button_set_arrow_tooltip().
-  
-* The memory management of the GtkRecentManager object has been changed,
-  as using the screen didn't guarantee that the singleton instance was
-  correctly destroyed. The screen-related functions have been deprecated,
-  and should not be used anymore; the GtkRecentManager instance returned by
-  the gtk_recent_manager_get_default() function is guaranteed to be valid
-  for the entire lifetime of an application.
-
-* A number of interfaces that have been superseded by newer interfaces for 
-  a long time have finally been deprecated. This includes 
-  gtk_widget_ref/unref(), gtk_rc_style_ref/unref() and the old file selector.
-
-* The various coordinate systems in use in GtkTreeView widgets have
-  been clarified in the documentation, and in the cause of doing so, 
-  the functions gtk_tree_view_widget_to_tree_coords() and
-  gtk_tree_view_tree_to_widget_coords() have been deprecated in 
-  favour of a new family of gtk_tree_view_convert_ functions.
-
-* gtk_menu_item_remove_submenu() has been deprecated in favour of
-  gtk_menu_item_set_submenu (..., NULL).
-
-* gtk_default_draw_check() has been fixed to really decrease the
-  indicator size by one pixel to ensure an odd size instead of
-  accidentially increasing it.
-  Consequently, gtk_cell_renderer_toggle_render() could be fixed to
-  not subtract 1 from the size passed to gtk_paint_option(), which
-  was just a workaround for above off-by-two for even sizes (theme
-  engines now get the real indicator size passed).
-  The default toggle size of GtkCheckMenuItem and GtkCellRendererToggle
-  has been changed to 13 to be consistent with GtkCheckButton.
-  The only visible change with default settings is that the indicator in
-  GtkCellRendererToggle has changed its size from 11 to 13 and is now
-  consistent with menus and toggle buttons.
-
-* GTK+ has always required that gtk_init() (or a variant thereof) is
-  called before any other GTK+ function. Some applications call functions
-  like gtk_clipboard_get() to check if they need to call gtk_init(),
-  anyway. A change in GLib 2.14 has recently broken this unsupported
-  practise. It is worth pointing out that calling gtk_init() twice
-  does no harm.
-
-
-Release notes for 2.10
-======================
-
-* The hexadecimal Unicode input feature has been reworked. It no longer
-  blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
-  it only uses Ctrl-Shift-u.
-
-* A memory leak in GtkStyle handling has been fixed. This may expose bugs
-  in third-party widgets which forget to call gtk_style_attach() in their
-  realize functions.
-
-* Range widgets like GtkScrollbar now render their arrows insensitive
-  when the slider is at the end. Applications which react to arrow
-  clicks even if the slider is at the end may want to use the new
-  gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
-  prevent the arrows from being rendered insensitive.
-
-* GtkObject now uses the "floating reference" support in GObject. 
-  GTK_OBJECT_IS_FLOATING() will still work, but direct checking
-  of the GTK_FLOATING flag will no longer detect the floating 
-  reference. Details about floating references can be found in the docs:
-  http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#floating-ref
-
-* Accelerators like (_F) are now stripped from labels when they are 
-  displayed in toolbars. If this is not wanted, the feature can be 
-  suppressed by inserting a Unicode control character, e.g ZWNJ.
-
-* The pixbuf theme engine can now customize expanders (in GtkTreeView
-  and GtkExpander) and resize grips, using the new EXPANDER and
-  RESIZE_GRIP function values.
-
-* Dialogs created by gtk_about_dialog_new() no longer hide automatically
-  when the user clicks close. It is the applications responsibility to
-  hide or destroy the dialog.
-
-* Several new signals have been added to GtkNotebook. Care has been taken
-  to choose signal names which do not collide with signals added by well-known
-  derived classes. The names which can no longer be used for signals in 
-  objects derived from GtkNotebook are page-reordered, page-removed and
-  page-added.
-
-* Due to the interface changes in the file chooser backend interface, 
-  the GTK+ ABI version has been bumped to 2.10.0. Third-party filesystem 
-  backends have to be ported to the new interface, other modules, such as 
-  theme engines, input method modules or pixbuf loaders have to be rebuilt 
-  so that they are installed in the right place for GTK+ to find them.
-
-
-Release notes for 2.8
-=====================
+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:
 
-* GTK+ 2.8 and Pango 1.10 require the cairo library.
+   - What operating system and version
+   - For Linux, what version of the C library
 
-* The default theme has been renamed to "Raleigh". Existing configurations
-  specifying the "Default" theme name should still work.
+  And anything else you think is relevant.
 
-* The GtkTreeView::enable-search property has been changed to control
-  only typeahead search, not the C-f keybinding to start an interactive
-  search. To turn off interactive searching completely, you have to
-  set GtkTreeView::search-column to -1.
+* How to reproduce the bug.
 
-* The restriction on using the same cell renderer in multiple columns
-  of a GtkTreeView is now more strictly enforced.
+  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.
 
-* In GTK+ 2.8, GtkCalendar uses nl_langinfo() (if available) to determine
-  the first day of the week. Thus, it is possible to select the first day
-  of the week independently from the language, by setting LC_TIME.
+* If the bug was a crash, the exact text that was printed out
+  when the crash occured.
 
-* In GTK+ 2.8, the gtk-update-icon-cache utility includes image data
-  in the icon caches, which will make the icon cache files larger than
-  the one produced by GTK+ 2.6. This change will reduce the memory
-  overhead of icon themes at runtime, since all GTK+ applications can
-  share the image data in memory.
+* Further information such as stack traces may be useful, but
+  is not necessary.
 
-* In 2.8, GDK emits GdkEventGrabBroken events when a keyboard or pointer
-  grab is broken. On X11, this can happen if the same application grabs
-  again, or if the window used for the grab becomes unviewable. It happens
-  more often on Win32. Applications which use grabs should pay attention
-  to these events and do the necessary cleanups when the grab is lost.
-* The GIOChannel code for sockets on win32 has been rewritten.
-  Applications who make non-trivial use of GIOChannels on win32 should
-  be watched for possible problems.
 
-* GLib 2.8 uses atomic operations to implement reference counting, thus
-  g_object_ref/unref, g_closure_ref/sink/unref and g_iochannel_ref/unref
-  can be used without locking in multithreaded applications. Note that
-  other modifications, like concurrent setting of properties still require
-  locking.
+Patches
+=======
 
-* g_convert() and related character set conversion functions have been
-  fixed to emit pending shift states and to not cache iconv descriptors
-  across multiple calls, since that is problematic for some encodings.
-  Note that these functions are not suitable for streaming conversions;
-  use g_iconv() to do streaming conversion.
+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.
 
-Release notes for 2.6
+Patches should be in unified diff form. (The -up option to GNU diff.)
+
+Release notes for 3.8
 =====================
 
-* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
-  a clipboard manager following the specification at
-  http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
-  must be running. A sample implementation of such a clipboard manager
-  is available at 
-  http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
-  Applications can use the function gdk_display_supports_clipboard_persistence() 
-  to find out if clipboard persistence is available.
-
-* Notification on clipboard ownership changes via GdkOwnerChange events 
-  requires the XFIXES X extension. Applications can use the function
-  gdk_display_supports_selection_notification() to find out if ownerchip
-  change notification is available.
-
-* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme 
-  specification. Setting the XDG_DATA_DIRS environtment variable may be 
-  necessary if your icons aren't installed in the default location 
-  /usr/share/icons.
-
-* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
-  to avoid a lot of disk searching overhead. GTK+ includes a utility named
-  gtk-update-icon-cache to generate these cache files. For further details,
-  see the gtk-update-icon-cache man page or the GTK+ documentation.
-
-* To reduce code size and improve efficiency, GTK+, when compiled 
-  with the GNU toolchain, has separate internal and external entry 
-  points for exported functions. The internal names, which begin with 
-  IA__, may be seen when debugging a GTK+ program.
-
-* The following functions have been deprecated in GTK+ 2.6:
-  gdk_pango_context_set_colormap
-  gtk_cell_renderer_editing_canceled
-
-* The new GtkFileChooser widget emphasizes simplicity and thus does 
-  not provide a navigation entry by default when opening files. 
-  Experienced command line users will likely want to make heavy use of
-  the location dialog brought up by the Control-L key shortcut.
-
-* The GTK+ libraries use an '_' prefix to indicate private symbols that
-  must not be used by applications. On some platforms, symbols beginning 
-  with prefixes such as _gtk, _gdk, and _pango will be exported
-  from the library, on others not. In no case can applications
-  use these private symbols. In addition to that, GTK+ 2.6 makes several
-  symbols private which were not in any installed header files and
-  were never intended to be exported.
-
-* The gdk_pixbuf_xlib library included in the contrib/ directory 
-  and the framebuffer GDK backend included in the gdk/linux-fb directory
-  of GTK+ are provided on an as-is basis and have not been tested at all. 
-  No guarantees about the degree of workingness or about future
-  compatibility are provided.
-
-* On Unix, the assumption of GLib and GTK+ by default is that filenames on 
-  the filesystem are encoded in UTF-8 rather than the encoding of the locale;
-  the GTK+ developers consider that having filenames whose interpretation
-  depends on the current locale is fundamentally a bad idea.
-
-  If you have filenames encoded in the encoding of your locale, then you 
-  may want to set the G_FILENAME_ENCODING environment variable:
-  
-   G_FILENAME_ENCODING=@locale
-   export G_FILENAME_ENCODING
-
-  (Earlier versions of GLib 2.x required a different environment variable
-  setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this 
-  is still supported, but G_FILENAME_ENCODING is preferred.)
-  Best integration of GTK+ 2.6 with the environment is achieved by 
-  using a UTF-8 locale.
-
-  On Windows, filenames passed to GTK+ should always be in UTF-8, as
-  in GLib 2.6. This is different than in previous versions of GTK+
-  where the system codepage was used. As in GLib, for DLL ABI
-  stability, applications built against previous versions of GTK+ will
-  use entry points providing the old semantics.
-
-  When compiling against GTK+ 2.6, applications intended to be
-  portable to Windows must take the UTF-8 file name encoding into
-  consideration, and use the gstdio wrappers to access files whose 
-  names have been constructed from strings returned from GTK+ or GLib.
+* 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
+=====================
 
-How to report bugs
-==================
+* 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
+=====================
 
-Bugs should be reported to the GNOME bug tracking system.
-(http://bugzilla.gnome.org, product gtk+.) You will need to create an
-account for yourself.
-  
-In the bug report please include:
-  
-* Information about your system. For instance:
+* 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.
 
-   - What operating system and version
-   - What version of X
-   - For Linux, what version of the C library
+* 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.
 
-  And anything else you think is relevant.
+* The tacit assumption that the Alt key corresponds to the MOD1
+  modifier under X11 is now a hard requirement.
 
-* How to reproduce the bug. 
+* The beagle search backend for the file chooser has been dropped.
+  Tracker is the only supported search backend on Linux now.
 
-  If you can reproduce it with one of the tests or demos built with GTK+, 
-  such as demos/gtk-demo/gtk-demo, that would 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.
+* 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.
 
-* If the bug was a crash, the exact text that was printed out when the
-  crash occured.
+* GtkApplication no longer uses the gtk mainloop wrappers, so
+  it is no longer possible to use gtk_main_quit() to stop it.
 
-* Further information such as stack traces may be useful, but is not
-  necessary. If you do send a stack trace, and the error is an X error,
-  it will be more useful if the stacktrace is produced running the test
-  program with the --sync command line option.
+* 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.
 
-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.
+Release notes for 3.2
+=====================
 
-Otherwise, enter a new bug report that describes the patch, and attach
-the patch to that bug report.
+* 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.
 
-Patches should be in unified diff form. (The -up option to GNU diff.)
+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.