[release-notes/gnome-3-12] fill out and elaborate the developers page some more
- From: Allan Day <allanday src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [release-notes/gnome-3-12] fill out and elaborate the developers page some more
- Date: Mon, 17 Mar 2014 19:02:29 +0000 (UTC)
commit ff27c67d0418957fc6145df467a6bcf91b588a1f
Author: Allan Day <allanpday gmail com>
Date: Mon Mar 17 19:02:06 2014 +0000
fill out and elaborate the developers page some more
help/C/developers.page | 74 +++++++++++++++++++++++++++++++++---------------
1 files changed, 51 insertions(+), 23 deletions(-)
---
diff --git a/help/C/developers.page b/help/C/developers.page
index d077503..5188c39 100644
--- a/help/C/developers.page
+++ b/help/C/developers.page
@@ -26,24 +26,25 @@
<section id="gtk-widgets">
<title>New GTK+ Widgets</title>
- <p>The GTK+ toolkit has three new interface widgets for 3.12:</p>
+ <p>The <app>GTK+</app> toolkit has three new interface widgets for 3.12:</p>
<list>
- <item><p>GtkActionBar: A new container, which has a centered child like GtkHeaderBar. This is intended
for use at the bottom of widgets for presenting actions for selected content.</p></item>
- <item><p>GtkPopover: A new widget that is can be used for transient views, as an alternative to menus
or dialogs.</p></item>
- <item><p>GtkFlowBox: A container that its children in a reflowing grid, which can be oriented
horizontally or vertically.</p></item>
+ <item><p><cmd>GtkActionBar</cmd>: A new container, which has a centered child like
<cmd>GtkHeaderBar</cmd>. This is intended for use at the bottom of widgets for presenting actions for
selected content.</p></item>
+ <item><p><cmd>GtkPopover</cmd>: A new widget that is can be used for transient views, as an
alternative to menus or dialogs.</p></item>
+ <item><p><cmd>GtkFlowBox</cmd>: A container that its children in a reflowing grid, which can be
oriented horizontally or vertically.</p></item>
</list>
</section>
<section id="notifications">
<title>Integrated Notifications API</title>
- <p>3.12 introduces a new API that adds notification support to GApplication. This replaces the existing
libnotify API, but can fall back to the org.freedesktop.Notifications D-Bus interface. The new API provides
many of libnotify's capabilities, plus some new ones, such as the ability for notifications to persist after
an application exits. It also makes it possible to restart an application when a notification is activated by
the user.</p>
- <p>More details on how to use the GNotification API can be found on the <link
href="https://wiki.gnome.org/HowDoI/GNotification">How Do I</link> page.</p>
+ <p>GNOME 3.12 includes a new notifications API. Included in <app>GIO</app> and called
<cmd>GNotification</cmd>, the new API replaces <cmd>libnotify</cmd>, so that developers no longer need to
link against it. (<cmd>GNotification</cmd> can fall back to the <cmd>org.freedesktop.Notifications</cmd>
<app>D-Bus</app> interface.)</p>
+ <p>The new API neatly integrates with <app>GTK+</app>, and works in conjunction with
<cmd>GApplication</cmd> and <cmd>GAction</cmd>. It provides many of <cmd>libnotify</cmd>'s capabilities plus
some new ones, such as the ability for notifications to persist after an application exits. It also makes it
possible to restart an application when a notification is activated by the user.</p>
+ <p>More details on how to use the <cmd>GNotification</cmd> API can be found on the <link
href="https://wiki.gnome.org/HowDoI/GNotification">How Do I</link> page.</p>
</section>
<section id="process-launching">
<title>Powerful New Process Launching API</title>
- <p>A new, more powerful process launching API is included in 3.12, called GSubprocess. The new API
allows the gapplication command line utility to be used for launching applications. Applications can be
instructed to open files, and application actions can also be triggered. It is also possible to list the
available applications and actions, and the command line utility comes complete with bash completion</p>
- <p>GApplication now also supports command line handling, including a convenient --gapplication-service
option.</p>
+ <p>A new, more powerful process launching API is included in 3.12, called <cmd>GSubprocess</cmd>. The
new API allows the <cmd>gapplication</cmd> command line utility to be used for launching applications.
Applications can be instructed to open files, and application actions can also be triggered. It is also
possible to list the available applications and actions, and the command line utility comes complete with
bash completion.</p>
+ <p><cmd>GApplication</cmd> now also supports command line handling, including the convenient
<cmd>--gapplication-service</cmd> option.</p>
</section>
<section id="docs">
@@ -53,40 +54,67 @@
<section id="portability">
<title>Enhanced Portability</title>
- <p>Improved portability for OpenBSD, Solaris.</p>
+ <p>Improved portability for <app>OpenBSD</app>, <app>Solaris</app>.</p>
</section>
<section id="tracker">
<title>Tracker</title>
<p><app>Tracker</app> the search engine, search tool and metadata storage system, comes with a long list
of improvements for 3.12:</p>
<list>
- <item><p>A new library called libmediaart has been created from Tracker code to handle art associated
with multimedia files. libmediaart allows art stored in media files to be cache, and provides a consistent
way to lookup art and reduce cache sizes for artists, albums and media items. (Note that it is not intended
to generate thumbnails to be confused with thumbnail generation which is usually for personal content (e.g.
photos taken).</p></item>
- <item><p>libtracker-control is another new library for 3.12, which manages search miners.</p></item>
+ <item><p>A new library called <cmd>libmediaart</cmd> has been created from <app>Tracker</app> code to
handle art associated with multimedia files. <cmd>libmediaart</cmd> allows art stored in media files to be
cache, and provides a consistent way to lookup art and reduce cache sizes for artists, albums and media
items. (Note that it is not intended to generate thumbnails to be confused with thumbnail generation which is
usually for personal content (e.g. photos taken).</p></item>
+ <item><p><cmd>libtracker-control</cmd> is another new library for 3.12, which manages search
miners.</p></item>
<item><p>The new passive extraction features allows specified metadata extraction (e.g. image
orientation) by listening to signals on resource changes. Previously inserting information about a resource
was done in one step. This feature means that now file data (e.g. file name, size, etc) is inserted even if
specific metadata isn't.</p></item>
<item><p>It is now possible to prioritize RDF types when indexing: this enables indexing to be tuned
and depending on the situation.</p></item>
- <item><p>The tracker:normalize() and tracker:unaccent() SPARQL functions are now supported.</p></item>
- <item><p>A new command called tracker-sparql --tree will display the database ontology and so help
developers to get a clear picture of the class hierarchy.</p></item>
+ <item><p>The <cmd>tracker:normalize()</cmd> and <cmd>tracker:unaccent()</cmd> <app>SPARQL</app>
functions are now supported.</p></item>
+ <item><p>A new command called <cmd>tracker-sparql --tree</cmd> will display the database ontology and
so help developers to get a clear picture of the class hierarchy.</p></item>
<item><p>Encoding detection is now supported for metadata with ICU.</p></item>
- <item><p><app>Tracker</app> store's GraphUpdated signal delay is now configurable. This signal is used
to provide notifications of resource changes in the database (e.g. new file added). Previously it was always
1 second.</p></item>
+ <item><p><app>Tracker</app> store's <cmd>GraphUpdated</cmd> signal delay is now configurable. This
signal is used to provide notifications of resource changes in the database (e.g. new file added). Previously
it was always one second.</p></item>
</list>
</section>
<section id="grilo-extensions">
<title>Grilo Extensions with Lua</title>
- <p>The updated Videos application includes a range of online video channels that users can browse,
search and view. Developers can easily add video channels of their own, with a simple extension
http://www.hadess.net/2014/02/extend-gnome-videos-with-lua.html</p>
+ <p>The <link href="https://wiki.gnome.org/Projects/Grilo">Grilo media discovery framework</link> now
allows online media sources to be added using <app>Lua</app>'s powerful yet simple pattern matching
abilities. More details, including examples, can be found in <link
href="http://www.hadess.net/2014/02/extend-gnome-videos-with-lua.html">Bastien Nocera's blog post on the
subject</link>.</p>
</section>
-Matured Client-Side Decorations
-height problems fixed, drag-by-touch working
+ <section id="csd">
+ <title>Mature Client-Side Decorations</title>
+ <p>Client-side decorations allow application windows to take over functions from the window manager.
These were first introduced last cycle, with the new <cmd>GtkHeaderBar</cmd> widget. Since then,
<cmd>GtkHeaderBar</cmd> has matured greatly. The widget now has a consistent height, and windows can now be
moved by dragging the header bar on touch devices. Header bacs can now also include application menus as well
as a variety of window controls in addition to the standard close button.</p>
+ </section>
+
+ <section id="pygobject">
+ <title>Improved Python Bindings</title>
+ <p>GNOME's <app>Python</app> bindings have been improved for 3.12:</p>
+ <list>
+ <item><p><app>Python</app> doc strings for functions now show accurate call signatures including
argument and return type information.</p></item>
+ <item><p>There is now an implicit <cmd>None</cmd> default for tail-end function arguments.</p></item>
+ <item><p>All callback connection functions now accept a variable number of user-data
arguments.</p></item>
+ <item><p>New demos show how to use <app>CSS</app> in <app>GTK+</app> from <app>Python</app>.</p></item>
+ <item><p>Calling <cmd>GObject.threads_init</cmd> is no longer required for multi-threaded
programming.</p></item>
+ </list>
+ <p>Additionally, there have been many memory and performance improvements.</p>
+ </section>
+
+ <section id="wayland">
+ <title>Wayland</title>
+ <p>A huge amount of progress has been made towards full <app>Wayland</app> integration for 3.12. This
includes the creation of a new <cmd>libinput</cmd> library and new functionality for login and session
management. Developers who are interested in <app>Wayland</app>, or who want to test their software in a
Wayland environment, can try the latest development work.</p>
+ <p>To run <cmd>gnome-shell</cmd> under <app>Wayland</app>, execute the following command in a
terminal:</p>
+ <p><cmd>gnome-session --session=gnome-wayland</cmd></p>
+ <p>It is also possible to run individual applications on Wayland by specifying the
<cmd>GDK_BACKEND</cmd>. Run the following command, substituting <input>application-name</input> for the name
of the application's executable:</p>
+ <p><cmd>GDK_BACKEND=wayland <input>application-name</input></cmd></p>
+ <p>If an application fails to run on Wayland, it will try to fall back to X11.</p>
+ <p>Further details about GNOME on Wayland can be found on the <link
href="https://wiki.gnome.org/Initiatives/Wayland">GNOME Wayland wiki page</link>.</p>
+ </section>
<section id="more">
<title>Other Improvements</title>
- <p>Unicode 6.3.0 support</p>
- <p>Most GTK+ containers draw backgrounds</p>
- <p>Model-based menus can hide items on various conditions</p>
- <p>GtkBox supports a centered child like GtkHeaderBar</p>
- <p>High DPI density displays are now supported in Clutter, using the same setting shared by GTK+ and the
GNOME Settings Daemon.</p>
- <p>GtkHeaderBar - improved compatibility with different environments. </p>
+ <p>Other improvements for developers and sysadmins in 3.12 include:</p>
+ <list>
+ <item><p>Most GTK+ containers draw backgrounds.</p></item>
+ <item><p>Model-based menus can now hide items based on specified conditions.</p></item>
+ <item><p>GtkBox now supports a centered child, in the same way as GtkHeaderBar.</p></item>
+ <item><p>High DPI density displays are now supported in Clutter, using the same setting shared by GTK+
and the GNOME Settings Daemon.</p></item>
+ </list>
</section>
</page>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]